test(config): cover legacy model defaults without presets

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Xubin Ren 2026-05-12 11:56:49 +00:00 committed by Xubin Ren
parent 13eede5803
commit 079b37aac5
2 changed files with 27 additions and 0 deletions

View File

@ -273,6 +273,8 @@ def test_from_config_injects_default_preset(tmp_path) -> None:
fake_provider = _provider("openai/gpt-4.1")
with patch("nanobot.providers.factory.make_provider", return_value=fake_provider):
loop = AgentLoop.from_config(config)
assert loop.model == "openai/gpt-4.1"
assert loop.model_preset is None
assert "default" in loop.model_presets
assert loop.model_presets["default"].model == "openai/gpt-4.1"

View File

@ -12,6 +12,31 @@ def test_resolve_preset_returns_defaults_when_no_preset() -> None:
assert resolved.reasoning_effort == config.agents.defaults.reasoning_effort
def test_legacy_defaults_config_without_presets_still_resolves() -> None:
config = Config.model_validate({
"agents": {
"defaults": {
"model": "openai/gpt-4.1",
"provider": "openai",
"maxTokens": 4096,
"contextWindowTokens": 128_000,
"temperature": 0.2,
"reasoningEffort": "low",
}
}
})
resolved = config.resolve_preset()
assert config.agents.defaults.model_preset is None
assert config.model_presets == {}
assert resolved.model == "openai/gpt-4.1"
assert resolved.provider == "openai"
assert resolved.max_tokens == 4096
assert resolved.context_window_tokens == 128_000
assert resolved.temperature == 0.2
assert resolved.reasoning_effort == "low"
def test_resolve_preset_returns_active_preset() -> None:
config = Config.model_validate({
"model_presets": {