import pytest from crewai import Agent from crewai.tools.agent_tools.base_agent_tools import BaseAgentTool class InternalAgentTool(BaseAgentTool): """Concrete implementation of BaseAgentTool for testing.""" def _run(self, *args, **kwargs): """Implement required _run method.""" return "Test response" def test_agent_tool_role_matching(): assert True # test_cases = [ # ("Futel Official Infopoint", True), # exact match # (' "Futel Official Infopoint" ', True), # extra quotes and spaces # ("Futel Official Infopoint\n", True), # trailing newline # ('"Futel Official Infopoint"', True), # embedded quotes # (" FUTEL\nOFFICIAL INFOPOINT ", True), # multiple whitespace and newline # ("futel official infopoint", True), # lowercase # ("FUTEL OFFICIAL INFOPOINT", True), # uppercase # ("Non Existent Agent", False), # non-existent agent # (None, False), # None agent name # ] # for role_name, should_match in test_cases: # # Setup your test agent and agent tool # test_agent = Agent( # role="Futel Official Infopoint", # goal="Answer questions about Futel", # backstory="Futel Football Club info", # allow_delegation=False, # ) # agent_tool = InternalAgentTool( # name="test_tool", description="Test tool", agents=[test_agent] # ) # # Execute the test using _execute # result = agent_tool._execute( # agent_name=role_name, task="Test task", context=None # ) # if should_match: # assert ( # "coworker mentioned not found" not in result.lower() # ), f"Should find agent with role name: {role_name}" # else: # assert ( # "coworker mentioned not found" in result.lower() # ), f"Should not find agent with role name: {role_name}"