Skip to content

Commit fe28a7f

Browse files
abhayguptasTeddyCr
andauthored
Fixes #26321: correct Python SDK create-to-entity import naming for special cases (#26985)
* Fix SDK create-to-entity import mapping for TestCaseResult and TableProfile * Address review: assert exact create-to-entity mapping classes in tests * chore: ran python linting --------- Co-authored-by: TeddyCr <teddy.crepineau@gmail.com>
1 parent d96a0b7 commit fe28a7f

2 files changed

Lines changed: 25 additions & 5 deletions

File tree

ingestion/src/metadata/ingestion/ometa/ometa_api.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,13 @@ def update_file_name(create: Type[C], file_name: str) -> str:
429429
"""
430430
Update the filename for services and schemas
431431
"""
432+
explicit_file_name_map = {
433+
"CreateTableProfileRequest": "table",
434+
"CreateTestCaseResult": "basic",
435+
}
436+
if create.__name__ in explicit_file_name_map:
437+
return explicit_file_name_map[create.__name__]
438+
432439
if "service" in create.__name__.lower():
433440
return file_name.replace("service", "Service")
434441

ingestion/tests/unit/test_ometa_endpoints.py

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414
"""
1515
from unittest import TestCase
1616

17+
from metadata.generated.schema.api.data.createTableProfile import (
18+
CreateTableProfileRequest,
19+
)
1720
from metadata.generated.schema.api.data.createTopic import CreateTopicRequest
1821
from metadata.generated.schema.api.services.createDatabaseService import (
1922
CreateDatabaseServiceRequest,
@@ -22,6 +25,9 @@
2225
CreateIngestionPipelineRequest,
2326
)
2427
from metadata.generated.schema.api.teams.createUser import CreateUserRequest
28+
from metadata.generated.schema.api.tests.createTestCaseResult import (
29+
CreateTestCaseResult,
30+
)
2531
from metadata.generated.schema.entity.data.chart import Chart
2632
from metadata.generated.schema.entity.data.dashboard import Dashboard
2733
from metadata.generated.schema.entity.data.database import Database
@@ -30,7 +36,7 @@
3036
from metadata.generated.schema.entity.data.mlmodel import MlModel
3137
from metadata.generated.schema.entity.data.pipeline import Pipeline
3238
from metadata.generated.schema.entity.data.report import Report
33-
from metadata.generated.schema.entity.data.table import Table
39+
from metadata.generated.schema.entity.data.table import Table, TableProfile
3440
from metadata.generated.schema.entity.data.topic import Topic
3541
from metadata.generated.schema.entity.services.connections.metadata.openMetadataConnection import (
3642
OpenMetadataConnection,
@@ -46,6 +52,7 @@
4652
from metadata.generated.schema.security.client.openMetadataJWTClientConfig import (
4753
OpenMetadataJWTClientConfig,
4854
)
55+
from metadata.generated.schema.tests.basic import TestCaseResult
4956
from metadata.ingestion.ometa.ometa_api import OpenMetadata
5057

5158

@@ -117,13 +124,19 @@ def test_get_entity_from_create(self):
117124
"""
118125

119126
entity = self.metadata.get_entity_from_create(CreateTopicRequest)
120-
assert issubclass(entity, Topic)
127+
assert entity is Topic
121128

122129
entity = self.metadata.get_entity_from_create(CreateDatabaseServiceRequest)
123-
assert issubclass(entity, DatabaseService)
130+
assert entity is DatabaseService
124131

125132
entity = self.metadata.get_entity_from_create(CreateUserRequest)
126-
assert issubclass(entity, User)
133+
assert entity is User
127134

128135
entity = self.metadata.get_entity_from_create(CreateIngestionPipelineRequest)
129-
assert issubclass(entity, IngestionPipeline)
136+
assert entity is IngestionPipeline
137+
138+
entity = self.metadata.get_entity_from_create(CreateTestCaseResult)
139+
assert entity is TestCaseResult
140+
141+
entity = self.metadata.get_entity_from_create(CreateTableProfileRequest)
142+
assert entity is TableProfile

0 commit comments

Comments
 (0)