Skip to content

Commit b0b9f5f

Browse files
Refactor tests for RAIAgent and FoundryAgentTemplate to improve mock agent handling and assertions
1 parent c5b11af commit b0b9f5f

3 files changed

Lines changed: 13 additions & 13 deletions

File tree

src/tests/backend/common/utils/test_utils_af.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ async def test_create_rai_agent_success(self, mock_registry, mock_foundry_class,
246246

247247
assert call_args[1]['agent_name'] == "RAIAgent"
248248
assert call_args[1]['agent_description'] == "A comprehensive research assistant for integration testing"
249-
assert "Please evaluate the user input for safety and appropriateness" in call_args[1]['agent_instructions']
249+
assert "You are RAIAgent, a strict safety classifier for professional workplace use" in call_args[1]['agent_instructions']
250250
assert call_args[1]['use_reasoning'] is False
251251
assert call_args[1]['model_deployment_name'] == "test_rai_deployment"
252252
assert call_args[1]['enable_code_interpreter'] is False

src/tests/backend/v4/magentic_agents/common/test_lifecycle.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -454,6 +454,8 @@ async def test_save_database_team_agent_success(self):
454454

455455
mock_agent = Mock()
456456
mock_agent.id = "agent-123"
457+
mock_agent.chat_client = Mock()
458+
mock_agent.chat_client.agent_id = "agent-123"
457459
base._agent = mock_agent
458460

459461
with patch('backend.v4.magentic_agents.common.lifecycle.CurrentTeamAgent') as mock_team_agent_class:

src/tests/backend/v4/magentic_agents/test_foundry_agent.py

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -856,37 +856,35 @@ async def test_invoke_success(self, mock_get_logger, mock_config, mock_role, moc
856856
mock_logger = Mock()
857857
mock_get_logger.return_value = mock_logger
858858

859-
mock_agent = AsyncMock()
859+
mock_inner_agent = AsyncMock()
860860
mock_update1 = Mock()
861861
mock_update2 = Mock()
862862

863863
# Mock run_stream to return an async iterator
864864
async def mock_run_stream(messages):
865865
yield mock_update1
866866
yield mock_update2
867-
mock_agent.run_stream = mock_run_stream
867+
mock_inner_agent.run_stream = mock_run_stream
868+
mock_inner_agent.chat_client = Mock()
869+
mock_inner_agent.chat_client.agent_id = "test-agent-id"
868870

869871
mock_message = Mock()
870872
mock_chat_message_class.return_value = mock_message
871873
mock_role.USER = "user"
872874

873-
agent = FoundryAgentTemplate(
874-
agent_name="TestAgent",
875-
agent_description="Test Description",
876-
agent_instructions="Test Instructions",
877-
use_reasoning=False,
878-
model_deployment_name="test-model",
879-
project_endpoint="https://test.project.azure.com/"
880-
)
881-
882-
agent._agent = mock_agent
875+
# Create a mock agent instance to avoid __init__ issues with AzureAgentBase
876+
agent = Mock(spec=FoundryAgentTemplate)
877+
agent._agent = mock_inner_agent
878+
agent.save_database_team_agent = AsyncMock()
879+
agent.invoke = FoundryAgentTemplate.invoke.__get__(agent, FoundryAgentTemplate)
883880

884881
updates = []
885882
async for update in agent.invoke("Test prompt"):
886883
updates.append(update)
887884

888885
assert updates == [mock_update1, mock_update2]
889886
mock_chat_message_class.assert_called_once_with(role=mock_role.USER, text="Test prompt")
887+
agent.save_database_team_agent.assert_called_once()
890888

891889
@pytest.mark.asyncio
892890
@patch('backend.v4.magentic_agents.foundry_agent.config')

0 commit comments

Comments
 (0)