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