32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
import json
|
|
from unittest.mock import patch, MagicMock
|
|
from src import ai_client
|
|
|
|
|
|
def test_gemini_cli_full_integration() -> None:
|
|
ai_client.reset_session()
|
|
ai_client.set_provider("gemini_cli", "gemini-2.0-flash")
|
|
mock_adapter = MagicMock()
|
|
mock_adapter.send.return_value = {
|
|
"text": "Final integrated answer",
|
|
"tool_calls": [],
|
|
}
|
|
mock_adapter.last_usage = {"total_tokens": 10}
|
|
ai_client._gemini_cli_adapter = mock_adapter
|
|
result = ai_client.send("context", "integrated test")
|
|
assert "Final integrated answer" in result
|
|
|
|
|
|
def test_gemini_cli_rejection_and_history() -> None:
|
|
ai_client.reset_session()
|
|
ai_client.set_provider("gemini_cli", "gemini-2.0-flash")
|
|
mock_adapter = MagicMock()
|
|
mock_adapter.send.return_value = {
|
|
"text": "",
|
|
"tool_calls": [{"name": "run_powershell", "args": {"script": "dir"}}],
|
|
}
|
|
mock_adapter.last_usage = {}
|
|
ai_client._gemini_cli_adapter = mock_adapter
|
|
result = ai_client.send("ctx", "msg", pre_tool_callback=lambda *a, **kw: None)
|
|
assert result is not None
|