Files
hermes-agent/tests/gateway/test_api_server_room_dispatch.py
teknium1 21c698b7df test: purge low-value tests, lane py06 (309 removed)
Change-detectors, tautologies, source-reading tests, redundant duplicates,
mock-echo tests and dead/unrunnable tests. Per-test rationale in the lane
ledger (category + reason for every removal).
2026-09-23 03:15:26 -07:00

47 lines
1.2 KiB
Python

"""Compatibility seams for extracted RoomLink dispatch handling."""
import json
from unittest.mock import MagicMock
import pytest
from gateway.platforms import api_server
@pytest.mark.asyncio
async def test_non_room_run_body_passes_through_unchanged():
adapter = api_server.APIServerAdapter.__new__(api_server.APIServerAdapter)
adapter._room_grant_token = MagicMock(return_value="")
request = object()
body = {"input": "ordinary run"}
normalized, error = await adapter._normalize_room_dispatch(request, body)
assert normalized is body
assert error is None
adapter._room_grant_token.assert_called_once_with(request)
@pytest.mark.asyncio
async def test_room_dispatch_rejects_extra_fields_before_grant_verification():
adapter = api_server.APIServerAdapter.__new__(api_server.APIServerAdapter)
adapter._room_grant_token = MagicMock(return_value="room-grant")
request = object()
body = {
"input": "room prompt",
"hosted_room_dispatch": {},
"unexpected": True,
}
normalized, error = await adapter._normalize_room_dispatch(request, body)
assert normalized is body
assert error.status == 400
assert json.loads(error.text)["error"]["code"] == "invalid_room_dispatch"