OSVauco/agents/core-logic/test_agent.py

49 lines
1.3 KiB
Python

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"