diff --git a/ingestion/src/metadata/ingestion/ometa/mixins/tests_mixin.py b/ingestion/src/metadata/ingestion/ometa/mixins/tests_mixin.py index 798d6de1974..d05c220990b 100644 --- a/ingestion/src/metadata/ingestion/ometa/mixins/tests_mixin.py +++ b/ingestion/src/metadata/ingestion/ometa/mixins/tests_mixin.py @@ -183,14 +183,8 @@ class OMetaTestsMixin: CreateTestCaseRequest( name=test_case_fqn.split(".")[-1], entityLink=entity_link, - testSuite=self.get_entity_reference( - entity=TestSuite, - fqn=test_suite_fqn, - ), - testDefinition=self.get_entity_reference( - entity=TestDefinition, - fqn=test_definition_fqn, - ), + testSuite=test_suite_fqn, + testDefinition=test_definition_fqn, parameterValues=test_case_parameter_values, ) ) diff --git a/ingestion/tests/integration/ometa/test_ometa_test_suite.py b/ingestion/tests/integration/ometa/test_ometa_test_suite.py index 63111058a2f..a215e7f11e6 100644 --- a/ingestion/tests/integration/ometa/test_ometa_test_suite.py +++ b/ingestion/tests/integration/ometa/test_ometa_test_suite.py @@ -132,6 +132,26 @@ class OMetaTestSuiteTest(TestCase): assert test_case.name.__root__ == "testCaseForIntegration" assert isinstance(test_case, OMetaTestCase) + def test_create_test_case(self): + """test we get a create the test case object if it does not exists""" + test_case_fqn = ( + "sample_data.ecommerce_db.shopify.dim_address.aNonExistingTestCase" + ) + test_case = self.metadata.get_by_name( + entity=OMetaTestCase, fqn=test_case_fqn, fields=["*"] + ) + + assert test_case is None + + test_case = self.metadata.get_or_create_test_case( + test_case_fqn, + test_suite_fqn="critical_metrics_suite", + test_definition_fqn="columnValuesToMatchRegex", + entity_link="<#E::table::sample_data.ecommerce_db.shopify.dim_address::columns::last_name>", + ) + assert test_case.name.__root__ == "aNonExistingTestCase" + assert isinstance(test_case, OMetaTestCase) + def test_get_test_case_results(self): """test get test case result method""" res = self.metadata.get_test_case_results(