from collections.abc import AsyncIterator import pytest from httpx import ASGITransport, AsyncClient from fastapi_oidc_op.app import create_app from fastapi_oidc_op.config import Settings @pytest.fixture def settings() -> Settings: return Settings(issuer="http://localhost:8000", sqlite_path=":memory:") @pytest.fixture async def client(settings: Settings) -> AsyncIterator[AsyncClient]: app = create_app(settings) transport = ASGITransport(app=app) async with app.router.lifespan_context(app), AsyncClient(transport=transport, base_url=settings.issuer) as ac: yield ac