Download tests/test_setup.py from Aaryan17/MAC: direct link, hf CLI and curl.
- Browser
- Download file 1.58 kB
-
https://huggingface.co/spaces/Aaryan17/MAC/resolve/main/tests/test_setup.py
- Command line
-
hf download hf://spaces/Aaryan17/MAC/tests/test_setup.py
-
curl -L -o test_setup.py https://huggingface.co/spaces/Aaryan17/MAC/resolve/main/tests/test_setup.py
1.58 kB
| """Tests for first-boot /setup flow.""" | |
| import pytest | |
| async def test_status_first_run_when_no_admin(client): | |
| resp = await client.get("/api/v1/setup/status") | |
| assert resp.status_code == 200 | |
| data = resp.json() | |
| assert data["is_first_run"] is True | |
| assert "version" in data | |
| async def test_create_admin_then_setup_closed(client): | |
| resp = await client.post( | |
| "/api/v1/setup/create-admin", | |
| json={"name": "Founder", "email": "founder@mbm.edu", "password": "supersecret123"}, | |
| ) | |
| assert resp.status_code == 200, resp.text | |
| body = resp.json() | |
| assert body["access_token"] | |
| assert body["user"]["role"] == "admin" | |
| assert body["user"]["is_founder"] is True | |
| # Setup is now closed | |
| status = await client.get("/api/v1/setup/status") | |
| assert status.json()["is_first_run"] is False | |
| # Second attempt rejected | |
| again = await client.post( | |
| "/api/v1/setup/create-admin", | |
| json={"name": "Other", "email": "other@mbm.edu", "password": "supersecret123"}, | |
| ) | |
| assert again.status_code == 409 | |
| async def test_create_admin_rejects_short_password(client): | |
| resp = await client.post( | |
| "/api/v1/setup/create-admin", | |
| json={"name": "X", "email": "x@mbm.edu", "password": "short"}, | |
| ) | |
| assert resp.status_code == 422 # pydantic validation | |
| async def test_recovery_localhost_only(client): | |
| # httpx ASGITransport sets request.client to 127.0.0.1 by default | |
| resp = await client.get("/api/v1/setup/recovery") | |
| assert resp.status_code == 200 | |
| assert resp.json()["ok"] is True | |