From 7b6fc1d23420f6f75ca3f3f78eb3f99dee445370 Mon Sep 17 00:00:00 2001 From: teknium1 <127238744+teknium1@users.noreply.github.com> Date: Sat, 12 Sep 2026 07:04:30 -0700 Subject: [PATCH] test: trim fast-status regression test to the invariant cases Keep '' -> normal (the bug), None -> normal and priority -> fast (passthrough sanity), both for a built agent and a pre-build pin, plus the 'status never writes config' guard. Drop the redundant identity rows and raising=False (both patched names exist on the module). --- tests/tui_gateway/test_empty_fast_status.py | 38 +++++++++++++-------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/tests/tui_gateway/test_empty_fast_status.py b/tests/tui_gateway/test_empty_fast_status.py index 8edd0f986a..e2d9ea8e07 100644 --- a/tests/tui_gateway/test_empty_fast_status.py +++ b/tests/tui_gateway/test_empty_fast_status.py @@ -1,21 +1,29 @@ +"""``config.set fast status`` reports "normal" for an explicit-normal pin. + +A session pinned to normal carries ``""`` (not ``None``) in ``create_service_tier_override`` +and, once built, in ``agent.service_tier`` — the status branch echoed that ``""`` back. +""" + from types import SimpleNamespace +from unittest.mock import patch + import pytest -from tui_gateway import methods_config_set as config + +import tui_gateway.server as server -@pytest.mark.parametrize('tier,expected', [('', 'normal'), (None, 'normal'), ('priority', 'fast'), ('normal', 'normal'), ('auto', 'auto'), ('cold', 'cold')]) -@pytest.mark.parametrize('built', [True, False]) -def test_fast_status_preserves_tier_semantics_without_mutation(monkeypatch, tier, expected, built): - session = {'agent': SimpleNamespace(service_tier=tier)} if built else {'create_service_tier_override': tier} - replies = [] - monkeypatch.setattr(config, '_load_service_tier', lambda: tier, raising=False) - monkeypatch.setattr(config, '_kv', lambda rid, key, value: replies.append((rid, key, value))) - def forbidden(*args, **kwargs): - pytest.fail('Status query must not write configuration') - monkeypatch.setattr(config, '_write_config_key', forbidden, raising=False) - config._set_fast(1, {'session_id': 'test'}, 'fast', 'status', session) - assert replies == [(1, 'fast', expected)] +@pytest.mark.parametrize("tier,expected", [("", "normal"), (None, "normal"), ("priority", "fast")]) +@pytest.mark.parametrize("built", [True, False]) +def test_fast_status_reports_tier_without_writing_config(tier, expected, built): + session = ({"agent": SimpleNamespace(service_tier=tier)} if built + else {"create_service_tier_override": tier}) + with patch.dict(server._sessions, {"s-fast": session}, clear=False), \ + patch.object(server, "_load_service_tier", return_value=tier), \ + patch.object(server, "_write_config_key") as write_key: + res = server._methods["config.set"]("rid", {"session_id": "s-fast", "key": "fast", "value": "status"}) + assert res["result"]["value"] == expected + write_key.assert_not_called() if built: - assert session['agent'].service_tier == tier + assert session["agent"].service_tier == tier else: - assert session['create_service_tier_override'] == tier + assert session["create_service_tier_override"] == tier