From 9cc757ebcbc6f8df8df9e6c9e281f2b0489b5b42 Mon Sep 17 00:00:00 2001 From: Auto Impl Date: Wed, 18 Mar 2026 09:21:59 +0000 Subject: [PATCH] feat(gooddata-sdk): [AUTO] Add CatalogDataSourceAiLakehouse entity model class Add CatalogDataSourceAiLakehouse following the CatalogDataSourceGdStorage pattern (no credentials, empty schema) to represent the new AILAKEHOUSE datasource type. Export the new class from the public __init__.py surface and add unit tests covering instantiation and from_api deserialization. --- .../gooddata-sdk/src/gooddata_sdk/__init__.py | 1 + .../data_source/entity_model/data_source.py | 7 ++++++ .../tests/catalog/test_catalog_data_source.py | 24 +++++++++++++++++++ 3 files changed, 32 insertions(+) diff --git a/packages/gooddata-sdk/src/gooddata_sdk/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/__init__.py index d268f9ebf..0e07ac5de 100644 --- a/packages/gooddata-sdk/src/gooddata_sdk/__init__.py +++ b/packages/gooddata-sdk/src/gooddata_sdk/__init__.py @@ -36,6 +36,7 @@ ) from gooddata_sdk.catalog.data_source.entity_model.data_source import ( CatalogDataSource, + CatalogDataSourceAiLakehouse, CatalogDataSourceBigQuery, CatalogDataSourceDatabricks, CatalogDataSourceGdStorage, diff --git a/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/entity_model/data_source.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/entity_model/data_source.py index d3a92a038..b6d91eb2c 100644 --- a/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/entity_model/data_source.py +++ b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/entity_model/data_source.py @@ -318,3 +318,10 @@ class CatalogDataSourceGdStorage(CatalogDataSource): type: str = "GDSTORAGE" schema: str = "" credentials: Credentials = field(factory=_NoCredentials, repr=False) + + +@define(kw_only=True, eq=False) +class CatalogDataSourceAiLakehouse(CatalogDataSource): + type: str = "AILAKEHOUSE" + schema: str = "" + credentials: Credentials = field(factory=_NoCredentials, repr=False) diff --git a/packages/gooddata-sdk/tests/catalog/test_catalog_data_source.py b/packages/gooddata-sdk/tests/catalog/test_catalog_data_source.py index e6586450d..0eab39b18 100644 --- a/packages/gooddata-sdk/tests/catalog/test_catalog_data_source.py +++ b/packages/gooddata-sdk/tests/catalog/test_catalog_data_source.py @@ -11,6 +11,7 @@ from gooddata_sdk import ( BasicCredentials, CatalogDataSource, + CatalogDataSourceAiLakehouse, CatalogDataSourceBigQuery, CatalogDataSourceDatabricks, CatalogDataSourceMariaDb, @@ -892,3 +893,26 @@ def test_jdbc_urls_creation( ), ) assert data_source.url == url + + +def test_ailakehouse_datasource_instantiation(): + ds = CatalogDataSourceAiLakehouse(id="ailakehouse-1", name="AI Lakehouse") + assert ds.id == "ailakehouse-1" + assert ds.name == "AI Lakehouse" + assert ds.type == "AILAKEHOUSE" + assert ds.schema == "" + assert ds.url is None + + +def test_ailakehouse_datasource_from_api(): + entity = { + "id": "ailakehouse-1", + "attributes": { + "name": "AI Lakehouse", + "type": "AILAKEHOUSE", + "schema": "", + }, + } + ds = CatalogDataSourceAiLakehouse.from_api(entity) + assert ds.id == "ailakehouse-1" + assert ds.type == "AILAKEHOUSE"