31 lines
651 B
Python
31 lines
651 B
Python
|
|
import os
|
||
|
|
|
||
|
|
import pytest
|
||
|
|
from fastapi.testclient import TestClient
|
||
|
|
|
||
|
|
|
||
|
|
@pytest.fixture()
|
||
|
|
def client(monkeypatch):
|
||
|
|
monkeypatch.setenv("SKIP_DB_MIGRATE", "1")
|
||
|
|
import importlib
|
||
|
|
|
||
|
|
import main as main_module
|
||
|
|
|
||
|
|
importlib.reload(main_module)
|
||
|
|
return TestClient(main_module.app)
|
||
|
|
|
||
|
|
|
||
|
|
def test_app_importable():
|
||
|
|
import main
|
||
|
|
|
||
|
|
assert main.app is not None
|
||
|
|
|
||
|
|
|
||
|
|
def test_health_endpoint(client):
|
||
|
|
response = client.get("/api/health")
|
||
|
|
assert response.status_code == 200
|
||
|
|
payload = response.json()
|
||
|
|
assert payload["app"] == "jinkendo-kairo"
|
||
|
|
assert payload["status"] in {"ok", "degraded"}
|
||
|
|
assert payload["db"] in {"ok", "error"}
|