fix(tui): tighten fast-mode support validation
Distinguish missing model from unsupported model before enabling fast mode and cover both cases so config and live agent state remain untouched on invalid fast toggles.
This commit is contained in:
@@ -781,6 +781,36 @@ def test_config_set_fast_rejects_unsupported_model(monkeypatch):
|
||||
server._sessions.pop("sid", None)
|
||||
|
||||
|
||||
def test_config_set_fast_rejects_missing_model(monkeypatch):
|
||||
writes = []
|
||||
agent = types.SimpleNamespace(
|
||||
model="",
|
||||
request_overrides={},
|
||||
service_tier=None,
|
||||
)
|
||||
server._sessions["sid"] = _session(agent=agent)
|
||||
|
||||
monkeypatch.setattr(
|
||||
server, "_write_config_key", lambda path, value: writes.append((path, value))
|
||||
)
|
||||
|
||||
try:
|
||||
resp = server.handle_request(
|
||||
{
|
||||
"id": "1",
|
||||
"method": "config.set",
|
||||
"params": {"session_id": "sid", "key": "fast", "value": "fast"},
|
||||
}
|
||||
)
|
||||
assert resp["error"]["code"] == 4002
|
||||
assert "without a selected model" in resp["error"]["message"]
|
||||
assert agent.service_tier is None
|
||||
assert agent.request_overrides == {}
|
||||
assert writes == []
|
||||
finally:
|
||||
server._sessions.pop("sid", None)
|
||||
|
||||
|
||||
def test_config_busy_get_and_set(monkeypatch):
|
||||
writes = []
|
||||
|
||||
|
||||
Reference in New Issue
Block a user