atlasops / tests /test_approval.py
Harikishanth R
fix: skip-kubectl + scroll + health — HF Space ready
7e9a520
"""Tests for approval gate behavior."""
import asyncio
def test_approval_policy_mapping():
from agents.approval import approval_mode_for_severity
assert approval_mode_for_severity("P0") == "manual"
assert approval_mode_for_severity("P1") == "approve"
assert approval_mode_for_severity("P2") == "auto"
assert approval_mode_for_severity("P3") == "auto"
assert approval_mode_for_severity("UNKNOWN") == "approve"
def test_approval_gate_approve_roundtrip():
from agents.approval import ApprovalGate
gate = ApprovalGate(timeout_seconds=2)
req = gate.request("inc-1", "P1", "rollback checkoutservice")
cb = gate.callback(req.token, "approved", approved_by="hari")
assert cb["ok"] is True
result = asyncio.run(gate.wait_for_decision("inc-1"))
assert result["status"] == "approved"
assert result["approved_by"] == "hari"
def test_approval_gate_timeout():
from agents.approval import ApprovalGate
gate = ApprovalGate(timeout_seconds=1)
gate.request("inc-timeout", "P1", "scale service")
result = asyncio.run(gate.wait_for_decision("inc-timeout"))
assert result["status"] == "timeout"
def test_approval_callback_rejects_unknown_token():
from agents.approval import ApprovalGate
gate = ApprovalGate(timeout_seconds=1)
result = gate.callback("missing-token", "approved")
assert result["ok"] is False