Skip to content

Commit 31fdfc2

Browse files
committed
test: restore RBAC permission tree drift guard
1 parent 5be5980 commit 31fdfc2

1 file changed

Lines changed: 11 additions & 4 deletions

File tree

‎backend/tests/unit/modules/role/test_models.py‎

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
from src.modules.role.models import Role, RolePermission, UserRole
88
from src.modules.role.permissions import (
9-
KNOWN_PERMISSIONS,
109
PERMISSION_TREE,
1110
PermissionNames,
1211
is_known_permission,
@@ -24,15 +23,23 @@ def test_role_relationships_are_lazy_select():
2423
assert inspect(User).relationships["user_roles"].lazy == "select"
2524

2625

27-
def test_permission_tree_matches_known_permissions():
28-
"""Every known leaf permission must appear in the permission tree."""
26+
def test_permission_tree_matches_permission_names():
27+
"""Every leaf PermissionNames value must appear in the permission tree."""
28+
defined = {
29+
value
30+
for name, value in vars(PermissionNames).items()
31+
if not name.startswith("_") and isinstance(value, str)
32+
}
33+
34+
parents = {parent.name for parent in PERMISSION_TREE}
35+
2936
tree_values = {
3037
child.name
3138
for parent in PERMISSION_TREE
3239
for child in parent.children
3340
}
3441

35-
assert tree_values == KNOWN_PERMISSIONS
42+
assert tree_values == defined - parents
3643

3744

3845
def test_permission_tree_contains_expected_children():

0 commit comments

Comments
 (0)