test_agent_subagents.py 1.5 KB

1234567891011121314151617181920212223242526272829303132
  1. from agency_swarm import Agent
  2. # --- Subagent Registration Tests ---
  3. def test_register_subagent(minimal_agent):
  4. """Test registering a subagent."""
  5. recipient = Agent(name="Recipient", instructions="Receive messages")
  6. minimal_agent.register_subagent(recipient)
  7. send_tool = next(tool for tool in minimal_agent.tools if getattr(tool, "name", "").startswith("send_message"))
  8. assert recipient.name in [agent.name for agent in send_tool.recipients.values()]
  9. def test_register_subagent_adds_send_message_tool(minimal_agent):
  10. """Test that registering a subagent adds the send_message tool."""
  11. recipient = Agent(name="Recipient", instructions="Receive messages")
  12. minimal_agent.register_subagent(recipient)
  13. tool_names = [getattr(tool, "name", None) for tool in minimal_agent.tools]
  14. assert "send_message" in tool_names
  15. def test_register_subagent_idempotent(minimal_agent):
  16. """Test that registering the same subagent multiple times is idempotent."""
  17. recipient = Agent(name="Recipient", instructions="Receive messages")
  18. minimal_agent.register_subagent(recipient)
  19. initial_tool_count = len(minimal_agent.tools)
  20. send_tool = next(tool for tool in minimal_agent.tools if getattr(tool, "name", "").startswith("send_message"))
  21. initial_recipient_count = len(send_tool.recipients)
  22. # Register again
  23. minimal_agent.register_subagent(recipient)
  24. assert len(minimal_agent.tools) == initial_tool_count
  25. assert len(send_tool.recipients) == initial_recipient_count