Files
clawgo/pkg/agent/loop_model_switch_test.go
2026-02-17 11:01:55 +08:00

30 lines
1.0 KiB
Go

package agent
import "testing"
func TestApplyRuntimeModelConfig_Model(t *testing.T) {
al := &AgentLoop{model: "old-model"}
al.applyRuntimeModelConfig("agents.defaults.model", "new-model")
if al.model != "new-model" {
t.Fatalf("expected runtime model updated, got %q", al.model)
}
}
func TestApplyRuntimeModelConfig_ModelFallbacks(t *testing.T) {
al := &AgentLoop{modelFallbacks: []string{"old-fallback"}}
al.applyRuntimeModelConfig("agents.defaults.model_fallbacks", []interface{}{"gpt-4o-mini", "", "claude-3-5-sonnet"})
if len(al.modelFallbacks) != 2 {
t.Fatalf("expected 2 fallbacks, got %d: %v", len(al.modelFallbacks), al.modelFallbacks)
}
if al.modelFallbacks[0] != "gpt-4o-mini" || al.modelFallbacks[1] != "claude-3-5-sonnet" {
t.Fatalf("unexpected fallbacks: %v", al.modelFallbacks)
}
}
func TestParseModelFallbacks_StringValue(t *testing.T) {
fallbacks := parseModelFallbacks("gpt-4o-mini")
if len(fallbacks) != 1 || fallbacks[0] != "gpt-4o-mini" {
t.Fatalf("unexpected parse result: %v", fallbacks)
}
}