Spaces:
Runtime error
Runtime error
File size: 1,894 Bytes
595d60e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | import pytest
from app.agents.dev_agent import DevAgent
def test_dev_agent_clarification_flow():
agent = DevAgent()
history = []
# 1. First prompt (generic requirement description)
result = agent.process(
session_id="test-session",
user_message="I want to create an agent that analyzes incoming support requests and alerts.",
history=history,
state_init=None
)
assert result["status"] == "awaiting_clarification"
assert len(result["clarification_questions"]) > 0
assert result["draft_spec"] is None
def test_dev_agent_complete_generation_flow():
agent = DevAgent()
# Simulate collected requirements state
state_init = {
"extracted_requirements": {
"name": "Support Alert Agent",
"description": "Analyzes alerts and posts to REST API",
"trigger": "api",
"connection": "api",
"connection_base_url": "https://api.pagerduty.com",
"error_on_failure": "retry",
"retry_max_attempts": 3,
"mode": "workflow"
},
"missing_information": [],
"clarification_questions": [],
"draft_spec": None,
"validation_result": None,
"status": "collecting_requirements"
}
result = agent.process(
session_id="test-session",
user_message="Make the API connection base URL https://api.pagerduty.com and trigger via API call. Failures should retry 3 times.",
history=[],
state_init=state_init
)
assert result["status"] == "completed"
assert result["draft_spec"] is not None
assert result["draft_spec"]["name"] == "Support Alert Agent"
assert result["draft_spec"]["connection"]["config"]["base_url"] == "https://api.pagerduty.com"
assert result["draft_spec"]["error_handling"]["retry"]["max_attempts"] == 3
|