MAC / tests /test_system.py
Aaryan17's picture
chore: upload MAC codebase to HF Space
0e76632 verified
"""Tests for /system endpoints."""
import pytest
async def test_version_endpoint(client):
resp = await client.get("/api/v1/system/version")
assert resp.status_code == 200
data = resp.json()
assert "version" in data
assert data["version"] # non-empty
async def test_update_status_endpoint(client):
resp = await client.get("/api/v1/system/update-status")
assert resp.status_code == 200
data = resp.json()
# Will return offline placeholder if GitHub unreachable / Redis missing — that's fine
assert "current" in data
assert "update_available" in data
assert data["current"]
async def test_admin_restart_requires_auth(client):
resp = await client.post("/api/v1/admin/system/restart")
assert resp.status_code in (401, 403)
async def test_admin_restart_with_admin(client, admin_headers):
resp = await client.post("/api/v1/admin/system/restart", headers=admin_headers)
assert resp.status_code == 200
assert resp.json()["ok"] is True
async def test_student_cannot_restart(client, auth_headers):
resp = await client.post("/api/v1/admin/system/restart", headers=auth_headers)
assert resp.status_code == 403