Files
OpenJarvis/tests/agents/test_fake_engine.py
T

43 lines
1.1 KiB
Python

"""Tests for FakeEngine."""
from __future__ import annotations
import pytest
from tests.agents.fake_engine import FakeEngine
def test_fake_engine_returns_responses_in_order():
engine = FakeEngine([
{"content": "first"},
{"content": "second"},
])
r1 = engine.generate([], model="m")
r2 = engine.generate([], model="m")
assert r1["content"] == "first"
assert r2["content"] == "second"
assert engine.call_count == 2
def test_fake_engine_repeats_last_response():
engine = FakeEngine([{"content": "only"}])
engine.generate([], model="m")
r = engine.generate([], model="m")
assert r["content"] == "only"
def test_fake_engine_raises_on_request():
engine = FakeEngine([{"raise": ValueError("boom")}])
with pytest.raises(ValueError, match="boom"):
engine.generate([], model="m")
def test_fake_engine_tool_calls():
engine = FakeEngine([{
"content": "",
"tool_calls": [{"id": "1", "function": {"name": "think", "arguments": "{}"}}],
}])
r = engine.generate([], model="m")
assert r["finish_reason"] == "tool_calls"
assert len(r["tool_calls"]) == 1