| from fastapi.testclient import TestClient | |
| from app.main import app | |
| def test_models_is_public_by_default() -> None: | |
| with TestClient(app) as client: | |
| response = client.get("/v1/models") | |
| assert response.status_code == 200 | |
| def test_models_success() -> None: | |
| with TestClient(app) as client: | |
| response = client.get( | |
| "/v1/models", headers={"Authorization": "Bearer changeme"} | |
| ) | |
| assert response.status_code == 200 | |
| ids = [item["id"] for item in response.json()["data"]] | |
| assert "supertonic-2" in ids | |
| assert "kitten-tts-micro-0.8" in ids | |
| assert "kokoro" in ids | |
| def test_voices_success() -> None: | |
| with TestClient(app) as client: | |
| response = client.get( | |
| "/v1/voices", headers={"Authorization": "Bearer changeme"} | |
| ) | |
| assert response.status_code == 200 | |
| aliases = {item["alias"] for item in response.json()["data"]} | |
| assert "alloy" in aliases | |
| assert "atlas" in aliases | |
| assert "grace" in aliases | |
| def test_kitten_voices_success() -> None: | |
| with TestClient(app) as client: | |
| response = client.get( | |
| "/v1/voices?model=kitten-tts-micro-0.8", | |
| headers={"Authorization": "Bearer changeme"}, | |
| ) | |
| assert response.status_code == 200 | |
| rows = response.json()["data"] | |
| assert {item["alias"] for item in rows} >= {"bella", "jasper", "luna"} | |
| def test_kokoro_voices_success() -> None: | |
| with TestClient(app) as client: | |
| response = client.get( | |
| "/v1/voices?model=kokoro", headers={"Authorization": "Bearer changeme"} | |
| ) | |
| assert response.status_code == 200 | |
| rows = response.json()["data"] | |
| assert any(item["model"] == "kokoro" for item in rows) | |
| assert all(item["alias"].startswith(("af", "am", "bf", "bm")) for item in rows) | |