mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-04-14 15:02:37 +00:00
fix: add spec= to remaining mocks passed to pydantic models
This commit is contained in:
@@ -1142,18 +1142,21 @@ class TestNativeToolCallingJsonParseError:
|
||||
|
||||
def _make_executor(self, tools: list[BaseTool]) -> "CrewAgentExecutor":
|
||||
"""Create a minimal CrewAgentExecutor with mocked dependencies."""
|
||||
from crewai.agents.agent_builder.base_agent import BaseAgent
|
||||
from crewai.agents.crew_agent_executor import CrewAgentExecutor
|
||||
from crewai.crew import Crew
|
||||
from crewai.task import Task
|
||||
from crewai.tools.base_tool import to_langchain
|
||||
|
||||
structured_tools = to_langchain(tools)
|
||||
mock_agent = Mock()
|
||||
mock_agent = Mock(spec=BaseAgent)
|
||||
mock_agent.key = "test_agent"
|
||||
mock_agent.role = "tester"
|
||||
mock_agent.verbose = False
|
||||
mock_agent.fingerprint = None
|
||||
mock_agent.tools_results = []
|
||||
|
||||
mock_task = Mock()
|
||||
mock_task = Mock(spec=Task)
|
||||
mock_task.name = "test"
|
||||
mock_task.description = "test"
|
||||
mock_task.id = "test-id"
|
||||
@@ -1161,7 +1164,7 @@ class TestNativeToolCallingJsonParseError:
|
||||
return CrewAgentExecutor(
|
||||
agent=mock_agent,
|
||||
task=mock_task,
|
||||
crew=Mock(),
|
||||
crew=Mock(spec=Crew),
|
||||
tools=structured_tools,
|
||||
original_tools=tools,
|
||||
)
|
||||
|
||||
@@ -523,10 +523,12 @@ class TestAgentScopeExtension:
|
||||
|
||||
def test_agent_save_extends_crew_root_scope(self) -> None:
|
||||
"""Agent._save_to_memory extends crew's root_scope with agent info."""
|
||||
from crewai.agents.agent_builder.base_agent import BaseAgent
|
||||
from crewai.agents.agent_builder.base_agent_executor import (
|
||||
BaseAgentExecutor,
|
||||
)
|
||||
from crewai.agents.parser import AgentFinish
|
||||
from crewai.task import Task
|
||||
from crewai.utilities.printer import Printer
|
||||
|
||||
mock_memory = MagicMock()
|
||||
@@ -534,12 +536,12 @@ class TestAgentScopeExtension:
|
||||
mock_memory.root_scope = "/crew/research-crew"
|
||||
mock_memory.extract_memories.return_value = ["Fact A"]
|
||||
|
||||
mock_agent = MagicMock()
|
||||
mock_agent = MagicMock(spec=BaseAgent)
|
||||
mock_agent.memory = mock_memory
|
||||
mock_agent._logger = MagicMock()
|
||||
mock_agent.role = "Researcher"
|
||||
|
||||
mock_task = MagicMock()
|
||||
mock_task = MagicMock(spec=Task)
|
||||
mock_task.description = "Research task"
|
||||
mock_task.expected_output = "Report"
|
||||
|
||||
@@ -557,10 +559,12 @@ class TestAgentScopeExtension:
|
||||
|
||||
def test_agent_save_sanitizes_role(self) -> None:
|
||||
"""Agent role with special chars is sanitized for scope path."""
|
||||
from crewai.agents.agent_builder.base_agent import BaseAgent
|
||||
from crewai.agents.agent_builder.base_agent_executor import (
|
||||
BaseAgentExecutor,
|
||||
)
|
||||
from crewai.agents.parser import AgentFinish
|
||||
from crewai.task import Task
|
||||
from crewai.utilities.printer import Printer
|
||||
|
||||
mock_memory = MagicMock()
|
||||
@@ -568,12 +572,12 @@ class TestAgentScopeExtension:
|
||||
mock_memory.root_scope = "/crew/test"
|
||||
mock_memory.extract_memories.return_value = ["Fact"]
|
||||
|
||||
mock_agent = MagicMock()
|
||||
mock_agent = MagicMock(spec=BaseAgent)
|
||||
mock_agent.memory = mock_memory
|
||||
mock_agent._logger = MagicMock()
|
||||
mock_agent.role = "Senior Research Analyst #1"
|
||||
|
||||
mock_task = MagicMock()
|
||||
mock_task = MagicMock(spec=Task)
|
||||
mock_task.description = "Task"
|
||||
mock_task.expected_output = "Output"
|
||||
|
||||
|
||||
@@ -315,19 +315,21 @@ def test_memory_extract_memories_empty_content_returns_empty_list(tmp_path: Path
|
||||
|
||||
def test_executor_save_to_memory_calls_extract_then_remember_per_item() -> None:
|
||||
"""_save_to_memory calls memory.extract_memories(raw) then memory.remember(m) for each."""
|
||||
from crewai.agents.agent_builder.base_agent import BaseAgent
|
||||
from crewai.agents.agent_builder.base_agent_executor import BaseAgentExecutor
|
||||
from crewai.agents.parser import AgentFinish
|
||||
from crewai.task import Task
|
||||
|
||||
mock_memory = MagicMock()
|
||||
mock_memory.read_only = False
|
||||
mock_memory.extract_memories.return_value = ["Fact A.", "Fact B."]
|
||||
|
||||
mock_agent = MagicMock()
|
||||
mock_agent = MagicMock(spec=BaseAgent)
|
||||
mock_agent.memory = mock_memory
|
||||
mock_agent._logger = MagicMock()
|
||||
mock_agent.role = "Researcher"
|
||||
|
||||
mock_task = MagicMock()
|
||||
mock_task = MagicMock(spec=Task)
|
||||
mock_task.description = "Do research"
|
||||
mock_task.expected_output = "A report"
|
||||
|
||||
@@ -349,16 +351,20 @@ def test_executor_save_to_memory_calls_extract_then_remember_per_item() -> None:
|
||||
|
||||
def test_executor_save_to_memory_skips_delegation_output() -> None:
|
||||
"""_save_to_memory does nothing when output contains delegate action."""
|
||||
from crewai.agents.agent_builder.base_agent import BaseAgent
|
||||
from crewai.agents.agent_builder.base_agent_executor import BaseAgentExecutor
|
||||
from crewai.agents.parser import AgentFinish
|
||||
from crewai.task import Task
|
||||
from crewai.utilities.string_utils import sanitize_tool_name
|
||||
|
||||
mock_memory = MagicMock()
|
||||
mock_memory.read_only = False
|
||||
mock_agent = MagicMock()
|
||||
mock_agent = MagicMock(spec=BaseAgent)
|
||||
mock_agent.memory = mock_memory
|
||||
mock_agent._logger = MagicMock()
|
||||
mock_task = MagicMock(description="Task", expected_output="Out")
|
||||
mock_task = MagicMock(spec=Task)
|
||||
mock_task.description = "Task"
|
||||
mock_task.expected_output = "Out"
|
||||
|
||||
delegate_text = f"Action: {sanitize_tool_name('Delegate work to coworker')}"
|
||||
full_text = delegate_text + " rest"
|
||||
|
||||
Reference in New Issue
Block a user