Import AITURK IDE 1.0.0-beta.1 from Hermes 63279301; preserve MIT license
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
"""Tests for the TUI gateway relaying MoA reference events to the client.
|
||||
|
||||
When a MoA preset is the active model, the agent's tool_progress_callback emits
|
||||
``moa.reference`` (one per reference model, before the aggregator acts) and a
|
||||
single ``moa.aggregating`` marker. ``_on_tool_progress`` must forward these to
|
||||
the Ink/desktop client as labelled events so each reference renders like a
|
||||
thinking block tagged with its source model.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
import pytest
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
def server():
|
||||
# Mocks are scoped to the initial import only (see
|
||||
# tests/tui_gateway/test_protocol.py for the rationale).
|
||||
with patch.dict(
|
||||
"sys.modules",
|
||||
{
|
||||
"hermes_constants": MagicMock(
|
||||
get_hermes_home=MagicMock(return_value="/tmp/hermes_test_moa_emit")
|
||||
),
|
||||
"hermes_cli.env_loader": MagicMock(),
|
||||
"hermes_cli.banner": MagicMock(),
|
||||
"hermes_state": MagicMock(),
|
||||
},
|
||||
):
|
||||
import importlib
|
||||
|
||||
mod = importlib.import_module("tui_gateway.server")
|
||||
|
||||
yield mod
|
||||
mod._sessions.clear()
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
def emits(server, monkeypatch):
|
||||
captured: list = []
|
||||
monkeypatch.setattr(
|
||||
server,
|
||||
"_emit",
|
||||
lambda event, sid, payload=None: captured.append((event, sid, payload)),
|
||||
)
|
||||
monkeypatch.setattr(server, "_tool_progress_enabled", lambda sid: True)
|
||||
return captured
|
||||
|
||||
|
||||
def test_moa_reference_relayed_with_label_and_index(server, emits):
|
||||
server._on_tool_progress(
|
||||
"sid-1",
|
||||
"moa.reference",
|
||||
"openrouter:openai/gpt-5.5",
|
||||
"Paris is the capital of France.",
|
||||
None,
|
||||
moa_index=1,
|
||||
moa_count=2,
|
||||
)
|
||||
|
||||
assert len(emits) == 1
|
||||
event, sid, payload = emits[0]
|
||||
assert event == "moa.reference"
|
||||
assert sid == "sid-1"
|
||||
assert payload["label"] == "openrouter:openai/gpt-5.5"
|
||||
assert payload["text"] == "Paris is the capital of France."
|
||||
assert payload["index"] == 1
|
||||
assert payload["count"] == 2
|
||||
|
||||
|
||||
Reference in New Issue
Block a user