Treat empty model overrides as fallback

This commit is contained in:
Alishahryar1 2026-04-24 13:58:25 -07:00
parent 862eb43046
commit d2db1bd689
5 changed files with 31 additions and 15 deletions

View file

@ -24,7 +24,7 @@ class TestSettings:
monkeypatch.delenv("HTTP_READ_TIMEOUT", raising=False)
monkeypatch.setitem(Settings.model_config, "env_file", ())
settings = Settings()
assert settings.model == "nvidia_nim/stepfun-ai/step-3.5-flash"
assert settings.model == "nvidia_nim/z-ai/glm4.7"
assert isinstance(settings.provider_rate_limit, int)
assert isinstance(settings.provider_rate_window, int)
assert isinstance(settings.nim.temperature, float)
@ -391,6 +391,19 @@ class TestPerModelMapping:
s = Settings()
assert s.model_opus == "open_router/deepseek/deepseek-r1"
@pytest.mark.parametrize("env_var", ["MODEL_OPUS", "MODEL_SONNET", "MODEL_HAIKU"])
def test_empty_model_override_env_is_unset(self, monkeypatch, env_var):
"""Empty per-model override env vars are treated as unset."""
from config.settings import Settings
monkeypatch.setenv(env_var, "")
s = Settings()
assert getattr(s, env_var.lower()) is None
assert (
s.resolve_model(f"claude-{env_var.removeprefix('MODEL_').lower()}-4")
== s.model
)
@pytest.mark.parametrize(
"env_vars,expected_model,expected_haiku",
[