fix: save columns reference from sqllab save datasets flow (#24248)

This commit is contained in:
Hugh A. Miles II
2023-06-20 13:54:19 -04:00
committed by GitHub
parent fdef9cbc96
commit 93e1db4bd9
37 changed files with 489 additions and 202 deletions

View File

@@ -27,6 +27,7 @@ from sqlalchemy import select
from sqlalchemy.sql import sqltypes
from sqlalchemy_bigquery import BigQueryDialect
from superset.superset_typing import ResultSetColumnType
from tests.unit_tests.db_engine_specs.utils import assert_convert_dttm
from tests.unit_tests.fixtures.common import dttm
@@ -64,7 +65,16 @@ def test_get_fields() -> None:
"""
from superset.db_engine_specs.bigquery import BigQueryEngineSpec
columns = [{"name": "limit"}, {"name": "name"}, {"name": "project.name"}]
columns: list[ResultSetColumnType] = [
{"column_name": "limit", "name": "limit", "type": "STRING", "is_dttm": False},
{"column_name": "name", "name": "name", "type": "STRING", "is_dttm": False},
{
"column_name": "project.name",
"name": "project.name",
"type": "STRING",
"is_dttm": False,
},
]
fields = BigQueryEngineSpec._get_fields(columns)
query = select(fields)
@@ -84,8 +94,9 @@ def test_select_star(mocker: MockFixture) -> None:
"""
from superset.db_engine_specs.bigquery import BigQueryEngineSpec
cols = [
cols: list[ResultSetColumnType] = [
{
"column_name": "trailer",
"name": "trailer",
"type": sqltypes.ARRAY(sqltypes.JSON()),
"nullable": True,
@@ -94,8 +105,10 @@ def test_select_star(mocker: MockFixture) -> None:
"precision": None,
"scale": None,
"max_length": None,
"is_dttm": False,
},
{
"column_name": "trailer.key",
"name": "trailer.key",
"type": sqltypes.String(),
"nullable": True,
@@ -104,8 +117,10 @@ def test_select_star(mocker: MockFixture) -> None:
"precision": None,
"scale": None,
"max_length": None,
"is_dttm": False,
},
{
"column_name": "trailer.value",
"name": "trailer.value",
"type": sqltypes.String(),
"nullable": True,
@@ -114,8 +129,10 @@ def test_select_star(mocker: MockFixture) -> None:
"precision": None,
"scale": None,
"max_length": None,
"is_dttm": False,
},
{
"column_name": "trailer.email",
"name": "trailer.email",
"type": sqltypes.String(),
"nullable": True,
@@ -124,6 +141,7 @@ def test_select_star(mocker: MockFixture) -> None:
"precision": None,
"scale": None,
"max_length": None,
"is_dttm": False,
},
]