fixing tests and removing warnings

This commit is contained in:
João Moura
2025-06-08 16:54:25 -07:00
parent 27592f5024
commit 49f8983b76
2 changed files with 41 additions and 26 deletions

View File

@@ -90,6 +90,18 @@ dev-dependencies = [
"pytest-timeout>=2.3.1", "pytest-timeout>=2.3.1",
] ]
[tool.pytest.ini_options]
filterwarnings = [
# Suppress Pydantic field conflict warnings from StagehandTool in crewai_tools
"ignore:Field \"model_api_key\" in StagehandTool has conflict with protected namespace \"model_\".:UserWarning",
"ignore:Field \"model_name\" in StagehandTool has conflict with protected namespace \"model_\".:UserWarning",
# Suppress Pydantic V2 deprecation warning for json_encoders
"ignore:`json_encoders` is deprecated.*:pydantic.warnings.PydanticDeprecatedSince20",
# Suppress pytest-asyncio configuration warning
"ignore:The configuration option \"asyncio_default_fixture_loop_scope\" is unset.*:pytest.PytestDeprecationWarning",
]
asyncio_default_fixture_loop_scope = "function"
[project.scripts] [project.scripts]
crewai = "crewai.cli.cli:crewai" crewai = "crewai.cli.cli:crewai"

View File

@@ -7,67 +7,70 @@ from crewai.task import Task
def test_agent_inject_date(): def test_agent_inject_date():
"""Test that the inject_date flag injects the current date into the task. """Test that the inject_date flag injects the current date into the task.
Tests that when inject_date=True, the current date is added to the task description. Tests that when inject_date=True, the current date is added to the task description.
""" """
with patch('datetime.datetime') as mock_datetime: with patch('datetime.datetime') as mock_datetime:
mock_datetime.now.return_value = datetime(2025, 1, 1) mock_datetime.now.return_value = datetime(2025, 1, 1)
agent = Agent( agent = Agent(
role="test_agent", role="test_agent",
goal="test_goal", goal="test_goal",
backstory="test_backstory", backstory="test_backstory",
inject_date=True, inject_date=True,
) )
task = Task( task = Task(
description="Test task", description="Test task",
expected_output="Test output", expected_output="Test output",
agent=agent, agent=agent,
) )
# Store original description # Store original description
original_description = task.description original_description = task.description
agent._inject_date_to_task(task) agent._inject_date_to_task(task)
assert "Current Date: 2025-01-01" in task.description assert "Current Date: 2025-01-01" in task.description
assert task.description != original_description assert task.description != original_description
def test_agent_without_inject_date(): def test_agent_without_inject_date():
"""Test that without inject_date flag, no date is injected.
Tests that when inject_date=False (default), no date is added to the task description.
""" """
Tests that when inject_date=True (default).
"""
with patch('datetime.datetime') as mock_datetime:
mock_datetime.now.return_value = datetime(2025, 1, 1)
agent = Agent( agent = Agent(
role="test_agent", role="test_agent",
goal="test_goal", goal="test_goal",
backstory="test_backstory", backstory="test_backstory",
# inject_date is False by default # inject_date is True by default
) )
task = Task( task = Task(
description="Test task", description="Test task",
expected_output="Test output", expected_output="Test output",
agent=agent, agent=agent,
) )
original_description = task.description original_description = task.description
agent._inject_date_to_task(task) agent._inject_date_to_task(task)
assert task.description == original_description assert "Current Date: 2025-01-01" in task.description
assert task.description != original_description
def test_agent_inject_date_custom_format(): def test_agent_inject_date_custom_format():
"""Test that the inject_date flag with custom date_format works correctly. """Test that the inject_date flag with custom date_format works correctly.
Tests that when inject_date=True with a custom date_format, the date is formatted correctly. Tests that when inject_date=True with a custom date_format, the date is formatted correctly.
""" """
with patch('datetime.datetime') as mock_datetime: with patch('datetime.datetime') as mock_datetime:
mock_datetime.now.return_value = datetime(2025, 1, 1) mock_datetime.now.return_value = datetime(2025, 1, 1)
agent = Agent( agent = Agent(
role="test_agent", role="test_agent",
goal="test_goal", goal="test_goal",
@@ -75,25 +78,25 @@ def test_agent_inject_date_custom_format():
inject_date=True, inject_date=True,
date_format="%d/%m/%Y", date_format="%d/%m/%Y",
) )
task = Task( task = Task(
description="Test task", description="Test task",
expected_output="Test output", expected_output="Test output",
agent=agent, agent=agent,
) )
# Store original description # Store original description
original_description = task.description original_description = task.description
agent._inject_date_to_task(task) agent._inject_date_to_task(task)
assert "Current Date: 01/01/2025" in task.description assert "Current Date: 01/01/2025" in task.description
assert task.description != original_description assert task.description != original_description
def test_agent_inject_date_invalid_format(): def test_agent_inject_date_invalid_format():
"""Test error handling with invalid date format. """Test error handling with invalid date format.
Tests that when an invalid date_format is provided, the task description remains unchanged. Tests that when an invalid date_format is provided, the task description remains unchanged.
""" """
agent = Agent( agent = Agent(
@@ -103,15 +106,15 @@ def test_agent_inject_date_invalid_format():
inject_date=True, inject_date=True,
date_format="invalid", date_format="invalid",
) )
task = Task( task = Task(
description="Test task", description="Test task",
expected_output="Test output", expected_output="Test output",
agent=agent, agent=agent,
) )
original_description = task.description original_description = task.description
agent._inject_date_to_task(task) agent._inject_date_to_task(task)
assert task.description == original_description assert task.description == original_description