diff --git a/tests/agent_test.py b/tests/agent_test.py index ecbbbd4ee..c57f2bee7 100644 --- a/tests/agent_test.py +++ b/tests/agent_test.py @@ -734,6 +734,7 @@ def test_agent_error_on_parsing_tool(capsys): from unittest.mock import patch from crewai.tools import tool + from crewai.tools.tool_usage import ToolUsage @tool def get_final_answer() -> float: @@ -763,11 +764,22 @@ def test_agent_error_on_parsing_tool(capsys): verbose=True, function_calling_llm="gpt-4o", ) - with patch.object(ToolUsage, "_original_tool_calling") as force_exception_1: - force_exception_1.side_effect = Exception("Error on parsing tool.") - with patch.object(ToolUsage, "_render") as force_exception_2: - force_exception_2.side_effect = Exception("Error on parsing tool.") + + # Mock the ToolUsage.use method to simulate parsing errors + call_count = [0] + + def mock_use(calling, tool_string): + call_count[0] += 1 + if call_count[0] > 2: # After showing the error a couple times, raise an exception to stop + raise Exception("Max attempts reached") + return "Error on parsing tool." + + with patch.object(ToolUsage, "use", side_effect=mock_use): + try: crew.kickoff() + except Exception: + pass # Expected to raise an exception to stop the test + captured = capsys.readouterr() assert "Error on parsing tool." in captured.out @@ -1205,6 +1217,7 @@ def test_agent_max_retry_limit(): goal="test goal", backstory="test backstory", max_retry_limit=1, + inject_date=False, # Disable date injection for this test ) task = Task( @@ -1988,6 +2001,7 @@ def test_get_knowledge_search_query(): backstory="I have access to knowledge sources", llm=LLM(model="gpt-4"), knowledge_sources=[string_source], + inject_date=False, # Disable date injection for this test ) task = Task(