25 lines
1.0 KiB
Python
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)
|