# retoor 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)