@@ -376,6 +376,22 @@ def test_enforce_get_roles_with_domain(self):
376376 self .assertEqual (e .get_roles_for_user_in_domain ("admin" , "domain2" ), [])
377377 self .assertEqual (e .get_roles_for_user_in_domain ("non_exist" , "domain2" ), [])
378378
379+ def test_get_all_roles_by_domain (self ):
380+ e = self .get_enforcer (
381+ get_examples ("rbac_with_domains_model.conf" ),
382+ get_examples ("rbac_with_domains_policy.csv" ),
383+ )
384+ self .assertEqual (e .get_all_roles_by_domain ("domain1" ), ["admin" ])
385+ self .assertEqual (e .get_all_roles_by_domain ("domain2" ), ["admin" ])
386+
387+ e = self .get_enforcer (
388+ get_examples ("rbac_with_domains_model.conf" ),
389+ get_examples ("rbac_with_domains_policy2.csv" ),
390+ )
391+ self .assertEqual (e .get_all_roles_by_domain ("domain1" ), ["admin" ])
392+ self .assertEqual (e .get_all_roles_by_domain ("domain2" ), ["admin" ])
393+ self .assertEqual (e .get_all_roles_by_domain ("domain3" ), ["user" ])
394+
379395 def test_implicit_user_api (self ):
380396 e = self .get_enforcer (
381397 get_examples ("rbac_model.conf" ),
@@ -824,6 +840,26 @@ async def test_enforce_get_roles_with_domain(self):
824840 self .assertEqual (await e .get_roles_for_user_in_domain ("admin" , "domain2" ), [])
825841 self .assertEqual (await e .get_roles_for_user_in_domain ("non_exist" , "domain2" ), [])
826842
843+ async def test_get_all_roles_by_domain (self ):
844+ e = self .get_enforcer (
845+ get_examples ("rbac_with_domains_model.conf" ),
846+ get_examples ("rbac_with_domains_policy.csv" ),
847+ )
848+ await e .load_policy ()
849+
850+ self .assertEqual (await e .get_all_roles_by_domain ("domain1" ), ["admin" ])
851+ self .assertEqual (await e .get_all_roles_by_domain ("domain2" ), ["admin" ])
852+
853+ e = self .get_enforcer (
854+ get_examples ("rbac_with_domains_model.conf" ),
855+ get_examples ("rbac_with_domains_policy2.csv" ),
856+ )
857+ await e .load_policy ()
858+
859+ self .assertEqual (await e .get_all_roles_by_domain ("domain1" ), ["admin" ])
860+ self .assertEqual (await e .get_all_roles_by_domain ("domain2" ), ["admin" ])
861+ self .assertEqual (await e .get_all_roles_by_domain ("domain3" ), ["user" ])
862+
827863 async def test_implicit_user_api (self ):
828864 e = self .get_enforcer (
829865 get_examples ("rbac_model.conf" ),
0 commit comments