Files
devplacepy/tests/api/admin/nodes/killswitch.py
T
retoor 6f80a820da
DevPlace CI / test (push) Failing after 3m13s
Zo doen wijdat in oost
2026-10-16 07:20:44 +02:00

25 lines
1.0 KiB
Python

# retoor <retoor@molodetz.nl>
from devplacepy.database import get_setting, set_setting
from tests.api.admin.nodes.conftest import admin_headers
from tests.api.nodes.conftest import make_member
def test_member_cannot_flip_the_switch(client):
member = make_member()
assert client.post("/admin/nodes/killswitch", json={"enabled": True}, headers=admin_headers(member)).status_code == 403
def test_admin_sets_and_flips_the_switch(client, admin):
previous = get_setting("nodes_enabled", "0")
try:
set_setting("nodes_enabled", "0")
on = client.post("/admin/nodes/killswitch", json={"enabled": True}, headers=admin_headers(admin))
assert on.json()["data"] == {"enabled": True}
assert get_setting("nodes_enabled", "0") == "1"
flipped = client.post("/admin/nodes/killswitch", json={}, headers=admin_headers(admin))
assert flipped.json()["data"] == {"enabled": False}
assert get_setting("nodes_enabled", "1") == "0"
finally:
set_setting("nodes_enabled", previous)