26 lines
744 B
Python
26 lines
744 B
Python
"""元炁健康检查端点测试。"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from fastapi import status
|
|
from fastapi.testclient import TestClient
|
|
|
|
from src.main import app
|
|
|
|
client = TestClient(app)
|
|
|
|
|
|
def test_healthz_returns_200() -> None:
|
|
"""健康检查端点应始终返回 200(即使在未加载模型时也返回可用状态信息)。"""
|
|
resp = client.get("/healthz")
|
|
assert resp.status_code == status.HTTP_200_OK
|
|
|
|
data = resp.json()
|
|
assert data["status"] in ("ok", "degraded", "error")
|
|
assert "engines" in data
|
|
assert "llm" in data["engines"]
|
|
assert "embedding" in data["engines"]
|
|
assert "reranker" in data["engines"]
|
|
assert "version" in data
|
|
assert isinstance(data["loaded_models"], list)
|