Skip to content

Commit 159debf

Browse files
committed
fix(tests): addon-mode save tests use non-beta flag matching new origin semantics (#1164)
1 parent af6dd0a commit 159debf

1 file changed

Lines changed: 13 additions & 8 deletions

File tree

tests/src/unit/test_settings_ui.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1681,11 +1681,16 @@ class TestSaveFeatureFlagsAddonMode:
16811681
"""Addon-mode ``POST /api/settings/features`` flow.
16821682
16831683
Mirror of TestSaveBackupConfigAddonMode for feature flags. In addon
1684-
mode, ``get_feature_flag_origin`` returns ``"addon"`` for every
1685-
flag (because SUPERVISOR_TOKEN is set), so the handler must route
1684+
mode, ``get_feature_flag_origin`` returns ``"addon"`` for non-beta
1685+
flags (because SUPERVISOR_TOKEN is set), so the handler routes
16861686
through Supervisor instead of refusing the write or persisting to
1687-
the override file (the file is ignored in addon mode anyway
1687+
the override file (the file is ignored in addon mode for those
16881688
``start.py`` rewrites env vars from ``config.yaml`` on every boot).
1689+
1690+
Beta sub-flags in addon mode have channel-dependent behavior (see
1691+
``get_feature_flag_origin`` docstring): dev addon → Supervisor;
1692+
stable addon → file. These tests use ``enable_tool_search`` which
1693+
is non-beta and routes identically in both channels.
16891694
"""
16901695

16911696
def _make_request(self, body):
@@ -1731,15 +1736,15 @@ async def test_addon_save_merges_without_restart_returns_restart_required(
17311736
)
17321737

17331738
resp = await post_handler(
1734-
self._make_request({"flags": {"enable_yaml_config_editing": True}})
1739+
self._make_request({"flags": {"enable_tool_search": True}})
17351740
)
17361741

17371742
assert resp.status_code == 200
17381743
body = json.loads(resp.body)
17391744
assert body["mode"] == "addon"
17401745
assert body["restart_required"] is True
17411746
assert "restarting" not in body
1742-
merge_mock.assert_awaited_once_with(True, {"enable_yaml_config_editing": True})
1747+
merge_mock.assert_awaited_once_with(True, {"enable_tool_search": True})
17431748
schedule_mock.assert_not_called()
17441749

17451750
@pytest.mark.asyncio
@@ -1775,7 +1780,7 @@ async def test_addon_save_surfaces_validation_error_with_supervisor_status(
17751780
)
17761781

17771782
resp = await post_handler(
1778-
self._make_request({"flags": {"enable_yaml_config_editing": True}})
1783+
self._make_request({"flags": {"enable_tool_search": True}})
17791784
)
17801785

17811786
assert resp.status_code == 400
@@ -1810,7 +1815,7 @@ def decorator(fn):
18101815
register_settings_routes(mcp, None, secret_path="/x")
18111816

18121817
resp = await captured["post"](
1813-
self._make_request({"flags": {"enable_yaml_config_editing": True}})
1818+
self._make_request({"flags": {"enable_tool_search": True}})
18141819
)
18151820

18161821
assert resp.status_code == 500
@@ -1871,7 +1876,7 @@ async def test_standalone_save_returns_unified_contract_shape(
18711876
post_handler = self._capture_post_handler(monkeypatch, tmp_path)
18721877

18731878
resp = await post_handler(
1874-
self._make_request({"flags": {"enable_yaml_config_editing": True}})
1879+
self._make_request({"flags": {"enable_tool_search": True}})
18751880
)
18761881

18771882
assert resp.status_code == 200

0 commit comments

Comments
 (0)