test: Update tests to mock async_dispatch for asynchronous tool execution engine.
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
import unittest.mock
|
||||||
from unittest.mock import patch, MagicMock
|
from unittest.mock import patch, MagicMock
|
||||||
from src import ai_client
|
from src import ai_client
|
||||||
|
|
||||||
@@ -55,7 +56,7 @@ def test_deepseek_tool_calling(mock_post: MagicMock) -> None:
|
|||||||
"""
|
"""
|
||||||
ai_client.set_provider("deepseek", "deepseek-chat")
|
ai_client.set_provider("deepseek", "deepseek-chat")
|
||||||
with patch("src.ai_client._load_credentials", return_value={"deepseek": {"api_key": "test-key"}}), \
|
with patch("src.ai_client._load_credentials", return_value={"deepseek": {"api_key": "test-key"}}), \
|
||||||
patch("src.mcp_client.dispatch") as mock_dispatch:
|
patch("src.mcp_client.async_dispatch", new_callable=unittest.mock.AsyncMock) as mock_dispatch:
|
||||||
|
|
||||||
# Round 1: Model calls a tool
|
# Round 1: Model calls a tool
|
||||||
mock_resp1 = MagicMock()
|
mock_resp1 = MagicMock()
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import unittest.mock
|
||||||
from unittest.mock import patch, MagicMock
|
from unittest.mock import patch, MagicMock
|
||||||
from src.gui_2 import App
|
from src.gui_2 import App
|
||||||
from src import ai_client
|
from src import ai_client
|
||||||
@@ -35,7 +36,7 @@ def test_mcp_tool_call_is_dispatched(app_instance: App) -> None:
|
|||||||
# 4. Patch the necessary components
|
# 4. Patch the necessary components
|
||||||
with patch("src.ai_client._ensure_gemini_client"), \
|
with patch("src.ai_client._ensure_gemini_client"), \
|
||||||
patch("src.ai_client._gemini_client") as mock_client, \
|
patch("src.ai_client._gemini_client") as mock_client, \
|
||||||
patch("src.mcp_client.dispatch", return_value="file content") as mock_dispatch:
|
patch("src.mcp_client.async_dispatch", new_callable=unittest.mock.AsyncMock, return_value="file content") as mock_dispatch:
|
||||||
mock_chat = mock_client.chats.create.return_value
|
mock_chat = mock_client.chats.create.return_value
|
||||||
mock_chat.send_message.side_effect = [mock_response_with_tool, mock_response_final]
|
mock_chat.send_message.side_effect = [mock_response_with_tool, mock_response_final]
|
||||||
ai_client.set_provider("gemini", "mock-model")
|
ai_client.set_provider("gemini", "mock-model")
|
||||||
|
|||||||
Reference in New Issue
Block a user