Files
NaliiaBot/tests/test_api.py
aserrador 34053b3fc1 fix: use in-memory checkpointer for API tests to avoid database dependency
- Replace PostgreSQL AsyncPostgresSaver with MemorySaver in test fixtures
- Create test_app fixture with test_lifespan using in-memory dependencies
- Mock LLM model to avoid requiring API keys during tests
- Update test_api.py to use test_app fixture instead of production app
- Fix test_root endpoint URL to match root_path configuration
- All API tests now pass without requiring external services (0.06s vs 30s+ timeout)

This change allows tests to run in isolation without PostgreSQL or API keys,
making them faster and more reliable for CI/CD and local development.
2026-06-10 16:06:10 -05:00

31 lines
642 B
Python

import pytest
from fastapi.testclient import TestClient
@pytest.fixture
def client(test_app):
"""Create a test client using the test app with in-memory dependencies."""
with TestClient(test_app) as client:
yield client
def test_root(client):
response = client.get("/agent/api")
assert response.status_code == 200
def test_health(client):
response = client.get("/health")
assert response.status_code == 200
def test_chat(client):
response = client.post(
"/chat", json={"messages": "Hello, how are you?"}
)
assert response.status_code == 200
assert response.json() is not None