Skip to content

Commit e2e77b0

Browse files
authored
fix: update permission test query counts for RBAC (#6547)
1 parent 04df8d5 commit e2e77b0

2 files changed

Lines changed: 15 additions & 10 deletions

File tree

api/tests/unit/environments/test_unit_environments_views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -746,7 +746,7 @@ def test_view_environment_with_staff__query_count_is_expected_with_rbac(
746746
environment_metadata_b,
747747
required_a_environment_metadata_field,
748748
environment_content_type,
749-
expected_query_count=12,
749+
expected_query_count=13,
750750
)
751751

752752

api/tests/unit/permissions/permission_service/test_is_user_environment_admin.py

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import typing
22

33
import pytest
4+
from django.conf import settings
45
from pytest_lazyfixture import lazy_fixture # type: ignore[import-untyped]
56

67
from environments.models import Environment
@@ -142,14 +143,16 @@ def test_is_user_environment_admin__short_circuits_on_direct_permission(
142143
environment_admin_via_user_permission: UserEnvironmentPermission,
143144
django_assert_num_queries: typing.Any,
144145
) -> None:
145-
# When/Then - should take only 6 queries:
146+
# When/Then - should take only 6 queries (7 if RBAC installed):
146147
# 1. Check if user is org admin (is_user_organisation_admin)
147148
# 2. Check organisation membership for project (_is_user_object_admin)
148149
# 3. Check direct user permission on project (not found)
149150
# 4. Check group permission on project (not found)
150-
# 5. Check organisation membership for environment (_is_user_object_admin)
151-
# 6. Check direct user permission on environment (short-circuits here)
152-
with django_assert_num_queries(6):
151+
# 5. Check RBAC role permission on project (not found, only if RBAC installed)
152+
# 6. Check organisation membership for environment (_is_user_object_admin)
153+
# 7. Check direct user permission on environment (short-circuits here)
154+
expected_queries = 7 if settings.IS_RBAC_INSTALLED else 6
155+
with django_assert_num_queries(expected_queries):
153156
assert is_user_environment_admin(staff_user, environment) is True
154157

155158

@@ -159,13 +162,15 @@ def test_is_user_environment_admin__short_circuits_on_group_permission(
159162
environment_admin_via_user_permission_group: UserPermissionGroupEnvironmentPermission,
160163
django_assert_num_queries: typing.Any,
161164
) -> None:
162-
# When/Then - should take only 7 queries:
165+
# When/Then - should take only 7 queries (8 if RBAC installed):
163166
# 1. Check if user is org admin (is_user_organisation_admin)
164167
# 2. Check organisation membership for project (_is_user_object_admin)
165168
# 3. Check direct user permission on project (not found)
166169
# 4. Check group permission on project (not found)
167-
# 5. Check organisation membership for environment (_is_user_object_admin)
168-
# 6. Check direct user permission on environment (not found)
169-
# 7. Check group permission on environment (short-circuits here)
170-
with django_assert_num_queries(7):
170+
# 5. Check RBAC role permission on project (not found, only if RBAC installed)
171+
# 6. Check organisation membership for environment (_is_user_object_admin)
172+
# 7. Check direct user permission on environment (not found)
173+
# 8. Check group permission on environment (short-circuits here)
174+
expected_queries = 8 if settings.IS_RBAC_INSTALLED else 7
175+
with django_assert_num_queries(expected_queries):
171176
assert is_user_environment_admin(staff_user, environment) is True

0 commit comments

Comments
 (0)