mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-31 19:16:29 +00:00
test(web_server): update MoA slot-shape assertions for per-advisor enabled flag
The per-reference-model enabled toggle (#59753 salvage) intentionally adds 'enabled' to normalized slot dicts. The two endpoint tests asserted the exact key set {provider, model} — convert them to subset + round-trip contracts so optional slot keys (enabled, reasoning_effort, max_tokens) don't break them again.
This commit is contained in:
parent
280c4dce70
commit
513d302ed9
1 changed files with 16 additions and 4 deletions
|
|
@ -861,8 +861,13 @@ class TestWebServerEndpoints:
|
|||
assert resp.status_code == 200
|
||||
data = resp.json()
|
||||
assert data["reference_models"]
|
||||
assert all(set(slot) == {"provider", "model"} for slot in data["reference_models"])
|
||||
assert set(data["aggregator"]) == {"provider", "model"}
|
||||
# Reference slots carry provider/model plus the per-advisor enabled
|
||||
# flag (optional keys like reasoning_effort/max_tokens appear only
|
||||
# when configured).
|
||||
for slot in data["reference_models"]:
|
||||
assert {"provider", "model"} <= set(slot)
|
||||
assert isinstance(slot.get("enabled", True), bool)
|
||||
assert {"provider", "model"} <= set(data["aggregator"])
|
||||
|
||||
def test_put_moa_models_persists_provider_model_slots(self):
|
||||
from hermes_cli.config import load_config
|
||||
|
|
@ -883,8 +888,15 @@ class TestWebServerEndpoints:
|
|||
assert resp.status_code == 200
|
||||
assert resp.json()["ok"] is True
|
||||
cfg = load_config()
|
||||
assert cfg["moa"]["reference_models"] == payload["reference_models"]
|
||||
assert cfg["moa"]["aggregator"] == payload["aggregator"]
|
||||
saved_refs = cfg["moa"]["reference_models"]
|
||||
# Slots normalize with enabled=True defaulted in; provider/model must
|
||||
# round-trip exactly.
|
||||
assert [
|
||||
{"provider": s["provider"], "model": s["model"]} for s in saved_refs
|
||||
] == payload["reference_models"]
|
||||
assert all(s.get("enabled", True) is True for s in saved_refs)
|
||||
agg = cfg["moa"]["aggregator"]
|
||||
assert {"provider": agg["provider"], "model": agg["model"]} == payload["aggregator"]
|
||||
|
||||
def test_put_moa_models_rejects_half_filled_slot_with_422(self):
|
||||
"""#64156: a mid-edit autosave (provider picked, model empty) used to be
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue