test(gateway): cover runtime max_turns refresh

This commit is contained in:
infinitycrew39 2026-06-18 07:28:28 +07:00 committed by Teknium
parent 460b1e50e5
commit dcac719527
2 changed files with 49 additions and 0 deletions

View file

@ -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

View file

@ -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