From 1c394e9e2390371511603a59c8f84b2de7ccb420 Mon Sep 17 00:00:00 2001 From: luxferre Date: Wed, 24 Jun 2026 13:50:50 +0100 Subject: [PATCH] tests: service tests standardised --- test/test_service.py | 51 ++++++++++++++++++++++++++++++-------------- 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/test/test_service.py b/test/test_service.py index 9b9b98b..8a7bf30 100644 --- a/test/test_service.py +++ b/test/test_service.py @@ -2,28 +2,18 @@ 409 on [POST]/service/ not tested because SQLite throws a different error than Postgres """ +from typing import Any + import pytest from httpx import AsyncClient -from .conftest import generate_query_and_status, generate_body_and_status +from .conftest import generate_query_and_status, generate_body_and_status, standard_test pytestmark = [ pytest.mark.service_module, ] -@pytest.mark.anyio -async def test_get_services_success(default_client: AsyncClient): - resp = await default_client.get("/service?org_id=1") - data = resp.json() - - assert resp.status_code == 200 - assert "services" in data - assert isinstance(data["services"], list) - assert data["services"][0]["id"] == 1 - assert data["services"][0]["name"] == "Test Service" - - @pytest.mark.parametrize("query, expected_status", generate_query_and_status(["org_id"])) @pytest.mark.anyio async def test_get_services_status_checks( @@ -91,7 +81,36 @@ async def test_patch_services_status_checks( @pytest.mark.anyio -async def test_delete_service_success(default_client: AsyncClient): - resp = await default_client.delete("/service?service_id=1") +async def test_get_services_standard( + default_client: AsyncClient, route_data: dict[str, dict[str, Any]] +): + method = "GET" + path = "/service" + auth_level = "Root User" + query = "?org_id=1" + body = {} + expected_data = { + "services": [ + {"id": 1, "name": "Test Service"}, + ] + } - assert resp.status_code == 204 + await standard_test( + default_client, method, path, auth_level, query, body, expected_data, route_data + ) + + +@pytest.mark.anyio +async def test_delete_service_standard( + default_client: AsyncClient, route_data: dict[str, dict[str, Any]] +): + method = "DELETE" + path = "/service" + auth_level = "Super Admin" + query = "?service_id=1" + body = {} + expected_data = {} + + await standard_test( + default_client, method, path, auth_level, query, body, expected_data, route_data + )