Private
Public Access
test(ai_client_tool_loop): adapt mock to return Result[NormalizedResponse] (doeh cleanup Phase 2.4)
This commit is contained in:
@@ -9,6 +9,7 @@ from typing import Any
|
|||||||
from unittest.mock import MagicMock, patch
|
from unittest.mock import MagicMock, patch
|
||||||
from src.openai_compatible import NormalizedResponse, OpenAICompatibleRequest
|
from src.openai_compatible import NormalizedResponse, OpenAICompatibleRequest
|
||||||
from src.ai_client import run_with_tool_loop
|
from src.ai_client import run_with_tool_loop
|
||||||
|
from src.result_types import Result
|
||||||
from src.vendor_capabilities import VendorCapabilities
|
from src.vendor_capabilities import VendorCapabilities
|
||||||
|
|
||||||
def _make_normalized_response(text: str = "ok", tool_calls: list[dict[str, Any]] | None = None) -> NormalizedResponse:
|
def _make_normalized_response(text: str = "ok", tool_calls: list[dict[str, Any]] | None = None) -> NormalizedResponse:
|
||||||
@@ -30,7 +31,7 @@ def test_run_with_tool_loop_calls_request_builder_each_round() -> None:
|
|||||||
def builder(round_idx: int) -> OpenAICompatibleRequest:
|
def builder(round_idx: int) -> OpenAICompatibleRequest:
|
||||||
builder_calls.append(round_idx)
|
builder_calls.append(round_idx)
|
||||||
return OpenAICompatibleRequest(messages=[{"role": "user", "content": f"round={round_idx}"}], model="m")
|
return OpenAICompatibleRequest(messages=[{"role": "user", "content": f"round={round_idx}"}], model="m")
|
||||||
with patch("src.openai_compatible.send_openai_compatible", side_effect=[tool_response, final]), \
|
with patch("src.openai_compatible.send_openai_compatible", side_effect=[Result(data=tool_response), Result(data=final)]), \
|
||||||
patch("src.ai_client._execute_tool_calls_concurrently", return_value=[("noop", "c1", "r", "")]):
|
patch("src.ai_client._execute_tool_calls_concurrently", return_value=[("noop", "c1", "r", "")]):
|
||||||
result = run_with_tool_loop(
|
result = run_with_tool_loop(
|
||||||
client, builder, capabilities=caps,
|
client, builder, capabilities=caps,
|
||||||
|
|||||||
Reference in New Issue
Block a user