diff --git a/tests/test_deepseek_provider.py b/tests/test_deepseek_provider.py index 416d72dd..f4c63c4b 100644 --- a/tests/test_deepseek_provider.py +++ b/tests/test_deepseek_provider.py @@ -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 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 "\nChain of thought\n" in result - assert "Final answer" in result + + result = ai_client.send_result(md_content="Context", user_message="Hi", base_dir=".") + assert result.ok + assert "\nChain of thought\n" 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