Coverage for tests/conftest.py: 100%
20 statements
« prev ^ index » next coverage.py v7.14.1, created at 2026-05-31 21:56 +0000
« prev ^ index » next coverage.py v7.14.1, created at 2026-05-31 21:56 +0000
1import pytest
2from httpx import AsyncClient, ASGITransport
3from unittest.mock import MagicMock
5from main import app
6from database import get_db
8# Create a mock database session
9@pytest.fixture
10def mock_db_session():
11 # It yields a MagicMock which acts like the duckdb cursor
12 session = MagicMock()
13 return session
15# Override the FastAPI dependency
16@pytest.fixture
17def override_get_db(mock_db_session):
18 def _override_get_db():
19 yield mock_db_session
21 app.dependency_overrides[get_db] = _override_get_db
22 yield
23 app.dependency_overrides.clear()
25@pytest.fixture
26async def async_client(override_get_db):
27 async with AsyncClient(
28 transport=ASGITransport(app=app), base_url="http://test"
29 ) as client:
30 yield client