@@ -147,3 +147,17 @@ def test_scheduling_tools_are_hidden_from_guests():
|
||||
}
|
||||
for name in ("create_task", "update_task", "run_task_now"):
|
||||
assert name not in guest
|
||||
|
||||
|
||||
def test_sync_tools_are_admin_only_and_match_the_routes():
|
||||
from devplacepy.main import app
|
||||
from devplacepy.services.sync.spec import KINDS
|
||||
|
||||
paths = set(app.openapi()["paths"])
|
||||
for kind in KINDS:
|
||||
action = BY_NAME[f"sync_{kind}"]
|
||||
assert action.method == "POST" and action.path == f"/sync/{kind}"
|
||||
assert action.requires_admin is True
|
||||
assert action.path in paths
|
||||
assert {param.name for param in action.params} == {"origin", "records", "dry_run"}
|
||||
assert _records_mutation(action.name) is True
|
||||
|
||||
Reference in New Issue
Block a user