This repository has been archived on 2026-06-28. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
agent-builder/tests/test_template_init.py
robert 23cdc1e924
All checks were successful
build / build (push) Successful in 26s
fix: require current a2a init scaffold
2026-05-17 08:08:14 -03:00

38 lines
1.5 KiB
Python

from __future__ import annotations
import unittest
from agent_builder.tools import (
_assert_current_a2a_init_template,
_render_a2a_init_template,
)
class TemplateInitTests(unittest.TestCase):
def test_render_a2a_init_template_matches_sdk_starter(self) -> None:
files = _render_a2a_init_template(
"research-agent",
description="Research helper",
)
self.assertEqual(set(files), {"agent.py", "a2a.yaml", "requirements.txt"})
self.assertIn('name = "research-agent"', files["agent.py"])
self.assertIn('description = "Research helper"', files["agent.py"])
self.assertIn("LLMProvisioning.CALLER_PROVIDED", files["agent.py"])
self.assertIn("ctx.llm", files["agent.py"])
self.assertIn("create_deep_agent", files["agent.py"])
self.assertIn("name: research-agent", files["a2a.yaml"])
self.assertIn("entrypoint: agent:ResearchAgent", files["a2a.yaml"])
self.assertIn("deepagents>=0.5.0", files["requirements.txt"])
def test_render_a2a_init_template_rejects_invalid_names(self) -> None:
with self.assertRaises(ValueError):
_render_a2a_init_template("Bad Name")
def test_stale_sdk_template_is_rejected(self) -> None:
with self.assertRaisesRegex(RuntimeError, "stale"):
_assert_current_a2a_init_template({
"agent.py": "from a2a_pack import A2AAgent",
"requirements.txt": "httpx>=0.27",
})