from fastapi.testclient import TestClient from app import app def test_health() -> None: client = TestClient(app) response = client.get("/health") assert response.status_code == 200 assert response.json() == {"status": "ok"} def test_rejects_unsupported_type() -> None: client = TestClient(app) response = client.post( "/gemini", files={"image": ("input.txt", b"not-an-image", "text/plain")}, data={"prompt": "test", "generation_config": "{}"}, ) assert response.status_code == 415 def test_missing_key_returns_service_unavailable(monkeypatch) -> None: monkeypatch.delenv("GEMINI_API_KEY", raising=False) client = TestClient(app) response = client.post( "/gemini", files={"image": ("input.png", b"not-an-image", "image/png")}, data={"prompt": "test", "generation_config": "{}"}, ) assert response.status_code == 503