Skip to content

Commit

Permalink
replace underscores with hyphens in account ids (#1067)
Browse files Browse the repository at this point in the history
* replace underscores with hyphens in account ids

* fix unit test fixtures

* add changie
  • Loading branch information
colin-rogers-dbt authored Jun 6, 2024
1 parent 4ff6bdb commit cc13888
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 18 deletions.
6 changes: 6 additions & 0 deletions .changes/unreleased/Features-20240604-154856.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
kind: Features
body: Replace underscores with hyphens in account IDs to prevent SSL issues
time: 2024-06-04T15:48:56.845374-07:00
custom:
Author: colin-rogers-dbt
Issue: "1068"
1 change: 1 addition & 0 deletions dbt/adapters/snowflake/connections.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ def __post_init__(self):
base_msg="Authenticator is not set to oauth, but an oauth-only parameter is set! Did you mean to set authenticator: oauth?"
)
)
self.account = self.account.replace("_", "-")

@property
def type(self):
Expand Down
13 changes: 13 additions & 0 deletions tests/unit/test_connections.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,16 @@ def test_connections_does_not_set_logs_in_response_to_env_var(monkeypatch):

assert log_mock.debug.call_count == 0
assert log_mock.set_adapter_dependency_log_level.call_count == 0


def test_connnections_credentials_replaces_underscores_with_hyphens():
credentials = {
"account": "account_id_with_underscores",
"user": "user",
"password": "password",
"database": "database",
"warehouse": "warehouse",
"schema": "schema",
}
creds = connections.SnowflakeCredentials(**credentials)
assert creds.account == "account-id-with-underscores"
36 changes: 18 additions & 18 deletions tests/unit/test_snowflake_adapter.py
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ def test_client_session_keep_alive_false_by_default(self):
self.snowflake.assert_has_calls(
[
mock.call(
account="test_account",
account="test-account",
autocommit=True,
client_session_keep_alive=False,
database="test_database",
Expand All @@ -305,7 +305,7 @@ def test_client_session_keep_alive_true(self):
self.snowflake.assert_has_calls(
[
mock.call(
account="test_account",
account="test-account",
autocommit=True,
client_session_keep_alive=True,
database="test_database",
Expand All @@ -332,7 +332,7 @@ def test_client_has_query_tag(self):
self.snowflake.assert_has_calls(
[
mock.call(
account="test_account",
account="test-account",
autocommit=True,
client_session_keep_alive=False,
database="test_database",
Expand Down Expand Up @@ -366,7 +366,7 @@ def test_user_pass_authentication(self):
self.snowflake.assert_has_calls(
[
mock.call(
account="test_account",
account="test-account",
autocommit=True,
client_session_keep_alive=False,
database="test_database",
Expand Down Expand Up @@ -397,7 +397,7 @@ def test_authenticator_user_pass_authentication(self):
self.snowflake.assert_has_calls(
[
mock.call(
account="test_account",
account="test-account",
autocommit=True,
client_session_keep_alive=False,
database="test_database",
Expand Down Expand Up @@ -428,7 +428,7 @@ def test_authenticator_externalbrowser_authentication(self):
self.snowflake.assert_has_calls(
[
mock.call(
account="test_account",
account="test-account",
autocommit=True,
client_session_keep_alive=False,
database="test_database",
Expand Down Expand Up @@ -461,7 +461,7 @@ def test_authenticator_oauth_authentication(self):
self.snowflake.assert_has_calls(
[
mock.call(
account="test_account",
account="test-account",
autocommit=True,
client_session_keep_alive=False,
database="test_database",
Expand Down Expand Up @@ -499,7 +499,7 @@ def test_authenticator_private_key_authentication(self, mock_get_private_key):
self.snowflake.assert_has_calls(
[
mock.call(
account="test_account",
account="test-account",
autocommit=True,
client_session_keep_alive=False,
database="test_database",
Expand Down Expand Up @@ -533,7 +533,7 @@ def test_authenticator_private_key_authentication_no_passphrase(self, mock_get_p
self.snowflake.assert_has_calls(
[
mock.call(
account="test_account",
account="test-account",
autocommit=True,
client_session_keep_alive=False,
database="test_database",
Expand Down Expand Up @@ -562,7 +562,7 @@ def test_query_tag(self):
self.snowflake.assert_has_calls(
[
mock.call(
account="test_account",
account="test-account",
autocommit=True,
client_session_keep_alive=False,
database="test_database",
Expand Down Expand Up @@ -592,7 +592,7 @@ def test_reuse_connections_with_keep_alive(self):
self.snowflake.assert_has_calls(
[
mock.call(
account="test_account",
account="test-account",
autocommit=True,
client_session_keep_alive=True,
database="test_database",
Expand Down Expand Up @@ -626,7 +626,7 @@ def test_authenticator_private_key_string_authentication(self, mock_get_private_
self.snowflake.assert_has_calls(
[
mock.call(
account="test_account",
account="test-account",
autocommit=True,
client_session_keep_alive=False,
database="test_database",
Expand Down Expand Up @@ -662,7 +662,7 @@ def test_authenticator_private_key_string_authentication_no_passphrase(
self.snowflake.assert_has_calls(
[
mock.call(
account="test_account",
account="test-account",
autocommit=True,
client_session_keep_alive=False,
database="test_database",
Expand Down Expand Up @@ -907,7 +907,7 @@ class TestSnowflakeAdapterCredentials(unittest.TestCase):

def test_private_key_string(self):
creds = SnowflakeCredentials(
account="test_account",
account="test-account",
user="test_user",
database="test_database",
schema="public",
Expand All @@ -917,7 +917,7 @@ def test_private_key_string(self):

def test_private_key_string_encrypted(self):
creds = SnowflakeCredentials(
account="test_account",
account="test-account",
user="test_user",
database="test_database",
schema="public",
Expand All @@ -928,7 +928,7 @@ def test_private_key_string_encrypted(self):

def test_malformed_private_key_string(self):
creds = SnowflakeCredentials(
account="test_account",
account="test-account",
user="test_user",
database="test_database",
schema="public",
Expand All @@ -938,7 +938,7 @@ def test_malformed_private_key_string(self):

def test_invalid_private_key_string(self):
creds = SnowflakeCredentials(
account="test_account",
account="test-account",
user="test_user",
database="test_database",
schema="public",
Expand All @@ -948,7 +948,7 @@ def test_invalid_private_key_string(self):

def test_invalid_private_key_path(self):
creds = SnowflakeCredentials(
account="test_account",
account="test-account",
user="test_user",
database="test_database",
schema="public",
Expand Down

0 comments on commit cc13888

Please sign in to comment.