mirror of
https://github.com/agentscope-ai/ReMe.git
synced 2026-08-28 05:25:04 +00:00
* refactor(search): replace time module with datetime for timestamp generation - Removed unused time import - Added static method _now_ts using datetime.timestamp - Updated clock parameter to use _now_ts method instead of time.time - Maintained same timestamp precision and functionality * test(http): add tests for HTTP client display formatting - Add test for default metadata hiding behavior in CLI output - Add test for metadata display when show_metadata is enabled - Verify _format_for_display method correctly formats response text - Test both success case and metadata inclusion scenarios * chore(build): remove longmemeval from gitignore - Removed longmemeval directory from gitignore list - Kept evaluation and datasets directories in ignore list - Updated gitignore configuration for proper version control
84 lines
2.5 KiB
Python
84 lines
2.5 KiB
Python
"""Tests for the ReMe CLI entry helpers."""
|
|
|
|
from reme import reme as reme_module
|
|
|
|
|
|
def test_call_server_passes_client_kwargs_to_client(monkeypatch, capsys):
|
|
"""CLI helper forwards connection options to the selected client."""
|
|
seen = {}
|
|
|
|
class FakeClient:
|
|
"""Async client stub that records call arguments."""
|
|
|
|
def __init__(self, **kwargs):
|
|
seen["client_kwargs"] = kwargs
|
|
|
|
async def __aenter__(self):
|
|
return self
|
|
|
|
async def __aexit__(self, exc_type, exc_val, exc_tb):
|
|
return None
|
|
|
|
async def __call__(self, action: str, **kwargs):
|
|
seen["action"] = action
|
|
seen["payload"] = kwargs
|
|
yield "ok"
|
|
|
|
monkeypatch.setattr(reme_module.R, "get", lambda component_type, backend: FakeClient)
|
|
monkeypatch.setattr(reme_module, "running_service_config", lambda: None)
|
|
|
|
async def run():
|
|
await reme_module.call_server(
|
|
"search",
|
|
backend="http",
|
|
host="127.0.0.2",
|
|
port=2444,
|
|
timeout=1.5,
|
|
query="hello",
|
|
)
|
|
|
|
import asyncio
|
|
|
|
asyncio.run(run())
|
|
|
|
assert seen["client_kwargs"] == {"host": "127.0.0.2", "port": 2444, "timeout": 1.5}
|
|
assert seen["action"] == "search"
|
|
assert seen["payload"] == {"query": "hello"}
|
|
assert capsys.readouterr().out == "ok\n"
|
|
|
|
|
|
def test_call_server_treats_show_metadata_as_client_kwarg(monkeypatch, capsys):
|
|
"""show_metadata controls client display and is not sent as a tool argument."""
|
|
seen = {}
|
|
|
|
class FakeClient:
|
|
"""Async client stub that records call arguments."""
|
|
|
|
def __init__(self, **kwargs):
|
|
seen["client_kwargs"] = kwargs
|
|
|
|
async def __aenter__(self):
|
|
return self
|
|
|
|
async def __aexit__(self, exc_type, exc_val, exc_tb):
|
|
return None
|
|
|
|
async def __call__(self, action: str, **kwargs):
|
|
seen["action"] = action
|
|
seen["payload"] = kwargs
|
|
yield "ok"
|
|
|
|
monkeypatch.setattr(reme_module.R, "get", lambda component_type, backend: FakeClient)
|
|
monkeypatch.setattr(reme_module, "running_service_config", lambda: None)
|
|
|
|
async def run():
|
|
await reme_module.call_server("version", backend="http", show_metadata=True)
|
|
|
|
import asyncio
|
|
|
|
asyncio.run(run())
|
|
|
|
assert seen["client_kwargs"] == {"show_metadata": True}
|
|
assert seen["action"] == "version"
|
|
assert seen["payload"] == {}
|
|
assert capsys.readouterr().out == "ok\n"
|