"""Tests for GET /health and GET /health/provider.""" from unittest.mock import patch import pytest from tests.conftest import ANTHROPIC_CONFIG, LMSTUDIO_CONFIG, MISSING_KEY_ANTHROPIC_CONFIG _LOAD_CONFIG = "app.routers.health.load_ai_config" @pytest.mark.asyncio async def test_health_returns_ok(ai_client): resp = await ai_client.get("/health") assert resp.status_code == 200 assert resp.json() == {"status": "ok"} @pytest.mark.asyncio async def test_provider_status_configured(ai_client): with patch(_LOAD_CONFIG, return_value=LMSTUDIO_CONFIG): resp = await ai_client.get("/health/provider") assert resp.status_code == 200 data = resp.json() assert data["provider"] == "lmstudio" assert data["model"] == "test-model" assert data["configured"] is True @pytest.mark.asyncio async def test_provider_status_not_configured_when_api_key_missing(ai_client): with patch(_LOAD_CONFIG, return_value=MISSING_KEY_ANTHROPIC_CONFIG): resp = await ai_client.get("/health/provider") assert resp.status_code == 200 data = resp.json() assert data["provider"] == "anthropic" assert data["configured"] is False