mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-06-21 10:22:18 +00:00
test(gateway): cover runtime max_turns refresh
This commit is contained in:
parent
460b1e50e5
commit
dcac719527
2 changed files with 49 additions and 0 deletions
|
|
@ -337,6 +337,40 @@ class TestAdapterInit:
|
|||
assert isinstance(agent, FakeAgent)
|
||||
assert captured["reasoning_config"] == {"enabled": True, "effort": "xhigh"}
|
||||
|
||||
def test_create_agent_refreshes_max_iterations_from_runtime_config(self, monkeypatch):
|
||||
captured = {}
|
||||
|
||||
class FakeAgent:
|
||||
def __init__(self, **kwargs):
|
||||
captured.update(kwargs)
|
||||
|
||||
monkeypatch.setattr("run_agent.AIAgent", FakeAgent)
|
||||
monkeypatch.setattr(
|
||||
"gateway.run._resolve_runtime_agent_kwargs",
|
||||
lambda: {
|
||||
"provider": "openai",
|
||||
"base_url": "https://example.test/v1",
|
||||
"api_mode": "chat_completions",
|
||||
},
|
||||
)
|
||||
monkeypatch.setattr("gateway.run._resolve_gateway_model", lambda: "gpt-5")
|
||||
monkeypatch.setattr("gateway.run._load_gateway_config", lambda: {"agent": {"max_turns": 200}})
|
||||
monkeypatch.setattr(
|
||||
"gateway.run.GatewayRunner._load_reasoning_config",
|
||||
staticmethod(lambda: {}),
|
||||
)
|
||||
monkeypatch.setattr("gateway.run.GatewayRunner._load_fallback_model", staticmethod(lambda: None))
|
||||
monkeypatch.setattr("gateway.run._current_max_iterations", lambda: 200)
|
||||
monkeypatch.setattr("hermes_cli.tools_config._get_platform_tools", lambda *_: set())
|
||||
|
||||
adapter = APIServerAdapter(PlatformConfig(enabled=True))
|
||||
monkeypatch.setattr(adapter, "_ensure_session_db", lambda: None)
|
||||
|
||||
agent = adapter._create_agent(session_id="api-session")
|
||||
|
||||
assert isinstance(agent, FakeAgent)
|
||||
assert captured["max_iterations"] == 200
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Auth checking
|
||||
|
|
|
|||
|
|
@ -51,3 +51,18 @@ def test_reload_runtime_env_keeps_env_max_iterations_when_config_omits_key(
|
|||
gateway_run._reload_runtime_env_preserving_config_authority()
|
||||
|
||||
assert os.environ["HERMES_MAX_ITERATIONS"] == "123"
|
||||
|
||||
|
||||
def test_current_max_iterations_reloads_before_reading(monkeypatch) -> None:
|
||||
monkeypatch.setenv("HERMES_MAX_ITERATIONS", "90")
|
||||
|
||||
def _fake_reload() -> None:
|
||||
os.environ["HERMES_MAX_ITERATIONS"] = "200"
|
||||
|
||||
monkeypatch.setattr(
|
||||
gateway_run,
|
||||
"_reload_runtime_env_preserving_config_authority",
|
||||
_fake_reload,
|
||||
)
|
||||
|
||||
assert gateway_run._current_max_iterations() == 200
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue