from fastapi.testclient import TestClient from app.main import create_app from app.core.config import Settings def test_docs_uses_root_path_for_openapi_url() -> None: app = create_app(settings_factory=lambda: Settings(root_path="/portfolio-hub")) with TestClient(app) as client: response = client.get("/docs") assert response.status_code == 200 assert "url: '/portfolio-hub/openapi.json'" in response.text def test_openapi_is_served_under_root_path() -> None: app = create_app(settings_factory=lambda: Settings(root_path="/portfolio-hub")) with TestClient(app) as client: response = client.get("/portfolio-hub/openapi.json") assert response.status_code == 200 assert response.json()["info"]["title"] == "PortfolioHub"