28 lines
944 B
Python
28 lines
944 B
Python
from __future__ import annotations
|
|
|
|
import pytest
|
|
from fastapi import FastAPI
|
|
from fastapi.testclient import TestClient
|
|
|
|
from server.routers.system_router import system
|
|
|
|
pytestmark = pytest.mark.unit
|
|
|
|
|
|
def test_discovery_endpoint_is_public(monkeypatch):
|
|
monkeypatch.setattr("server.routers.system_router.get_version", lambda: "0.7.1.dev0")
|
|
|
|
app = FastAPI()
|
|
app.include_router(system, prefix="/api")
|
|
response = TestClient(app).get("/api/system/discovery")
|
|
|
|
assert response.status_code == 200
|
|
payload = response.json()
|
|
assert payload["name"] == "Yuxi"
|
|
assert payload["version"] == "0.7.1.dev0"
|
|
assert payload["api_prefix"] == "/api"
|
|
assert payload["capabilities"]["cli"]["browser_login"] is True
|
|
assert payload["capabilities"]["cli"]["api_key_auth"] is True
|
|
assert payload["capabilities"]["cli"]["kb_upload"] is True
|
|
assert payload["endpoints"]["cli_auth_sessions"] == "/api/auth/cli/sessions"
|