Files
new-api-custom/setting/model_setting/global_test.go
T

45 lines
1.5 KiB
Go

package model_setting
import (
"bytes"
"testing"
"github.com/gin-gonic/gin"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestShouldPreserveThinkingSuffixExactAndRegex(t *testing.T) {
settings := GetGlobalSettings()
original := append([]string(nil), settings.ThinkingModelBlacklist...)
t.Cleanup(func() { settings.ThinkingModelBlacklist = original })
assert.True(t, ShouldPreserveThinkingSuffix("kimi-k2-thinking"))
assert.True(t, ShouldPreserveThinkingSuffix("moonshotai/kimi-k2-thinking"))
assert.False(t, ShouldPreserveThinkingSuffix("m@sha256:abc"))
settings.ThinkingModelBlacklist = []string{
"kimi-k2-thinking",
"re:[",
"re:",
"re:.*@sha256:.*",
}
var logged bytes.Buffer
previous := gin.DefaultErrorWriter
gin.DefaultErrorWriter = &logged
t.Cleanup(func() { gin.DefaultErrorWriter = previous })
assert.True(t, ShouldPreserveThinkingSuffix("kimi-k2-thinking"))
assert.True(t, ShouldPreserveThinkingSuffix("m@sha256:abc"))
assert.False(t, ShouldPreserveThinkingSuffix("m@sha256"))
assert.False(t, ShouldPreserveThinkingSuffix("qwen3-max@thinking:on"))
require.Contains(t, logged.String(), `invalid thinking_model_blacklist regex "re:["`)
require.Contains(t, logged.String(), `invalid thinking_model_blacklist regex "re:"`)
settings.ThinkingModelBlacklist = []string{"re:^beta@"}
assert.False(t, ShouldPreserveThinkingSuffix("m@sha256:abc"))
assert.True(t, ShouldPreserveThinkingSuffix("beta@sha256:abc"))
assert.False(t, ShouldPreserveThinkingSuffix("alpha@sha256:abc"))
}