Files
playground/app/backend/tests/test_health.py

33 lines
912 B
Python

from fastapi.testclient import TestClient
from hypothesis import given, settings
from hypothesis import strategies as st
from main import app
client = TestClient(app)
def test_liveness_ok():
response = client.get("/health/live")
assert response.status_code == 200
assert response.text == "live"
def test_readiness_ok():
response = client.get("/health/ready")
assert response.status_code == 200
assert response.text == "ready"
def test_detailed_health_pass():
resp = client.get("/health")
assert resp.status_code == 200
body = resp.json()
assert body["status"] == "pass"
assert isinstance(body["checks"], dict)
@given(st.text(min_size=0, max_size=16))
@settings(max_examples=10)
def test_health_resilient_to_query_noise(noise: str):
resp = client.get("/health/live", params={"noise": noise})
assert resp.status_code == 200
assert resp.text == "live"