fix: remove trailing slash and plurals in paths

This commit is contained in:
Chris Milne 2026-06-11 16:14:22 +01:00
parent c74e895bf1
commit 1a6a6ad97d
9 changed files with 20 additions and 20 deletions

View file

@ -378,7 +378,7 @@ async def add_group_user(
@router.delete( @router.delete(
path="/group/permissions", path="/group/permission",
summary="Removes a permission from the group", summary="Removes a permission from the group",
status_code=status.HTTP_200_OK, status_code=status.HTTP_200_OK,
response_model=IAMDeleteGroupPermissionResponse, response_model=IAMDeleteGroupPermissionResponse,
@ -388,7 +388,7 @@ async def add_group_user(
}, },
}, },
) )
async def remove_group_permissions( async def remove_group_permission(
db: db_dependency, db: db_dependency,
group_model: group_model_query_dependency, group_model: group_model_query_dependency,
perm_model: perm_model_query_dependency, perm_model: perm_model_query_dependency,

View file

@ -40,7 +40,7 @@ router = APIRouter(
@router.get( @router.get(
"/", "",
summary="Get all services", summary="Get all services",
status_code=status.HTTP_200_OK, status_code=status.HTTP_200_OK,
response_model=ServiceGetServiceResponse, response_model=ServiceGetServiceResponse,
@ -82,7 +82,7 @@ async def get_all_services(
@router.post( @router.post(
"/", "",
summary="Register a new service.", summary="Register a new service.",
status_code=status.HTTP_200_OK, status_code=status.HTTP_200_OK,
response_model=ServicePostServiceResponse, response_model=ServicePostServiceResponse,
@ -148,7 +148,7 @@ async def regenerate_api_key(
@router.delete( @router.delete(
"/", "",
summary="Remove a service.", summary="Remove a service.",
status_code=status.HTTP_204_NO_CONTENT, status_code=status.HTTP_204_NO_CONTENT,
responses={ responses={

View file

@ -76,7 +76,7 @@ async def current_user(user_model: user_model_claims_dependency):
@router.get( @router.get(
"/", "",
summary="Get user hub details by ID.", summary="Get user hub details by ID.",
response_model=UserResponse, response_model=UserResponse,
status_code=status.HTTP_200_OK, status_code=status.HTTP_200_OK,
@ -95,7 +95,7 @@ async def get_user_by_id(
@router.delete( @router.delete(
"/", "",
summary="Delete user from hub by ID.", summary="Delete user from hub by ID.",
status_code=status.HTTP_204_NO_CONTENT, status_code=status.HTTP_204_NO_CONTENT,
responses={ responses={

View file

@ -138,7 +138,7 @@ async def test_patch_org_contact_auth_approval(default_client: AsyncClient):
@pytest.mark.anyio @pytest.mark.anyio
async def test_get_service_auth_approval(default_client: AsyncClient): async def test_get_service_auth_approval(default_client: AsyncClient):
resp = await default_client.get("/service/?org_id=1") resp = await default_client.get("/service?org_id=1")
assert resp.status_code != 422 assert resp.status_code != 422
assert "has not been approved." in resp.json()["detail"] assert "has not been approved." in resp.json()["detail"]

View file

@ -110,7 +110,7 @@ async def test_patch_org_contact_auth_root(no_su_client: AsyncClient):
@pytest.mark.anyio @pytest.mark.anyio
async def test_get_service_auth_root(no_su_client: AsyncClient): async def test_get_service_auth_root(no_su_client: AsyncClient):
resp = await no_su_client.get("/service/?org_id=2") resp = await no_su_client.get("/service?org_id=2")
assert resp.status_code != 422 assert resp.status_code != 422
assert resp.status_code == 403 assert resp.status_code == 403
assert "Must be the org's root user" in resp.json()["detail"] assert "Must be the org's root user" in resp.json()["detail"]

View file

@ -18,7 +18,7 @@ pytestmark = [
@pytest.mark.anyio @pytest.mark.anyio
async def test_get_user_auth_su(no_su_client: AsyncClient): async def test_get_user_auth_su(no_su_client: AsyncClient):
resp = await no_su_client.get("/user/?user_id=1") resp = await no_su_client.get("/user?user_id=1")
assert resp.status_code != 422 assert resp.status_code != 422
assert resp.status_code == 403 assert resp.status_code == 403
assert resp.json()["detail"] == "Must be super admin" assert resp.json()["detail"] == "Must be super admin"
@ -66,7 +66,7 @@ async def test_patch_service_key_auth_su(no_su_client: AsyncClient):
@pytest.mark.anyio @pytest.mark.anyio
async def test_post_service_auth_su(no_su_client: AsyncClient): async def test_post_service_auth_su(no_su_client: AsyncClient):
resp = await no_su_client.post("/service/", json={"name": "New Test Service"}) resp = await no_su_client.post("/service", json={"name": "New Test Service"})
assert resp.status_code != 422 assert resp.status_code != 422
assert resp.status_code == 403 assert resp.status_code == 403
assert resp.json()["detail"] == "Must be super admin" assert resp.json()["detail"] == "Must be super admin"

View file

@ -785,7 +785,7 @@ async def test_post_perm_search_status_checks(
@pytest.mark.anyio @pytest.mark.anyio
async def test_delete_group_permissions_success(default_client: AsyncClient): async def test_delete_group_permissions_success(default_client: AsyncClient):
resp = await default_client.delete( resp = await default_client.delete(
"/iam/group/permissions?org_id=1&group_id=1&perm_id=1" "/iam/group/permission?org_id=1&group_id=1&perm_id=1"
) )
data = resp.json() data = resp.json()

View file

@ -15,7 +15,7 @@ pytestmark = [
@pytest.mark.anyio @pytest.mark.anyio
async def test_get_services_success(default_client: AsyncClient): async def test_get_services_success(default_client: AsyncClient):
resp = await default_client.get("/service/?org_id=1") resp = await default_client.get("/service?org_id=1")
data = resp.json() data = resp.json()
assert resp.status_code == 200 assert resp.status_code == 200
@ -32,14 +32,14 @@ async def test_get_services_success(default_client: AsyncClient):
async def test_get_services_status_checks( async def test_get_services_status_checks(
default_client: AsyncClient, query: str, expected_status: int default_client: AsyncClient, query: str, expected_status: int
): ):
resp = await default_client.get(f"/service/?{query}") resp = await default_client.get(f"/service?{query}")
assert resp.status_code == expected_status assert resp.status_code == expected_status
@pytest.mark.anyio @pytest.mark.anyio
async def test_post_service_success(default_client: AsyncClient): async def test_post_service_success(default_client: AsyncClient):
resp = await default_client.post("/service/", json={"name": "New Test Service"}) resp = await default_client.post("/service", json={"name": "New Test Service"})
data = resp.json() data = resp.json()
assert resp.status_code == 200 assert resp.status_code == 200
@ -62,7 +62,7 @@ async def test_post_service_success(default_client: AsyncClient):
async def test_post_service_status_checks( async def test_post_service_status_checks(
default_client: AsyncClient, body: dict[str, str], expected_status: int default_client: AsyncClient, body: dict[str, str], expected_status: int
): ):
resp = await default_client.post("/service/", json=body) resp = await default_client.post("/service", json=body)
assert resp.status_code == expected_status assert resp.status_code == expected_status
@ -100,6 +100,6 @@ async def test_patch_services_status_checks(
@pytest.mark.anyio @pytest.mark.anyio
async def test_delete_service_success(default_client: AsyncClient): async def test_delete_service_success(default_client: AsyncClient):
resp = await default_client.delete("/service/?service_id=1") resp = await default_client.delete("/service?service_id=1")
assert resp.status_code == 204 assert resp.status_code == 204

View file

@ -32,7 +32,7 @@ async def test_get_self_db_success(default_client: AsyncClient):
@pytest.mark.anyio @pytest.mark.anyio
async def test_get_user_success(default_client: AsyncClient): async def test_get_user_success(default_client: AsyncClient):
resp = await default_client.get("/user/?user_id=1") resp = await default_client.get("/user?user_id=1")
data = resp.json() data = resp.json()
assert resp.status_code == 200 assert resp.status_code == 200
@ -52,14 +52,14 @@ async def test_get_user_success(default_client: AsyncClient):
async def test_get_user_status_checks( async def test_get_user_status_checks(
default_client: AsyncClient, query: str, expected_status: int default_client: AsyncClient, query: str, expected_status: int
): ):
resp = await default_client.get(f"/user/?{query}") resp = await default_client.get(f"/user?{query}")
assert resp.status_code == expected_status assert resp.status_code == expected_status
@pytest.mark.anyio @pytest.mark.anyio
async def test_delete_user_success(default_client: AsyncClient): async def test_delete_user_success(default_client: AsyncClient):
resp = await default_client.delete("/user/?user_id=1") resp = await default_client.delete("/user?user_id=1")
assert resp.status_code == 204 assert resp.status_code == 204