Files
tatlock/tests/conftest.py
T
jpmschweitzer 958363d44e test: update test suite for PydanticAI integration
- Update conftest for lazy agent initialization
- Update chat router tests for Tatlock capabilities
- Update models router tests for tools capability
- Update responses advanced features tests
- Update main app tests
- Total: 131 tests, 81.78% coverage (up from 95 tests, 78.95%)
2025-12-07 00:13:26 +01:00

53 lines
1.1 KiB
Python

"""
Shared test fixtures for all tests.
Following FastAPI testing best practices.
"""
import pytest
from fastapi.testclient import TestClient
from httpx import AsyncClient, ASGITransport
from src.main import app
@pytest.fixture
def client() -> TestClient:
"""
Synchronous test client for FastAPI.
Use for simple tests that don't require async.
"""
return TestClient(app)
@pytest.fixture
async def async_client() -> AsyncClient:
"""
Async test client for FastAPI.
Use for testing async endpoints and streaming.
"""
async with AsyncClient(
transport=ASGITransport(app=app),
base_url="http://test"
) as client:
yield client
@pytest.fixture
def mock_chat_request() -> dict:
"""Standard chat completion request fixture."""
return {
"model": "Tatlock",
"messages": [
{"role": "user", "content": "Hello, world!"}
],
"temperature": 0.7,
"stream": False,
}
@pytest.fixture
def mock_streaming_chat_request(mock_chat_request) -> dict:
"""Streaming chat completion request fixture."""
return {**mock_chat_request, "stream": True}