Commit ba0b7b46 authored by George Papathanail's avatar George Papathanail
Browse files

feat: add qos-profiles routes returning not implemented

parent 25d6ee1e
Loading
Loading
Loading
Loading
+25 −2
Original line number Diff line number Diff line
from typing import Annotated, Any
from typing import Annotated, Any, Optional

from fastapi import APIRouter, Depends, Response, status
from fastapi import APIRouter, Depends, Query, Response, status

from open_exposure_gateway.api.camara.common import XCorrelatorHeader
from open_exposure_gateway.api.camara.quality_on_demand.v0_10_1.schemas import (
@@ -114,3 +114,26 @@ async def delete_qod_session(
        x_correlator=x_correlator,
    )
    return Response(status_code=status.HTTP_204_NO_CONTENT)


@router.get(
    "/qos-profiles",
    tags=["QoS Profiles"],
    summary="Get All QoS Profiles",
    responses=_responses(401, 403, 404, 500, 501, 503),
)
async def get_qos_profiles(
    name: Annotated[Optional[str], Query()] = None,
    status: Annotated[Optional[str], Query()] = None,
) -> Any:
    raise NotImplementedException(message="QoS profile catalog is not implemented in this release")


@router.get(
    "/qos-profiles/{name}",
    tags=["QoS Profiles"],
    summary="Get QoS Profile for a given name",
    responses=_responses(400, 401, 403, 404, 500, 501, 503),
)
async def get_qos_profile(name: str) -> Any:
    raise NotImplementedException(message="QoS profile catalog is not implemented in this release")
+12 −0
Original line number Diff line number Diff line
@@ -184,6 +184,18 @@ class TestQodSessionFlow:
        assert command.network_capability.external_ref == "qod-session-nef-123"


class TestQosProfiles:
    """QoS profile catalog is not implemented yet -- both routes exist but 501."""

    def test_get_qos_profiles_returns_501(self, api_client: TestClient) -> None:
        response = api_client.get(f"{QOD_BASE}/qos-profiles")
        assert response.status_code == 501

    def test_get_qos_profile_by_name_returns_501(self, api_client: TestClient) -> None:
        response = api_client.get(f"{QOD_BASE}/qos-profiles/voice")
        assert response.status_code == 501


class TestQodSessionValidation:
    """CAMARA qod-api.yaml constraints the request schema must enforce (400s)."""