File size: 1,341 Bytes
8a87cbb | 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 aegis.agents import PlannerAgent
from aegis.core import AgentContext, Task
@pytest.mark.asyncio
async def test_planner_returns_structured_plan() -> None:
planner = PlannerAgent()
context = AgentContext(
task=Task(
name="Build API",
description="Create and validate a small API endpoint.",
)
)
result = await planner.run(context)
assert result.success is True
assert result.agent_name == "planner"
assert result.output["task_name"] == "Build API"
assert len(result.output["steps"]) == 3
@pytest.mark.asyncio
async def test_planner_steps_have_sequential_ids() -> None:
planner = PlannerAgent()
context = AgentContext(
task=Task(
name="Validate repository",
description="Run repository validation checks.",
)
)
result = await planner.run(context)
step_ids = [step["id"] for step in result.output["steps"]]
assert step_ids == [1, 2, 3]
@pytest.mark.asyncio
async def test_planner_output_is_bounded() -> None:
planner = PlannerAgent()
context = AgentContext(
task=Task(
name="Small task",
description="Produce a concise execution plan.",
)
)
result = await planner.run(context)
assert len(result.output["steps"]) <= 3
|