5757 "public_api" ,
5858]
5959
60+ PERMISSION_SET_PATHS = [
61+ "api/user/<str:user_id>/permissions" ,
62+ "api/user/<str:user_id>/permissions/hierarchy" ,
63+ ]
64+
65+ GENERIC_PERMISSION_SET_PATHS = [
66+ "api/data-hierarchy/subthemes/<str:theme_id>" ,
67+ "api/data-hierarchy/topics/<str:sub_theme_id>" ,
68+ "api/data-hierarchy/metrics/<str:topic_id>" ,
69+ "api/data-hierarchy/geographies/<str:geography_type_id>" ,
70+ ]
71+
6072
6173def _flatten_urls (* , urlpatterns : list [URLPattern | URLResolver ]) -> list [URLPattern ]:
6274 """Takes a list of URLPatterns and URLResolvers and returns
@@ -183,7 +195,9 @@ class TestConstructUrlpatterns:
183195
184196 @pytest .mark .parametrize (
185197 "private_api_endpoint_path" ,
186- PRIVATE_API_ENDPOINT_PATHS ,
198+ PRIVATE_API_ENDPOINT_PATHS
199+ + PERMISSION_SET_PATHS
200+ + GENERIC_PERMISSION_SET_PATHS ,
187201 )
188202 def test_private_api_mode_returns_private_api_urls (
189203 self , private_api_endpoint_path : str
@@ -369,7 +383,7 @@ def test_cms_admin_mode_returns_cms_admin_urls(self):
369383
370384 @pytest .mark .parametrize (
371385 "included_endpoint_path" ,
372- AUDIT_API_ENDPOINT_PATHS ,
386+ AUDIT_API_ENDPOINT_PATHS + GENERIC_PERMISSION_SET_PATHS ,
373387 )
374388 def test_cms_admin_mode_returns_all_expected_urls (
375389 self , included_endpoint_path : str
@@ -392,7 +406,8 @@ def test_cms_admin_mode_returns_all_expected_urls(
392406 "excluded_endpoint_path" ,
393407 PRIVATE_API_ENDPOINT_PATHS
394408 + PUBLIC_API_ENDPOINT_PATHS
395- + FEEDBACK_API_ENDPOINT_PATHS ,
409+ + FEEDBACK_API_ENDPOINT_PATHS
410+ + PERMISSION_SET_PATHS ,
396411 )
397412 def test_cms_admin_mode_does_not_return_other_urls (
398413 self , excluded_endpoint_path : str
0 commit comments