diff --git a/tests/test_tier4_interceptor.py b/tests/test_tier4_interceptor.py index 5dbcc2e3..97cd24ab 100644 --- a/tests/test_tier4_interceptor.py +++ b/tests/test_tier4_interceptor.py @@ -1,6 +1,7 @@ from unittest.mock import MagicMock, patch from src.shell_runner import run_powershell from src import ai_client +from src.result_types import Result def test_run_powershell_qa_callback_on_failure(vlogger) -> None: """Test that qa_callback is called when a powershell command fails (non-zero exit code).""" @@ -75,16 +76,17 @@ def test_end_to_end_tier4_integration(vlogger) -> None: vlogger.finalize("E2E Tier 4 Integration", "PASS", "ai_client.run_tier4_analysis correctly called and results merged.") def test_ai_client_passes_qa_callback() -> None: - """Verifies that ai_client.send passes the qa_callback down to the provider function.""" + """Verifies that ai_client.send_result passes the qa_callback down to the provider function.""" qa_callback = lambda x: "analysis" - - with patch("src.ai_client._send_gemini") as mock_send: + + with patch("src.ai_client._send_gemini", return_value=Result(data="ok")) as mock_send: ai_client.set_provider("gemini", "gemini-2.5-flash-lite") - ai_client.send("ctx", "msg", qa_callback=qa_callback) + result = ai_client.send_result("ctx", "msg", qa_callback=qa_callback) + assert result.ok args, kwargs = mock_send.call_args - # It might be passed as positional or keyword depending on how 'send' calls it - # send() calls _send_gemini(md_content, user_message, base_dir, ..., qa_callback, ...) - # In current impl of send(), it is the 7th argument after md_content, user_msg, base_dir, file_items, disc_hist, pre_tool + # It might be passed as positional or keyword depending on how 'send_result' calls it + # send_result() calls _send_gemini(md_content, user_message, base_dir, ..., qa_callback, ...) + # In current impl of send_result(), it is the 7th argument after md_content, user_msg, base_dir, file_items, disc_hist, pre_tool assert args[6] == qa_callback or kwargs.get("qa_callback") == qa_callback def test_gemini_provider_passes_qa_callback_to_run_script() -> None: