diff --git a/ingestion/src/metadata/ingestion/source/database/dbt/metadata.py b/ingestion/src/metadata/ingestion/source/database/dbt/metadata.py index 5e8a709739b..8a46c947858 100644 --- a/ingestion/src/metadata/ingestion/source/database/dbt/metadata.py +++ b/ingestion/src/metadata/ingestion/source/database/dbt/metadata.py @@ -721,7 +721,7 @@ class DbtSource(DbtServiceSource): get_tag_labels( metadata=self.metadata, tags=dbt_meta_info.openmetadata.glossary, - include_tags=self.source_config.includeTags, + include_tags=True, tag_type=GlossaryTerm, ) or [] @@ -734,7 +734,7 @@ class DbtSource(DbtServiceSource): metadata=self.metadata, tags=[tier_fqn.split(fqn.FQN_SEPARATOR)[-1]], classification_name=tier_fqn.split(fqn.FQN_SEPARATOR)[0], - include_tags=self.source_config.includeTags, + include_tags=True, ) or [] ) diff --git a/ingestion/tests/unit/resources/datasets/manifest_v8.json b/ingestion/tests/unit/resources/datasets/manifest_v8.json index 407c47b6dcb..e6a640e9c1e 100644 --- a/ingestion/tests/unit/resources/datasets/manifest_v8.json +++ b/ingestion/tests/unit/resources/datasets/manifest_v8.json @@ -32,7 +32,13 @@ "model_tag_two" ], "meta": { - "owner": "aaron_johnson0" + "owner": "aaron_johnson0", + "openmetadata": { + "glossary": [ + "Test_Glossary.term_one", + "Test_Glossary.term_two.nested_term.more_nested_term" + ] + } }, "materialized": "table", "incremental_strategy": null, @@ -114,7 +120,13 @@ } }, "meta": { - "owner": "aaron_johnson0" + "owner": "aaron_johnson0", + "openmetadata": { + "glossary": [ + "Test_Glossary.term_one", + "Test_Glossary.term_two.nested_term.more_nested_term" + ] + } }, "docs": { "show": true, @@ -131,7 +143,13 @@ "model_tag_two" ], "meta": { - "owner": "aaron_johnson0" + "owner": "aaron_johnson0", + "openmetadata": { + "glossary": [ + "Test_Glossary.term_one", + "Test_Glossary.term_two.nested_term.more_nested_term" + ] + } } }, "created_at": 1673981809.96386, diff --git a/ingestion/tests/unit/test_dbt.py b/ingestion/tests/unit/test_dbt.py index ba149c21700..347ffae83af 100644 --- a/ingestion/tests/unit/test_dbt.py +++ b/ingestion/tests/unit/test_dbt.py @@ -251,6 +251,21 @@ MOCK_TAG_LABELS = [ ), ] +MOCK_GLOASSARY_LABELS = [ + TagLabel( + tagFQN="Test_Glossary.term_one", + labelType=LabelType.Automated, + state=State.Suggested, + source=TagSource.Glossary, + ), + TagLabel( + tagFQN="Test_Glossary.term_two.nested_term.more_nested_term", + labelType=LabelType.Automated, + state=State.Suggested, + source=TagSource.Glossary, + ), +] + class DbtUnitTest(TestCase): """ @@ -511,3 +526,32 @@ class DbtUnitTest(TestCase): zip(expected_data_models, data_model_list) ): self.assertEqual(expected, original) + + @patch("metadata.utils.tag_utils.get_tag_label") + def test_dbt_glossary_tiers(self, get_tag_label): + get_tag_label.side_effect = [ + TagLabel( + tagFQN="Test_Glossary.term_one", + labelType=LabelType.Automated.value, + state=State.Suggested.value, + source=TagSource.Glossary.value, + ), + TagLabel( + tagFQN="Test_Glossary.term_two.nested_term.more_nested_term", + labelType=LabelType.Automated.value, + state=State.Suggested.value, + source=TagSource.Glossary.value, + ), + ] + + _, dbt_objects = self.get_dbt_object_files( + mock_manifest=MOCK_SAMPLE_MANIFEST_V8 + ) + manifest_node = dbt_objects.dbt_manifest.nodes.get( + "model.jaffle_shop.customers" + ) + dbt_meta_tags = self.dbt_source_obj.process_dbt_meta( + manifest_meta=manifest_node.meta + ) + + self.assertEqual(dbt_meta_tags, MOCK_GLOASSARY_LABELS)