Set up Webber - multi-agent AI development system with: - Domain-based project structure (src/domains/, src/shared/) - BaseController pattern with lazy router instantiation - Pydantic Settings configuration with env file support - Logger decorator with temporal benchmarking and trace IDs - UserProvider singleton for request-scoped context - Custom exception hierarchy - Health endpoints (/, /health) Dependencies (CVE checked 2026-01-09): - FastAPI 0.128.0, Starlette 0.50.0, Uvicorn 0.40.0 - Pydantic 2.12.4, PydanticAI 1.40.0 - All packages at latest safe versions Placeholder domains for future implementation: - agents/ (explore, plan, task) - tools/ (file, shell, search) - auth/ (tatlock integration) Port: 8086 (per CONTAINERS.md allocation) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
30 lines
705 B
Python
30 lines
705 B
Python
"""
|
|
Health endpoint tests.
|
|
"""
|
|
import pytest
|
|
|
|
|
|
@pytest.mark.anyio
|
|
async def test_root(client):
|
|
"""Test root endpoint returns service info."""
|
|
response = await client.get("/")
|
|
assert response.status_code == 200
|
|
|
|
data = response.json()
|
|
assert "Webber" in data["service"]
|
|
assert data["status"] == "healthy"
|
|
assert "version" in data
|
|
assert data["docs"] == "/docs"
|
|
|
|
|
|
@pytest.mark.anyio
|
|
async def test_health_check(client):
|
|
"""Test health check endpoint."""
|
|
response = await client.get("/health")
|
|
assert response.status_code == 200
|
|
|
|
data = response.json()
|
|
assert data["status"] == "healthy"
|
|
assert "Webber" in data["service"]
|
|
assert "version" in data
|