cai/tests/test_config_loader_agents.py

70 lines
2.1 KiB
Python

from cai.config_loader import extract_agent_definitions
def test_extract_agent_definitions_parallel_agents():
data = {
"description": "Example",
"shared": {"prompt": "Shared task", "auto_run": False},
"parallel_agents": [
{"name": "alpha_agent", "team": "Team A", "env": {"FLAG": True}},
{
"name": "beta_agent",
"prompt": "Custom",
"auto_run": True,
"model": "alias1",
},
],
}
agents, metadata, origin = extract_agent_definitions(data)
assert origin == "parallel_agents"
assert metadata["shared_prompt"] == "Shared task"
assert metadata["auto_run"] is False
assert len(agents) == 2
first, second = agents
assert first["agent_name"] == "alpha_agent"
assert first["team"] == "Team A"
assert first["prompt"] == "Shared task"
assert first["env"] == {"FLAG": True}
assert first["auto_run"] is False
assert second["agent_name"] == "beta_agent"
assert second["prompt"] == "Custom"
assert second["model"] == "alias1"
assert second["auto_run"] is True
def test_extract_agent_definitions_tui_startup_legacy():
data = {
"tui_startup": {
"shared_prompt": "Legacy shared",
"auto_run": False,
"teams": [
{
"name": "Legacy Team",
"prompt": "Team prompt",
"agents": [
{"name": "alpha_agent", "auto_run": True},
{"name": "beta_agent"},
],
}
],
}
}
agents, metadata, origin = extract_agent_definitions(data)
assert origin == "tui_startup"
assert metadata["shared_prompt"] == "Legacy shared"
assert metadata["auto_run"] is False
assert len(agents) == 2
alpha, beta = agents
assert alpha["team"] == "Legacy Team"
assert alpha["prompt"] == "Team prompt"
assert alpha["auto_run"] is True
assert beta["prompt"] == "Team prompt"
assert beta["auto_run"] is False