77
88from pyatlan .client .atlan import AtlanClient
99from pyatlan .model .assets import AuthPolicy , Purpose
10+ from pyatlan .model .core import AtlanTagName
1011from pyatlan .model .enums import (
1112 AssetSidebarTab ,
1213 AtlanTagColor ,
2223
2324
2425@pytest .fixture (scope = "module" )
25- def atlan_tag (
26+ def atlan_tag_def (
2627 client : AtlanClient ,
2728) -> Generator [AtlanTagDef , None , None ]:
2829 atlan_tag_def = AtlanTagDef .create (name = MODULE_NAME , color = AtlanTagColor .GREEN )
@@ -31,28 +32,33 @@ def atlan_tag(
3132 client .purge_typedef (MODULE_NAME , typedef_type = AtlanTagDef )
3233
3334
35+ @pytest .fixture (scope = "module" )
36+ def atlan_tag_name (atlan_tag_def ):
37+ return AtlanTagName (atlan_tag_def .display_name )
38+
39+
3440@pytest .fixture (scope = "module" )
3541def purpose (
3642 client : AtlanClient ,
37- atlan_tag : AtlanTagDef ,
43+ atlan_tag_name ,
3844) -> Generator [Purpose , None , None ]:
39- to_create = Purpose .create (name = MODULE_NAME , atlan_tags = [atlan_tag . display_name ])
45+ to_create = Purpose .create (name = MODULE_NAME , atlan_tags = [atlan_tag_name ])
4046 response = client .save (to_create )
4147 p = response .assets_created (asset_type = Purpose )[0 ]
4248 yield p
4349 delete_asset (client , guid = p .guid , asset_type = Purpose )
4450
4551
46- def test_purpose (
47- client : AtlanClient ,
48- purpose : Purpose ,
49- ):
52+ def test_purpose (client : AtlanClient , purpose : Purpose , atlan_tag_name : AtlanTagName ):
5053 assert purpose
5154 assert purpose .guid
5255 assert purpose .qualified_name
5356 assert purpose .name == MODULE_NAME
5457 assert purpose .display_name == MODULE_NAME
5558 assert purpose .qualified_name != MODULE_NAME
59+ purpose = client .get_asset_by_guid (guid = purpose .guid , asset_type = Purpose )
60+ assert purpose .purpose_atlan_tags
61+ assert [atlan_tag_name ] == purpose .purpose_atlan_tags
5662
5763
5864@pytest .mark .order (after = "test_purpose" )
@@ -88,7 +94,9 @@ def test_find_purpose_by_name(
8894 client : AtlanClient ,
8995 purpose : Purpose ,
9096):
91- result = client .find_purposes_by_name (MODULE_NAME )
97+ result = client .find_purposes_by_name (
98+ MODULE_NAME , attributes = ["purposeClassifications" ]
99+ )
92100 count = 0
93101 # TODO: replace with exponential back-off and jitter
94102 while not result and count < 10 :
0 commit comments