tmux-amq/tests/test_policy.py

27 lines
966 B
Python
Raw Normal View History

from tamq.policy import load_profile
def test_default_policy(tmp_path):
profile = load_profile(tmp_path / "missing.toml")
assert profile.name == "default"
assert "secrets" in profile.require_human
def test_configured_policy(tmp_path):
path = tmp_path / "config.toml"
path.write_text("[policy.profiles.dev]\nallow=['repo_inspect']\nrequire_human=['destructive']\nsafety_gated_max_attempts=2\ndelivery_max_attempts=3\n")
profile = load_profile(path, "dev")
assert profile.safety_gated_max_attempts == 2
assert profile.delivery_max_attempts == 3
def test_delivery_attempt_cap_is_bounded(tmp_path):
path = tmp_path / "config.toml"
path.write_text("[policy.profiles.bad]\ndelivery_max_attempts=10\n")
try:
load_profile(path, "bad")
except ValueError as exc:
assert str(exc) == "delivery_max_attempts must be between 1 and 9"
else:
raise AssertionError("invalid delivery cap was accepted")