|
14 | 14 | from unittest import IsolatedAsyncioTestCase |
15 | 15 |
|
16 | 16 | import casbin |
| 17 | +from casbin.constant.constants import DOMAIN_INDEX |
17 | 18 | from tests.test_enforcer import get_examples, TestCaseBase |
18 | 19 |
|
19 | 20 |
|
@@ -254,7 +255,6 @@ def test_enforce_implicit_permissions_api_with_domain(self): |
254 | 255 | self.assertEqual(e.get_implicit_permissions_for_user("bob", "domain1"), []) |
255 | 256 |
|
256 | 257 | def test_enforce_implicit_permissions_api_with_domain_matching_function(self): |
257 | | - |
258 | 258 | e = self.get_enforcer( |
259 | 259 | get_examples("rbac_with_domain_and_policy_pattern_model.conf"), |
260 | 260 | get_examples("rbac_with_domain_and_policy_pattern_policy.csv"), |
@@ -405,6 +405,15 @@ def test_domain_match_model(self): |
405 | 405 | self.assertTrue(e.enforce("bob", "domain2", "data2", "read")) |
406 | 406 | self.assertTrue(e.enforce("bob", "domain2", "data2", "write")) |
407 | 407 |
|
| 408 | + def test_set_field_index(self): |
| 409 | + e = self.get_enforcer( |
| 410 | + get_examples("rbac_with_domains_model.conf"), |
| 411 | + get_examples("rbac_with_domains_policy.csv"), |
| 412 | + ) |
| 413 | + self.assertEqual(e.get_field_index("p", DOMAIN_INDEX), 1) |
| 414 | + e.set_field_index("p", DOMAIN_INDEX, 2) |
| 415 | + self.assertEqual(e.get_field_index("p", DOMAIN_INDEX), 2) |
| 416 | + |
408 | 417 |
|
409 | 418 | class TestRbacApiSynced(TestRbacApi): |
410 | 419 | def get_enforcer(self, model=None, adapter=None): |
@@ -686,7 +695,6 @@ async def test_enforce_implicit_permissions_api_with_domain(self): |
686 | 695 | self.assertEqual(await e.get_implicit_permissions_for_user("bob", "domain1"), []) |
687 | 696 |
|
688 | 697 | async def test_enforce_implicit_permissions_api_with_domain_matching_function(self): |
689 | | - |
690 | 698 | e = self.get_enforcer( |
691 | 699 | get_examples("rbac_with_domain_and_policy_pattern_model.conf"), |
692 | 700 | get_examples("rbac_with_domain_and_policy_pattern_policy.csv"), |
@@ -847,3 +855,12 @@ async def test_domain_match_model(self): |
847 | 855 | self.assertFalse(e.enforce("bob", "domain2", "data1", "write")) |
848 | 856 | self.assertTrue(e.enforce("bob", "domain2", "data2", "read")) |
849 | 857 | self.assertTrue(e.enforce("bob", "domain2", "data2", "write")) |
| 858 | + |
| 859 | + async def test_set_field_index(self): |
| 860 | + e = self.get_enforcer( |
| 861 | + get_examples("rbac_with_domains_model.conf"), |
| 862 | + get_examples("rbac_with_domains_policy.csv"), |
| 863 | + ) |
| 864 | + self.assertEqual(await e.get_field_index("p", DOMAIN_INDEX), 1) |
| 865 | + await e.set_field_index("p", DOMAIN_INDEX, 2) |
| 866 | + self.assertEqual(await e.get_field_index("p", DOMAIN_INDEX), 2) |
0 commit comments