From a655eaf543d56dc13a6210e6aa360f3f2d7e8b26 Mon Sep 17 00:00:00 2001 From: luxferre Date: Fri, 12 Jun 2026 13:17:07 +0100 Subject: [PATCH] tests: delete_group_perm perm not in group Issue: #24 --- test/conftest.py | 1 + test/test_iam.py | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/test/conftest.py b/test/conftest.py index aae96dd..750d2f5 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -162,6 +162,7 @@ def _seed(db): db.add(OrgUsers(org_id=1, user_id=2)) db.add(Service(name="Test Service", api_key="123456789")) db.add(Permission(service_id=1, resource="test_resource", action="read")) + db.add(Permission(service_id=1, resource="test_resource", action="move")) db.add(Group(name="Org One Group", org_id=1)) db.add(Group(name="Org Two Group", org_id=2)) db.add(Group(name="Org One Group Two", org_id=1)) diff --git a/test/test_iam.py b/test/test_iam.py index 76a87a4..3315fb0 100644 --- a/test/test_iam.py +++ b/test/test_iam.py @@ -428,7 +428,7 @@ async def test_post_perm_success(default_client: AsyncClient): assert "permission" in data assert isinstance(data["permission"], dict) - assert data["permission"]["id"] == 2 + assert data["permission"]["id"] == 3 assert data["permission"]["service_name"] == "Test Service" assert data["permission"]["resource"] == "test_resource" assert data["permission"]["action"] == "create" @@ -513,7 +513,11 @@ async def test_post_perm_search_success(default_client: AsyncClient, body): assert "permissions" in data assert isinstance(data["permissions"], list) - permission = data["permissions"][0] + permissions_filtered = [ + permission for permission in data["permissions"] if permission["id"] == 1 + ] + assert len(permissions_filtered) == 1 + permission = permissions_filtered[0] assert permission["id"] == 1 assert permission["service_name"] == "Test Service" assert permission["resource"] == "test_resource" @@ -644,6 +648,14 @@ async def test_delete_group_permissions_status_checks( assert resp.status_code == expected_status +@pytest.mark.anyio +async def test_delete_group_permissions_not_in_group(default_client: AsyncClient): + resp = await default_client.delete( + "/iam/group/permission?org_id=1&group_id=1&perm_id=2" + ) + assert resp.status_code == 422 + + @pytest.mark.anyio async def test_delete_permissions_success(default_client: AsyncClient): resp = await default_client.delete("/iam/permission?perm_id=1")