cai/tests/continuous_ops/test_loop_runner_worker_age...

50 lines
1.5 KiB
Python

"""Worker agent type defaults for continuous_ops ticks."""
from __future__ import annotations
import json
from pathlib import Path
from cai.continuous_ops.loop_runner import LoopConfig
def test_loop_config_defaults_worker_agent_to_blueteam(tmp_path: Path) -> None:
(tmp_path / "run_loop_config.json").write_text(
json.dumps(
{
"tick_seconds": 60,
"tick_prompt": "x",
"privileged": False,
"cai_argv": ["cai"],
"python_interpreter": "/usr/bin/python3",
"log_full_days": 7,
"log_delete_after_days": 15,
"entry_script": "run_loop.py",
}
),
encoding="utf-8",
)
cfg = LoopConfig.load(tmp_path)
assert cfg.worker_agent_type == "blueteam_agent"
def test_loop_config_respects_worker_agent_override(tmp_path: Path) -> None:
(tmp_path / "run_loop_config.json").write_text(
json.dumps(
{
"tick_seconds": 60,
"tick_prompt": "x",
"privileged": False,
"cai_argv": ["cai"],
"python_interpreter": "/usr/bin/python3",
"log_full_days": 7,
"log_delete_after_days": 15,
"entry_script": "run_loop.py",
"worker_agent_type": "selection_agent",
}
),
encoding="utf-8",
)
cfg = LoopConfig.load(tmp_path)
assert cfg.worker_agent_type == "selection_agent"