feat(clickhouse): allow dynamic schema (#32610)

This commit is contained in:
Le Xich Long
2025-06-10 06:18:05 +08:00
committed by GitHub
parent 3a3984006c
commit fc7ba060c1
2 changed files with 39 additions and 0 deletions

View File

@@ -20,6 +20,7 @@ from typing import Any, Optional
from unittest.mock import Mock
import pytest
from sqlalchemy.engine.url import make_url
from sqlalchemy.types import (
Boolean,
Date,
@@ -225,3 +226,26 @@ def test_connect_make_label_compatible(column_name: str, expected_result: str) -
label = spec.make_label_compatible(column_name)
assert label == expected_result
@pytest.mark.parametrize(
"schema, expected_result",
[
(None, "clickhousedb+connect://localhost:443/__default__"),
(
"new_schema",
"clickhousedb+connect://localhost:443/new_schema",
),
],
)
def test_adjust_engine_params_fully_qualified(
schema: str, expected_result: str
) -> None:
from superset.db_engine_specs.clickhouse import (
ClickHouseConnectEngineSpec as spec, # noqa: N813
)
url = make_url("clickhousedb+connect://localhost:443/__default__")
uri = spec.adjust_engine_params(url, {}, None, schema)[0]
assert str(uri) == expected_result