From c0689c3bcbf4c67d9a21fe15c0cd5a85e7773faa Mon Sep 17 00:00:00 2001 From: Teknium <127238744+teknium1@users.noreply.github.com> Date: Thu, 30 Jul 2026 16:23:17 -0700 Subject: [PATCH] test(tui): make _load_enabled_toolsets assertions tolerant of first-release back-filled toolsets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The two exact-list assertions in test_tui_gateway_server froze the toolset list and broke the moment _RECENTLY_SHIPPED_TOOLSETS back-filled bfl onto a saved platform list — the exact behavior the sibling change ships on purpose. Assert the invariant instead: the expected base set is present, and anything extra must be inside _RECENTLY_SHIPPED_TOOLSETS (vacuously exact again once that set empties between releases). --- tests/test_tui_gateway_server.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/tests/test_tui_gateway_server.py b/tests/test_tui_gateway_server.py index ada479fafbb..24f1b72de94 100644 --- a/tests/test_tui_gateway_server.py +++ b/tests/test_tui_gateway_server.py @@ -1998,7 +1998,14 @@ def test_load_enabled_toolsets_rejects_disabled_mcp_env(monkeypatch, capsys): # Sorted: ["kanban", "memory", "project"]. `kanban` is auto-recovered by # _get_platform_tools (a non-configurable platform toolset in hermes-cli's # universe); `project` is GUI-only, folded in by _load_enabled_toolsets. - assert server._load_enabled_toolsets() == ["kanban", "memory", "project"] + # Toolsets inside their first release (_RECENTLY_SHIPPED_TOOLSETS) are + # back-filled onto saved lists that never offered them — allow those too. + from hermes_cli.tools_config import _RECENTLY_SHIPPED_TOOLSETS + + result = server._load_enabled_toolsets() + assert result is not None + assert {"kanban", "memory", "project"} <= set(result) + assert set(result) - {"kanban", "memory", "project"} <= _RECENTLY_SHIPPED_TOOLSETS err = capsys.readouterr().err assert "ignoring disabled MCP servers" in err assert "mcp-off" in err @@ -2019,7 +2026,12 @@ def test_load_enabled_toolsets_falls_back_when_tui_env_invalid(monkeypatch, caps config_mod, "load_config", lambda: {"platform_toolsets": {"cli": ["memory"]}} ) - assert server._load_enabled_toolsets() == ["kanban", "memory", "project"] + from hermes_cli.tools_config import _RECENTLY_SHIPPED_TOOLSETS + + result = server._load_enabled_toolsets() + assert result is not None + assert {"kanban", "memory", "project"} <= set(result) + assert set(result) - {"kanban", "memory", "project"} <= _RECENTLY_SHIPPED_TOOLSETS assert "using configured CLI toolsets" in capsys.readouterr().err