From 68be053e966620e490a025fca7c678794be5a0dd Mon Sep 17 00:00:00 2001 From: Yassin Kortam Date: Mon, 20 Jul 2026 14:29:13 -0700 Subject: [PATCH] test(e2e): cover created user appearing in /user/list (#34016) --- tests/e2e/management/management_client.py | 11 +++++++++++ tests/e2e/management/test_management_e2e.py | 20 ++++++++++++++++++++ tests/e2e/models.py | 5 +++++ 3 files changed, 36 insertions(+) diff --git a/tests/e2e/management/management_client.py b/tests/e2e/management/management_client.py index 2a686b596c0..0f1d6dff524 100644 --- a/tests/e2e/management/management_client.py +++ b/tests/e2e/management/management_client.py @@ -259,6 +259,17 @@ class ManagementClient: ) ).total + def user_list_ids(self, user_id: str) -> tuple[str, ...]: + listing = unwrap( + self.proxy.transport.get( + "/user/list", + headers=self.proxy.transport.master, + params=UserListParams(user_ids=user_id), + response_type=UserListResponse, + ) + ) + return tuple(row.user_id for row in listing.users) + def create_org(self, body: OrgNewBody) -> str: return unwrap( self.proxy.transport.post( diff --git a/tests/e2e/management/test_management_e2e.py b/tests/e2e/management/test_management_e2e.py index 9cc46779296..f9a03015a95 100644 --- a/tests/e2e/management/test_management_e2e.py +++ b/tests/e2e/management/test_management_e2e.py @@ -277,6 +277,26 @@ class TestUserRoutes: f"/user/info reports user_role {info.user_role!r}, configured 'internal_user'" ) + @pytest.mark.covers("mgmt.user.list.happy_path") + def test_created_users_appear_in_user_list( + self, client: ManagementClient, resources: ResourceManager + ) -> None: + user_ids = tuple( + _create_user( + client, + resources, + UserNewBody(user_email=f"e2e-mgmt-{unique_marker()}@example.com", user_role="internal_user"), + ) + for _ in range(2) + ) + + for user_id in user_ids: + _ = _poll( + client, + lambda user_id=user_id: (True if user_id in client.user_list_ids(user_id) else None), + f"/user/list never listed the created user {user_id} in the admin inventory", + ) + class TestOrganizationRoutes: @pytest.mark.covers("mgmt.organization.new.happy_path") diff --git a/tests/e2e/models.py b/tests/e2e/models.py index 36765610545..f200df323bd 100644 --- a/tests/e2e/models.py +++ b/tests/e2e/models.py @@ -699,7 +699,12 @@ class UserListParams(BaseModel): user_ids: str +class UserListRow(BaseModel): + user_id: str + + class UserListResponse(BaseModel): + users: list[UserListRow] total: int