From 43e1c7eb3fad63c8f7f7ae0165d197153f939183 Mon Sep 17 00:00:00 2001 From: Christopher Bonilla Date: Thu, 6 Feb 2025 10:29:05 +0100 Subject: [PATCH 1/2] fix: proper cred loading for Databricks client_id field may be empty string, improved check to account for this JIRA: LX-691 risk: low --- .../catalog/data_source/declarative_model/data_source.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/declarative_model/data_source.py b/gooddata-sdk/gooddata_sdk/catalog/data_source/declarative_model/data_source.py index d9e04a759..da5272f73 100644 --- a/gooddata-sdk/gooddata_sdk/catalog/data_source/declarative_model/data_source.py +++ b/gooddata-sdk/gooddata_sdk/catalog/data_source/declarative_model/data_source.py @@ -35,7 +35,7 @@ def _inject_base(self, credentials: dict[str, Any]) -> DeclarativeDataSources: token = TokenCredentialsFromFile.token_from_file(credentials[data_source.id]) data_sources.append(data_source.to_api(token=token)) elif data_source.type == DATABRICKS_TYPE: - if data_source.client_id is not None: + if data_source.client_id and data_source.client_id.strip(): client_secret = ClientSecretCredentialsFromFile.client_secret_from_file( credentials[data_source.id] ) From 5990e79a08d6c74b337a131a93e8a2a3d754c1e0 Mon Sep 17 00:00:00 2001 From: Christopher Bonilla Date: Thu, 6 Feb 2025 10:53:12 +0100 Subject: [PATCH 2/2] fix: proper cred loading for Databricks pt2. Missed a spot, same thing: client_id field may be empty string, improved check to account for this JIRA: LX-691 risk: low --- gooddata-sdk/gooddata_sdk/catalog/data_source/service.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/service.py b/gooddata-sdk/gooddata_sdk/catalog/data_source/service.py index 920b9725b..1aa977d23 100644 --- a/gooddata-sdk/gooddata_sdk/catalog/data_source/service.py +++ b/gooddata-sdk/gooddata_sdk/catalog/data_source/service.py @@ -476,7 +476,7 @@ def test_data_sources_connection( declarative_data_source.to_test_request(token=token) ) elif declarative_data_source.type == DATABRICKS_TYPE: - if declarative_data_source.client_id is not None: + if declarative_data_source.client_id and declarative_data_source.client_id.strip(): client_secret = ClientSecretCredentialsFromFile.client_secret_from_file( credentials[declarative_data_source.id] )