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")