62 lines
1.9 KiB
Go
62 lines
1.9 KiB
Go
package probe
|
|
|
|
import (
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
func TestCanonicalModelFamily(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
t.Run("kimi aliases collapse into one family", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
variants := []string{"kimi 2.6", "kimi-2.6", "kimi-k2.6", "Kimi-K2.6"}
|
|
for _, variant := range variants {
|
|
if got := CanonicalModelFamily(variant); got != "kimi-2.6" {
|
|
t.Fatalf("CanonicalModelFamily(%q) = %q, want %q", variant, got, "kimi-2.6")
|
|
}
|
|
}
|
|
})
|
|
|
|
t.Run("deepseek vendor prefix normalizes away", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
if got := NormalizeModelID("deepseek-ai/DeepSeek-V4-Pro"); got != "deepseek-v4-pro" {
|
|
t.Fatalf("NormalizeModelID() = %q, want %q", got, "deepseek-v4-pro")
|
|
}
|
|
if got := CanonicalModelID("deepseek-ai/DeepSeek-V4-Pro"); got != "deepseek-v4-pro" {
|
|
t.Fatalf("CanonicalModelID() = %q, want %q", got, "deepseek-v4-pro")
|
|
}
|
|
})
|
|
|
|
t.Run("alias table and requested model resolution prefer discovered ids", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
rawModels := []string{"deepseek-ai/DeepSeek-V4-Pro", "kimi-k2.6"}
|
|
table := BuildAliasTable(rawModels)
|
|
if got := table["deepseek-v4-pro"].Canonical; got != "deepseek-v4-pro" {
|
|
t.Fatalf("alias canonical = %q, want %q", got, "deepseek-v4-pro")
|
|
}
|
|
|
|
resolved, ok := ResolveRequestedModel("DeepSeek V4 Pro", rawModels)
|
|
if !ok {
|
|
t.Fatal("ResolveRequestedModel() ok = false, want true")
|
|
}
|
|
if resolved != "deepseek-ai/DeepSeek-V4-Pro" {
|
|
t.Fatalf("ResolveRequestedModel() = %q, want discovered raw id", resolved)
|
|
}
|
|
})
|
|
|
|
t.Run("recommend models returns canonical discovered candidates", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
rawModels := []string{"kimi-k2.6", "deepseek-ai/DeepSeek-V4-Pro"}
|
|
got := RecommendModels([]string{"kimi 2.6", "DeepSeek V4 Pro", "unknown"}, rawModels)
|
|
want := []string{"kimi-k2.6", "deepseek-ai/DeepSeek-V4-Pro"}
|
|
if !reflect.DeepEqual(got, want) {
|
|
t.Fatalf("RecommendModels() = %#v, want %#v", got, want)
|
|
}
|
|
})
|
|
}
|