Files
state-hub/tests/test_policy_router.py

22 lines
953 B
Python

from api.routers import policy
async def test_policy_router_reads_and_updates_policy(client, tmp_path, monkeypatch) -> None:
monkeypatch.setattr(policy, "POLICY_DIR", tmp_path)
(tmp_path / "example.md").write_text("old content")
read_response = await client.get("/policy/example")
update_response = await client.put("/policy/example", json={"content": "new content"})
assert read_response.status_code == 200
assert read_response.json() == {"name": "example", "content": "old content"}
assert update_response.status_code == 200
assert update_response.json() == {"name": "example", "content": "new content"}
assert (tmp_path / "example.md").read_text() == "new content"
async def test_policy_router_rejects_invalid_policy_name(client, tmp_path, monkeypatch) -> None:
monkeypatch.setattr(policy, "POLICY_DIR", tmp_path)
response = await client.get("/policy/BadName")
assert response.status_code == 400