Coverage for tests/conftest.py: 100%

20 statements  

« 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 

4 

5from main import app 

6from database import get_db 

7 

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 

14 

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 

20 

21 app.dependency_overrides[get_db] = _override_get_db 

22 yield 

23 app.dependency_overrides.clear() 

24 

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