Private
Public Access
0
0
Files
manual_slop/tests/test_ai_client_cli.py
T
ed 31a8949d64 feat(style): Fix 1-space indentation in 27 files
Files corrected:
- src/fuzzy_anchor.py (18 violations)
- src/patch_modal.py (14 violations)
- scripts/extract_symbols.py (4 violations)
- scripts/tasks/download_fonts.py (8 violations)
- tests/: 23 files with indentation issues

All files verified with py_compile. Remaining 4 files
(test_api_events.py, test_discussion_takes_gui.py,
test_gui_updates.py, test_headless_service.py) have complex
multi-line with statements that require manual correction.
2026-05-16 03:00:20 -04:00

32 lines
1.2 KiB
Python

from unittest.mock import patch, MagicMock
from src import ai_client
def test_ai_client_send_gemini_cli() -> None:
test_message = "Hello, this is a test prompt for the CLI adapter."
test_response = "This is a dummy response from the Gemini CLI."
ai_client.reset_session()
ai_client.set_provider("gemini_cli", "gemini-2.5-flash-lite")
with patch("src.ai_client.GeminiCliAdapter") as MockAdapterClass:
mock_adapter_instance = MagicMock()
mock_adapter_instance.send.return_value = {
"text": test_response,
"tool_calls": [],
}
mock_adapter_instance.last_usage = {"total_tokens": 100}
mock_adapter_instance.last_latency = 0.5
mock_adapter_instance.session_id = "test-session"
MockAdapterClass.return_value = mock_adapter_instance
ai_client._gemini_cli_adapter = mock_adapter_instance
with patch.object(ai_client.events, "emit") as mock_emit:
response = ai_client.send(
md_content="<context></context>",
user_message=test_message,
base_dir=".",
)
mock_adapter_instance.send.assert_called()
emitted_event_names = [call.args[0] for call in mock_emit.call_args_list]
assert "request_start" in emitted_event_names
assert "response_received" in emitted_event_names
assert response == test_response