@@ -271,6 +271,51 @@ def test_policies(
271271 assert updated_policy .policy .description == updated_policy_description
272272 assert json .loads (updated_policy .policy .content ) == updated_policy_content
273273
274+ # ATTACH to catalog
275+ test_policy_api .attach_policy (
276+ prefix = test_catalog .name ,
277+ namespace = namespace_name ,
278+ policy_name = policy_name ,
279+ attach_policy_request = AttachPolicyRequest (
280+ target = PolicyAttachmentTarget (type = "catalog" )
281+ ),
282+ )
283+
284+ # GET APPLICABLE on catalog
285+ applicable_policies_catalog = test_policy_api .get_applicable_policies (
286+ prefix = test_catalog .name
287+ )
288+
289+ assert len (applicable_policies_catalog .applicable_policies ) == 1
290+ assert applicable_policies_catalog .applicable_policies [0 ].name == policy_name
291+
292+ # GET inherited APPLICABLE on table
293+ applicable_for_table_inherit = test_policy_api .get_applicable_policies (
294+ prefix = test_catalog .name ,
295+ namespace = format_namespace (sub_namespace_path ),
296+ target_name = table_name ,
297+ )
298+ assert len (applicable_for_table_inherit .applicable_policies ) == 1
299+ assert applicable_for_table_inherit .applicable_policies [0 ].name == policy_name
300+ assert applicable_for_table_inherit .applicable_policies [0 ].inherited
301+
302+ # DETACH from catalog
303+ test_policy_api .detach_policy (
304+ prefix = test_catalog .name ,
305+ namespace = namespace_name ,
306+ policy_name = policy_name ,
307+ detach_policy_request = DetachPolicyRequest (
308+ target = PolicyAttachmentTarget (type = "catalog" )
309+ ),
310+ )
311+
312+ # GET APPLICABLE on catalog after DETACH
313+ applicable_policies_catalog_after_detach = (
314+ test_policy_api .get_applicable_policies (prefix = test_catalog .name )
315+ )
316+
317+ assert len (applicable_policies_catalog_after_detach .applicable_policies ) == 0
318+
274319 # ATTACH to namespace
275320 test_policy_api .attach_policy (
276321 prefix = test_catalog .name ,
@@ -282,11 +327,11 @@ def test_policies(
282327 )
283328
284329 # GET APPLICABLE on namespace
285- applicable_policies = test_policy_api .get_applicable_policies (
330+ applicable_policies_namespace = test_policy_api .get_applicable_policies (
286331 prefix = test_catalog .name , namespace = format_namespace (sub_namespace_path )
287332 )
288- assert len (applicable_policies .applicable_policies ) == 1
289- assert applicable_policies .applicable_policies [0 ].name == policy_name
333+ assert len (applicable_policies_namespace .applicable_policies ) == 1
334+ assert applicable_policies_namespace .applicable_policies [0 ].name == policy_name
290335
291336 # DETACH from namespace
292337 test_policy_api .detach_policy (
@@ -299,10 +344,12 @@ def test_policies(
299344 )
300345
301346 # GET APPLICABLE on namespace after DETACH
302- applicable_policies_after_detach = test_policy_api .get_applicable_policies (
303- prefix = test_catalog .name , namespace = format_namespace (sub_namespace_path )
347+ applicable_policies_namespace_after_detach = (
348+ test_policy_api .get_applicable_policies (
349+ prefix = test_catalog .name , namespace = format_namespace (sub_namespace_path )
350+ )
304351 )
305- assert len (applicable_policies_after_detach .applicable_policies ) == 0
352+ assert len (applicable_policies_namespace_after_detach .applicable_policies ) == 0
306353
307354 # ATTACH to table
308355 test_policy_api .attach_policy (
0 commit comments