mirror of
https://github.com/langgenius/dify.git
synced 2026-05-24 10:57:52 +08:00
55 lines
1.7 KiB
Python
55 lines
1.7 KiB
Python
"""Meta endpoint /openapi/v1/_version — no auth, returns version + edition."""
|
|
|
|
from __future__ import annotations
|
|
|
|
|
|
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 ("SELF_HOSTED", "CLOUD")
|
|
|
|
|
|
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):
|
|
from configs import dify_config
|
|
|
|
monkeypatch.setattr(dify_config, "EDITION", "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_falls_back_to_self_hosted_on_unexpected_edition(openapi_app, monkeypatch):
|
|
from configs import dify_config
|
|
|
|
monkeypatch.setattr(dify_config, "EDITION", "EXPERIMENTAL")
|
|
|
|
client = openapi_app.test_client()
|
|
response = client.get("/openapi/v1/_version")
|
|
|
|
assert response.status_code == 200
|
|
assert response.get_json()["edition"] == "SELF_HOSTED"
|