This commit is contained in:
Kamil Breguła 2024-05-05 02:06:49 -03:00 committed by GitHub
commit 291021722b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 26 additions and 0 deletions

View File

@ -16,6 +16,7 @@
# under the License.
import json
import logging
import os
import re
from datetime import datetime
from re import Pattern
@ -274,6 +275,7 @@ class SnowflakeEngineSpec(PostgresBaseEngineSpec):
query={
"role": parameters.get("role"),
"warehouse": parameters.get("warehouse"),
"application": os.environ.get("SF_PARTNER", "SUPERSET"),
},
)
)

View File

@ -147,6 +147,30 @@ def test_cancel_query_failed(engine_mock: mock.Mock) -> None:
assert SnowflakeEngineSpec.cancel_query(cursor_mock, query, "123") is False
def test_build_sqlalchemy_uri() -> None:
from superset.db_engine_specs.snowflake import (
SnowflakeEngineSpec,
SnowflakeParametersType,
)
parameters: SnowflakeParametersType = {
"username": "test-username",
"password": "test-password",
"account": "test-account",
"database": "test-database",
"role": "test-role",
"warehouse": "test-warehouse",
}
assert SnowflakeEngineSpec.build_sqlalchemy_uri(parameters) == (
"snowflake://test-username:test-password@test-account/test-database?"
"role=test-role&warehouse=test-warehouse&application=SUPERSET"
)
with mock.patch.dict("os.environ", SF_PARTNER="PARTNER"):
assert SnowflakeEngineSpec.build_sqlalchemy_uri(parameters) == (
"snowflake://test-username:test-password@test-account/test-database?"
"role=test-role&warehouse=test-warehouse&application=PARTNER"
)
def test_get_extra_params(mocker: MockerFixture) -> None:
"""
Test the ``get_extra_params`` method.