28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
from typing import Any
|
|
from unittest.mock import patch, MagicMock
|
|
|
|
def test_send_invokes_adapter_send() -> None:
|
|
import src.ai_client as ai_client
|
|
ai_client._gemini_cli_adapter = None
|
|
with patch('src.gemini_cli_adapter.subprocess.Popen') as mock_popen:
|
|
mock_process = MagicMock()
|
|
mock_process.communicate.return_value = ('{"type": "message", "content": "Hello from mock adapter"}', '')
|
|
mock_process.returncode = 0
|
|
mock_popen.return_value = mock_process
|
|
ai_client.set_provider("gemini_cli", "gemini-2.0-flash")
|
|
res = ai_client.send("context", "msg")
|
|
assert res == "Hello from mock adapter"
|
|
|
|
def test_get_history_bleed_stats() -> None:
|
|
import src.ai_client as ai_client
|
|
ai_client._gemini_cli_adapter = None
|
|
with patch('src.gemini_cli_adapter.subprocess.Popen') as mock_popen:
|
|
mock_process = MagicMock()
|
|
mock_process.communicate.return_value = ('{"type": "message", "content": "txt"}', '')
|
|
mock_process.returncode = 0
|
|
mock_popen.return_value = mock_process
|
|
ai_client.set_provider("gemini_cli", "gemini-2.0-flash")
|
|
ai_client.send("context", "msg")
|
|
stats = ai_client.get_history_bleed_stats()
|
|
assert stats["provider"] == "gemini_cli"
|