"""Meta endpoint /openapi/v1/_version — no auth, returns version + edition.""" from __future__ import annotations import pytest from enums import DeploymentEdition from tests.unit_tests.config_override import apply_config_overrides def test_version_endpoint_returns_200_without_auth(openapi_app): client = openapi_app.test_client() response = client.get("/openapi/v1/_version") assert response.status_code == 200 payload = response.get_json() assert isinstance(payload, dict) assert "version" in payload assert "edition" in payload assert isinstance(payload["version"], str) assert payload["edition"] in {edition.value for edition in DeploymentEdition} def test_version_endpoint_ignores_bearer_header(openapi_app): """Endpoint is auth-free — a bogus bearer should not break it.""" client = openapi_app.test_client() response = client.get( "/openapi/v1/_version", headers={"Authorization": "Bearer total-nonsense"}, ) assert response.status_code == 200 payload = response.get_json() assert "version" in payload assert "edition" in payload def test_version_endpoint_reflects_edition_config(openapi_app, monkeypatch: pytest.MonkeyPatch): apply_config_overrides(monkeypatch, DEPLOYMENT_EDITION=DeploymentEdition.CLOUD) client = openapi_app.test_client() response = client.get("/openapi/v1/_version") assert response.status_code == 200 assert response.get_json()["edition"] == "CLOUD" def test_version_endpoint_reflects_enterprise_edition(openapi_app, monkeypatch: pytest.MonkeyPatch): apply_config_overrides(monkeypatch, DEPLOYMENT_EDITION=DeploymentEdition.ENTERPRISE) client = openapi_app.test_client() response = client.get("/openapi/v1/_version") assert response.status_code == 200 assert response.get_json()["edition"] == "ENTERPRISE"