tests: query generator

This commit is contained in:
Chris Milne 2026-06-05 12:17:32 +01:00
parent 29245e5c13
commit d3d9316741
5 changed files with 47 additions and 67 deletions

View file

@ -7,7 +7,7 @@ from src.user.models import User
from src.organisation.models import Organisation as Org
from src.iam.models import Group
from .conftest import default_client, db_session
from .conftest import default_client, db_session, generate_query_and_status
@pytest.mark.anyio
@ -141,22 +141,7 @@ async def test_get_group_permissions_success(default_client: AsyncClient):
@pytest.mark.parametrize(
"query, expected_status",
[
("org_id=42&group_id=1", 404), # Non-exists org, valid group
("org_id=banana&group_id=1", 422), # Invalid org, valid group
("org_id=&group_id=1", 422), # Blank org, valid group
("org_id=-1&group_id=1", 422), # Negative org, valid group
("group_id=1", 422), # Only group
("org_id=1&group_id=2", 404), # Group/Org mismatch
("org_id=2&group_id=1", 404), # Group/Org mismatch
("", 422), # Blank query
("org_id=&group_id=", 422), # Both blank
("org_id=1&group_id=42", 404), # Valid org, non-exists group
("org_id=1&group_id=banana", 422), # Valid org, invalid group
("org_id=1&group_id=", 422), # Valid org, blank group
("org_id=1&group_id=-1", 422), # Valid org, negative group
("org_id=1", 422), # Only org
],
generate_query_and_status(["group_id", "org_id"])
)
@pytest.mark.anyio
async def test_get_group_permissions_status_checks(default_client: AsyncClient, db_session, query: str, expected_status: int):
@ -199,20 +184,7 @@ async def test_get_group_users_success(default_client: AsyncClient):
@pytest.mark.parametrize(
"query, expected_status",
[
("org_id=2&group_id=1", 404), # Non-exists org, valid group
("org_id=banana&group_id=1", 422), # Invalid org, valid group
("org_id=&group_id=1", 422), # Blank org, valid group
("org_id=-1&group_id=1", 422), # Negative org, valid group
("group_id=1", 422), # Only group
("", 422), # Blank query
("org_id=&group_id=", 422), # Both blank
("org_id=1&group_id=2", 404), # Valid org, non-exists group
("org_id=1&group_id=banana", 422), # Valid org, invalid group
("org_id=1&group_id=", 422), # Valid org, blank group
("org_id=1&group_id=-1", 422), # Valid org, negative group
("org_id=1", 422), # Only org
],
generate_query_and_status(["group_id", "org_id"])
)
@pytest.mark.anyio
async def test_get_group_users_status_checks(default_client: AsyncClient, query: str, expected_status: int):
@ -423,13 +395,7 @@ async def test_get_permissions_success(default_client: AsyncClient):
@pytest.mark.parametrize(
"query, expected_status",
[
("org_id=42", 404), # Non-exists org
("org_id=banana", 422), # Invalid org
("org_id=", 422), # Blank org
("org_id=-1", 422), # Negative org
("", 422), # Blank query
],
generate_query_and_status(["org_id"])
)
@pytest.mark.anyio
async def test_get_permissions_status_checks(default_client: AsyncClient, query: str, expected_status: int):