test: add unit test suite for config, health checks, and lifespan wiring

This commit is contained in:
2026-08-16 11:54:14 +03:30
parent 3c660de093
commit d71dd1bd0c
19 changed files with 118 additions and 0 deletions

37
tests/conftest.py Normal file
View File

@@ -0,0 +1,37 @@
from collections.abc import AsyncIterator
import pytest
import pytest_asyncio
from asgi_lifespan import LifespanManager
from fastapi import FastAPI
from httpx import ASGITransport, AsyncClient
from src.config import Settings
from src.main import create_app
@pytest.fixture
def settings() -> Settings:
return Settings(
postgres={"host": "127.0.0.1", "port": 1},
minio={"endpoint": "127.0.0.1:1"},
ingestion={"timeout_seconds": 1.0},
qdrant={"url": "http://127.0.0.1:1"},
app={"readiness_check_timeout_seconds": 0.5},
)
@pytest.fixture
def app(settings: Settings) -> FastAPI:
return create_app(settings)
@pytest_asyncio.fixture
async def client(app: FastAPI) -> AsyncIterator[AsyncClient]:
async with (
LifespanManager(app) as manager,
AsyncClient(
transport=ASGITransport(app=manager.app), base_url="http://test"
) as async_client,
):
yield async_client