datahub/metadata-ingestion/tests/unit/test_clickhouse_source.py
liyuhui666 0481075705
fix(ingest): Fix ingest Clickhouse without password (#5511)
* fix(ingest): Fix ingest Clickhouse without password

Co-authored-by: Ravindra Lanka <rlanka@acryl.io>
2022-08-09 10:30:56 -07:00

63 lines
1.6 KiB
Python

from datahub.ingestion.source.sql.clickhouse import ClickHouseConfig
def test_clickhouse_uri_https():
config = ClickHouseConfig.parse_obj(
{
"username": "user",
"password": "password",
"host_port": "host:1111",
"database": "db",
"protocol": "https",
}
)
assert (
config.get_sql_alchemy_url()
== "clickhouse://user:password@host:1111/db?protocol=https"
)
def test_clickhouse_uri_native():
config = ClickHouseConfig.parse_obj(
{
"username": "user",
"password": "password",
"host_port": "host:1111",
"scheme": "clickhouse+native",
}
)
assert config.get_sql_alchemy_url() == "clickhouse+native://user:password@host:1111"
def test_clickhouse_uri_native_secure():
config = ClickHouseConfig.parse_obj(
{
"username": "user",
"password": "password",
"host_port": "host:1111",
"database": "db",
"scheme": "clickhouse+native",
"secure": True,
}
)
assert (
config.get_sql_alchemy_url()
== "clickhouse+native://user:password@host:1111/db?secure=true"
)
def test_clickhouse_uri_default_password():
config = ClickHouseConfig.parse_obj(
{
"username": "user",
"host_port": "host:1111",
"database": "db",
"scheme": "clickhouse+native",
}
)
assert config.get_sql_alchemy_url() == "clickhouse+native://user:@host:1111/db"