import pytest_asyncio from httpx import AsyncClient, ASGITransport from fooder.app import app from fooder.db import get_db_session @pytest_asyncio.fixture async def client(db_session): async def override_get_db_session(): yield db_session app.dependency_overrides[get_db_session] = override_get_db_session async with AsyncClient(transport=ASGITransport(app=app), base_url="http://test") as c: yield c app.dependency_overrides.clear() @pytest_asyncio.fixture async def auth_client(client, user, user_password): response = await client.post( "/api/token", data={"username": user.username, "password": user_password}, ) token = response.json()["access_token"] client.headers["Authorization"] = f"Bearer {token}" yield client del client.headers["Authorization"]