from unittest.mock import patch from agent import ( A2H2ATicket, Context, Governance, ProposedAction, TicketSource, create_a2h2a_ticket, ) @patch("agent._call_tool") def test_create_a2h2a_ticket_forwards_dry_run(mock_call_tool): dry_run_ticket = A2H2ATicket( dry_run=True, source=TicketSource( reporter="test", trigger="test", affected_service="test", project_id="test", ), proposed_action=ProposedAction( execution_tool="test", tool_parameters={}, ), context=Context( summary="test", user_justification="test", conversation_history=[], ), severity="LOW", governance=Governance( approval_status="PENDING", authorized_approver="test", requires_mfa=True, timeout_minutes=15, ), ) create_a2h2a_ticket(dry_run_ticket) mock_call_tool.assert_called_once() tool_name, payload = mock_call_tool.call_args.args assert tool_name == "create_a2h2a_ticket" assert payload["dry_run"] is True assert payload["source"]["reporter"] == "test" assert payload["proposed_action"]["execution_tool"] == "test"