from types import SimpleNamespace from django.http import QueryDict from django.test import SimpleTestCase from pingcap_sso.api.endpoints.admin.cloud_users import ( CloudUsersBaseEndpoint, ListEndpoint, ) class CloudOperationsBusinessScopeTests(SimpleTestCase): @staticmethod def request(query=''): return SimpleNamespace(GET=QueryDict(query)) def assert_business_scope_filters(self, where): self.assertIn(CloudUsersBaseEndpoint.user_business_scope_sql, where) def test_user_list_applies_business_scope_only_when_requested(self): regular_where, _ = ListEndpoint.build_filters( self.request(), '2026-08-10') scoped_where, _ = ListEndpoint.build_filters( self.request('business_scope=1'), '2026-08-10') self.assertNotIn( CloudUsersBaseEndpoint.user_business_scope_sql, regular_where) self.assert_business_scope_filters(scoped_where)