From 78f2c3a382ee7ae88f17f53b62baa85eb28be33f Mon Sep 17 00:00:00 2001 From: "marcel.kocisek" Date: Thu, 29 May 2025 16:39:01 +0200 Subject: [PATCH 1/2] move removing of ws members on the end --- mergin/test/test_client.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/mergin/test/test_client.py b/mergin/test/test_client.py index 7c41c456..5ac84e37 100644 --- a/mergin/test/test_client.py +++ b/mergin/test/test_client.py @@ -2777,14 +2777,6 @@ def test_access_management(mc: MerginClient, mc2: MerginClient): # test permissions - a different client cannot update the role with pytest.raises(ClientError, match=f"You do not have admin permissions to workspace"): mc2.update_workspace_member(workspace_id, new_user["id"], ws_role) - # remove workspace member - mc.remove_workspace_member(workspace_id, new_user["id"]) - workspace_members = mc.list_workspace_members(workspace_id) - assert not any(m["id"] == new_user["id"] for m in workspace_members) - # duplicated call - with pytest.raises(ClientError) as exc_info: - mc.remove_workspace_member(workspace_id, new_user["id"]) - assert exc_info.value.http_error == 404 # add project test_project_name = "test_collaborators" test_project_fullname = API_USER + "/" + test_project_name @@ -2832,3 +2824,11 @@ def test_access_management(mc: MerginClient, mc2: MerginClient): {"limits_override": {"projects": orig_projects_limit}}, json_headers, ) + # remove workspace member + mc.remove_workspace_member(workspace_id, new_user["id"]) + workspace_members = mc.list_workspace_members(workspace_id) + assert not any(m["id"] == new_user["id"] for m in workspace_members) + # duplicated call + with pytest.raises(ClientError) as exc_info: + mc.remove_workspace_member(workspace_id, new_user["id"]) + assert exc_info.value.http_error == 404 From dee0effe2d693ad012a4a807a9750f882479b750 Mon Sep 17 00:00:00 2001 From: "marcel.kocisek" Date: Thu, 29 May 2025 19:43:06 +0200 Subject: [PATCH 2/2] Allow remove from project --- mergin/test/test_client.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mergin/test/test_client.py b/mergin/test/test_client.py index 5ac84e37..d636dd85 100644 --- a/mergin/test/test_client.py +++ b/mergin/test/test_client.py @@ -2802,7 +2802,8 @@ def test_access_management(mc: MerginClient, mc2: MerginClient): collaborators = mc.list_project_collaborators(test_project_id) updated_collaborator = next((c for c in collaborators if c["id"] == new_user["id"])) assert updated_collaborator["project_role"] == updated_role.value - # remove project collaborator + # remove project collaborator, add this user guest first to make sure it can be removed from project collaborators + mc.update_workspace_member(workspace_id, new_user["id"], WorkspaceRole.GUEST) mc.remove_project_collaborator(test_project_id, new_user["id"]) collaborators = mc.list_project_collaborators(test_project_id) assert not any(c["id"] == new_user["id"] for c in collaborators)