from fastapi.testclient import TestClient from openmusic_analysis.api import create_app from openmusic_analysis.settings import Settings def test_models_endpoint_matches_actual_analyzers(service_bundle): service, _, _ = service_bundle response = TestClient(create_app(service=service, settings=Settings())).get("/v1/models") assert response.status_code == 200 endpoint_models = response.json()["models"] actual = [model.model_dump(mode="json") for model in service.registry.models()] assert endpoint_models == actual assert {item["representation"] for item in endpoint_models} == { "audio.global", "audio.temporal", "lyrics.global", } assert all(len(item["model_version"]) == 40 for item in endpoint_models)