mirror of
https://github.com/apache/superset.git
synced 2026-04-19 08:04:53 +00:00
fix: add connection testing params for snowflake (#9272)
* fix: add connection testingt params for snowflake * Linting
This commit is contained in:
@@ -14,9 +14,10 @@
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
from sqlalchemy import column
|
||||
import json
|
||||
|
||||
from superset.db_engine_specs.snowflake import SnowflakeEngineSpec
|
||||
from superset.models.core import Database
|
||||
from tests.db_engine_specs.base_tests import DbEngineSpecTestCase
|
||||
|
||||
|
||||
@@ -24,16 +25,21 @@ class SnowflakeTestCase(DbEngineSpecTestCase):
|
||||
def test_convert_dttm(self):
|
||||
dttm = self.get_dttm()
|
||||
|
||||
self.assertEqual(
|
||||
SnowflakeEngineSpec.convert_dttm("DATE", dttm), "TO_DATE('2019-01-02')"
|
||||
)
|
||||
test_cases = {
|
||||
"DATE": "TO_DATE('2019-01-02')",
|
||||
"DATETIME": "CAST('2019-01-02T03:04:05.678900' AS DATETIME)",
|
||||
"TIMESTAMP": "TO_TIMESTAMP('2019-01-02T03:04:05.678900')",
|
||||
}
|
||||
|
||||
self.assertEqual(
|
||||
SnowflakeEngineSpec.convert_dttm("DATETIME", dttm),
|
||||
"CAST('2019-01-02T03:04:05.678900' AS DATETIME)",
|
||||
)
|
||||
for type_, expected in test_cases.items():
|
||||
self.assertEqual(SnowflakeEngineSpec.convert_dttm(type_, dttm), expected)
|
||||
|
||||
self.assertEqual(
|
||||
SnowflakeEngineSpec.convert_dttm("TIMESTAMP", dttm),
|
||||
"TO_TIMESTAMP('2019-01-02T03:04:05.678900')",
|
||||
def test_database_connection_test_mutator(self):
|
||||
database = Database(sqlalchemy_uri="snowflake://abc")
|
||||
SnowflakeEngineSpec.mutate_db_for_connection_test(database)
|
||||
engine_params = json.loads(database.extra or "{}")
|
||||
|
||||
self.assertDictEqual(
|
||||
{"engine_params": {"connect_args": {"validate_default_parameters": True}}},
|
||||
engine_params,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user