test(deepseek): migrate 6 sites to send_result() (Phase 2.9)
All 6 sites in test_deepseek_provider.py call ai_client.send(...). Each assertion pattern is slightly different (==, "in", call_args inspection); migration follows the same pattern: rename to send_result(), add assert result.ok, and use result.data for the response text. Changes: - Rename ai_client.send(...) to ai_client.send_result(...) (6 sites) - Add assert result.ok (6 sites) - Replace result == "x" with result.data == "x" (or "x" in result.data) - Add "from src.result_types import Result" import 7 tests pass (1 unrelated test_deepseek_model_selection + 6 migrated).
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import unittest.mock
|
||||
from unittest.mock import patch, MagicMock
|
||||
from src import ai_client
|
||||
from src.result_types import Result
|
||||
|
||||
def test_deepseek_model_selection() -> None:
|
||||
"""
|
||||
@@ -28,14 +29,15 @@ def test_deepseek_completion_logic(mock_post: MagicMock) -> None:
|
||||
}
|
||||
mock_post.return_value = mock_response
|
||||
|
||||
result = ai_client.send(md_content="Context", user_message="Hi", base_dir=".")
|
||||
assert result == "Hello World"
|
||||
result = ai_client.send_result(md_content="Context", user_message="Hi", base_dir=".")
|
||||
assert result.ok
|
||||
assert result.data == "Hello World"
|
||||
assert mock_post.called
|
||||
|
||||
@patch("requests.post")
|
||||
def test_deepseek_reasoning_logic(mock_post: MagicMock) -> None:
|
||||
"""
|
||||
|
||||
|
||||
|
||||
Verifies that reasoning_content is captured and wrapped in <thinking> tags.
|
||||
"""
|
||||
@@ -50,10 +52,11 @@ def test_deepseek_reasoning_logic(mock_post: MagicMock) -> None:
|
||||
}]
|
||||
}
|
||||
mock_post.return_value = mock_response
|
||||
|
||||
result = ai_client.send(md_content="Context", user_message="Hi", base_dir=".")
|
||||
assert "<thinking>\nChain of thought\n</thinking>" in result
|
||||
assert "Final answer" in result
|
||||
|
||||
result = ai_client.send_result(md_content="Context", user_message="Hi", base_dir=".")
|
||||
assert result.ok
|
||||
assert "<thinking>\nChain of thought\n</thinking>" in result.data
|
||||
assert "Final answer" in result.data
|
||||
|
||||
@patch("requests.post")
|
||||
def test_deepseek_tool_calling(mock_post: MagicMock) -> None:
|
||||
@@ -93,8 +96,9 @@ def test_deepseek_tool_calling(mock_post: MagicMock) -> None:
|
||||
mock_post.side_effect = [mock_resp1, mock_resp2]
|
||||
mock_dispatch.return_value = "Hello World"
|
||||
|
||||
result = ai_client.send(md_content="Context", user_message="Read test.txt", base_dir=".")
|
||||
assert "File content is: Hello World" in result
|
||||
result = ai_client.send_result(md_content="Context", user_message="Read test.txt", base_dir=".")
|
||||
assert result.ok
|
||||
assert "File content is: Hello World" in result.data
|
||||
assert mock_dispatch.called
|
||||
mock_dispatch.assert_called_with("read_file", {"path": "test.txt"})
|
||||
|
||||
@@ -119,8 +123,9 @@ def test_deepseek_streaming(mock_post: MagicMock) -> None:
|
||||
mock_response.iter_lines.return_value = [c.encode('utf-8') for c in chunks]
|
||||
mock_post.return_value = mock_response
|
||||
|
||||
result = ai_client.send(md_content="Context", user_message="Stream test", base_dir=".", stream=True)
|
||||
assert result == "Hello World"
|
||||
result = ai_client.send_result(md_content="Context", user_message="Stream test", base_dir=".", stream=True)
|
||||
assert result.ok
|
||||
assert result.data == "Hello World"
|
||||
|
||||
@patch("requests.post")
|
||||
def test_deepseek_payload_verification(mock_post: MagicMock) -> None:
|
||||
@@ -139,11 +144,12 @@ def test_deepseek_payload_verification(mock_post: MagicMock) -> None:
|
||||
}
|
||||
mock_post.return_value = mock_response
|
||||
|
||||
ai_client.send(md_content="Context", user_message="Message 1", base_dir=".", discussion_history="History")
|
||||
|
||||
result = ai_client.send_result(md_content="Context", user_message="Message 1", base_dir=".", discussion_history="History")
|
||||
assert result.ok
|
||||
|
||||
args, kwargs = mock_post.call_args
|
||||
payload = kwargs["json"]
|
||||
|
||||
|
||||
assert payload["model"] == "deepseek-chat"
|
||||
assert "tools" in payload
|
||||
assert len(payload["messages"]) == 2 # system + user
|
||||
@@ -168,11 +174,12 @@ def test_deepseek_reasoner_payload_verification(mock_post: MagicMock) -> None:
|
||||
}
|
||||
mock_post.return_value = mock_response
|
||||
|
||||
ai_client.send(md_content="Context", user_message="Message 1", base_dir=".")
|
||||
|
||||
result = ai_client.send_result(md_content="Context", user_message="Message 1", base_dir=".")
|
||||
assert result.ok
|
||||
|
||||
args, kwargs = mock_post.call_args
|
||||
payload = kwargs["json"]
|
||||
|
||||
|
||||
assert payload["model"] == "deepseek-reasoner"
|
||||
assert "tools" not in payload
|
||||
assert "temperature" not in payload
|
||||
|
||||
Reference in New Issue
Block a user