diff --git a/src/app/routers.py b/src/app/routers.py index 1609e7c5..fd17e26c 100644 --- a/src/app/routers.py +++ b/src/app/routers.py @@ -25,8 +25,10 @@ def include_routers(app: FastAPI) -> None: app.include_router(info.router, prefix="/v1") app.include_router(models.router, prefix="/v1") app.include_router(query.router, prefix="/v1") - app.include_router(health.router, prefix="/v1") + app.include_router(streaming_query.router, prefix="/v1") app.include_router(config.router, prefix="/v1") app.include_router(feedback.router, prefix="/v1") - app.include_router(streaming_query.router, prefix="/v1") - app.include_router(authorized.router, prefix="/v1") + + # road-core does not version these endpoints + app.include_router(health.router) + app.include_router(authorized.router) diff --git a/tests/unit/app/test_routers.py b/tests/unit/app/test_routers.py index 4cb18c3a..9b1a94c9 100644 --- a/tests/unit/app/test_routers.py +++ b/tests/unit/app/test_routers.py @@ -22,11 +22,17 @@ class MockFastAPI: def __init__(self) -> None: """Initialize mock class.""" - self.routers: list[Any] = [] + self.routers: list[tuple[Any, Optional[str]]] = [] def include_router(self, router: Any, prefix: Optional[str] = None) -> None: """Register new router.""" - self.routers.append(router) + self.routers.append((router, prefix)) + + def get_routers(self) -> list[Any]: + return [r[0] for r in self.routers] + + def get_router_prefix(self, router: Any) -> Optional[str]: + return list(filter(lambda r: r[0] == router, self.routers))[0][1] def test_include_routers() -> None: @@ -36,12 +42,30 @@ def test_include_routers() -> None: # are all routers added? assert len(app.routers) == 9 - assert root.router in app.routers - assert info.router in app.routers - assert models.router in app.routers - assert query.router in app.routers - assert health.router in app.routers - assert config.router in app.routers - assert feedback.router in app.routers - assert streaming_query.router in app.routers - assert authorized.router in app.routers + assert root.router in app.get_routers() + assert info.router in app.get_routers() + assert models.router in app.get_routers() + assert query.router in app.get_routers() + assert streaming_query.router in app.get_routers() + assert config.router in app.get_routers() + assert feedback.router in app.get_routers() + assert health.router in app.get_routers() + assert authorized.router in app.get_routers() + + +def test_check_prefixes() -> None: + """Test the router prefixes.""" + app = MockFastAPI() + include_routers(app) + + # are all routers added? + assert len(app.routers) == 9 + assert app.get_router_prefix(root.router) is None + assert app.get_router_prefix(info.router) == "/v1" + assert app.get_router_prefix(models.router) == "/v1" + assert app.get_router_prefix(query.router) == "/v1" + assert app.get_router_prefix(streaming_query.router) == "/v1" + assert app.get_router_prefix(config.router) == "/v1" + assert app.get_router_prefix(feedback.router) == "/v1" + assert app.get_router_prefix(health.router) is None + assert app.get_router_prefix(authorized.router) is None