test(codex): cover retained fallback models

Co-authored-by: Taneli Mielikäinen <taneli.mielikainen@iki.fi>
This commit is contained in:
Vadelma
2026-08-18 06:05:11 -07:00
committed by Teknium
parent 3a87f8767a
commit 7d780ccb70

View File

@@ -15,13 +15,25 @@ CHATGPT_REJECTED_CODEX_PRO_SLUGS = {
}
def test_curated_codex_fallback_excludes_chatgpt_rejected_pro_slugs():
"""OAuth fallback must not offer slugs rejected by ChatGPT Codex."""
def test_curated_codex_fallback_excludes_chatgpt_rejected_pro_slugs(monkeypatch):
"""OAuth fallback retains real models but never synthesizes rejected ones."""
retained_models = {"gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6-luna"}
template_models = {model for model, _fallbacks in _FORWARD_COMPAT_TEMPLATE_MODELS}
assert retained_models.issubset(DEFAULT_CODEX_MODELS)
assert retained_models.issubset(template_models)
assert CHATGPT_REJECTED_CODEX_PRO_SLUGS.isdisjoint(DEFAULT_CODEX_MODELS)
assert CHATGPT_REJECTED_CODEX_PRO_SLUGS.isdisjoint(template_models)
monkeypatch.setattr(
"hermes_cli.codex_models._fetch_models_from_api",
lambda access_token: ["gpt-5.5"],
)
model_ids = get_codex_model_ids(access_token="codex-access-token")
assert retained_models.issubset(model_ids)
assert CHATGPT_REJECTED_CODEX_PRO_SLUGS.isdisjoint(model_ids)