103 lines
3.5 KiB
Python
103 lines
3.5 KiB
Python
from __future__ import annotations
|
|
|
|
from opensquilla.gateway.config import GatewayConfig, _router_tier_profile_defaults
|
|
from opensquilla.onboarding.mutations import upsert_llm_provider, upsert_router
|
|
|
|
|
|
def test_fresh_config_uses_model_router_not_ensemble() -> None:
|
|
cfg = GatewayConfig()
|
|
|
|
assert cfg.squilla_router.enabled is True
|
|
assert cfg.llm_ensemble.enabled is False
|
|
|
|
|
|
def test_openrouter_chat_model_save_seeds_packaged_router_preset() -> None:
|
|
res = upsert_llm_provider(
|
|
GatewayConfig(),
|
|
provider_id="openrouter",
|
|
model="deepseek/deepseek-v4-pro",
|
|
api_key="sk-test",
|
|
)
|
|
|
|
assert res.config.squilla_router.enabled is True
|
|
assert res.config.squilla_router.tier_profile == "openrouter"
|
|
|
|
|
|
def test_non_packaged_chat_model_save_seeds_synthesized_router_tiers() -> None:
|
|
res = upsert_llm_provider(
|
|
GatewayConfig(),
|
|
provider_id="anthropic",
|
|
model="claude-sonnet-4-6",
|
|
api_key="sk-test",
|
|
)
|
|
|
|
router = res.config.squilla_router
|
|
assert router.enabled is True
|
|
assert router.tier_profile is None
|
|
assert set(router.tiers) >= {"c0", "c1", "c2", "c3"}
|
|
for tier_name in ("c0", "c1", "c2", "c3"):
|
|
assert router.tiers[tier_name]["provider"] == "anthropic"
|
|
assert router.tiers[tier_name]["model"] == "claude-sonnet-4-6"
|
|
|
|
|
|
def test_legacy_openrouter_mix_exact_preset_save_writes_canonical_recommended() -> None:
|
|
cfg = GatewayConfig(
|
|
# openrouter-mix requires the openrouter provider, which is no longer
|
|
# the built-in default.
|
|
llm={"provider": "openrouter"},
|
|
squilla_router={
|
|
"enabled": True,
|
|
"tier_profile": None,
|
|
"tiers": _router_tier_profile_defaults("openrouter"),
|
|
}
|
|
)
|
|
|
|
res = upsert_router(cfg, mode="openrouter-mix")
|
|
|
|
assert res.public_payload["mode"] == "recommended"
|
|
assert res.config.squilla_router.enabled is True
|
|
assert res.config.squilla_router.tier_profile == "openrouter"
|
|
|
|
|
|
def test_legacy_openrouter_mix_model_difference_saves_custom_inline_tiers() -> None:
|
|
tiers = _router_tier_profile_defaults("openrouter")
|
|
tiers["c3"] = dict(tiers["c3"], model="z-ai/glm-5.2")
|
|
cfg = GatewayConfig(
|
|
# openrouter-mix requires the openrouter provider, which is no longer
|
|
# the built-in default.
|
|
llm={"provider": "openrouter"},
|
|
squilla_router={
|
|
"enabled": True,
|
|
"tier_profile": None,
|
|
"tiers": tiers,
|
|
}
|
|
)
|
|
|
|
res = upsert_router(cfg, mode="openrouter-mix", tiers=tiers)
|
|
|
|
assert res.public_payload["mode"] == "custom"
|
|
assert res.config.squilla_router.enabled is True
|
|
assert res.config.squilla_router.tier_profile is None
|
|
assert res.config.squilla_router.tiers["c3"]["model"] == "z-ai/glm-5.2"
|
|
|
|
|
|
def test_legacy_openrouter_mix_description_difference_saves_custom_inline_tiers() -> None:
|
|
tiers = _router_tier_profile_defaults("openrouter")
|
|
tiers["c1"] = dict(tiers["c1"], description="Operator edited description.")
|
|
cfg = GatewayConfig(
|
|
# openrouter-mix requires the openrouter provider, which is no longer
|
|
# the built-in default.
|
|
llm={"provider": "openrouter"},
|
|
squilla_router={
|
|
"enabled": True,
|
|
"tier_profile": None,
|
|
"tiers": tiers,
|
|
}
|
|
)
|
|
|
|
res = upsert_router(cfg, mode="openrouter-mix", tiers=tiers)
|
|
|
|
assert res.public_payload["mode"] == "custom"
|
|
assert res.config.squilla_router.tier_profile is None
|
|
assert res.config.squilla_router.tiers["c1"]["description"] == "Operator edited description."
|