28e53d90fc
- 统一 OpenAI 兼容 /v1 中继 + 渠道/额度/令牌/流水 - 各领域包:relay 模型网关、model 数据层、controller 管理 API
48 lines
1.4 KiB
Go
48 lines
1.4 KiB
Go
package system_setting
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/QuantumNous/new-api/setting/config"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestOIDCSettings_GetEffectiveDisplayName(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
displayName string
|
|
want string
|
|
}{
|
|
{name: "blank falls back to OIDC", displayName: "", want: "OIDC"},
|
|
{name: "custom name is returned verbatim", displayName: "Acme SSO", want: "Acme SSO"},
|
|
{name: "whitespace-only falls back to OIDC", displayName: " ", want: "OIDC"},
|
|
{name: "surrounding whitespace is trimmed", displayName: " Acme SSO ", want: "Acme SSO"},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
s := &OIDCSettings{DisplayName: tt.displayName}
|
|
assert.Equal(t, tt.want, s.GetEffectiveDisplayName())
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestOIDCSettings_DisplayNamePersistenceRoundTrip(t *testing.T) {
|
|
settings := &OIDCSettings{DisplayName: " Acme SSO "}
|
|
manager := config.NewConfigManager()
|
|
manager.Register("oidc", settings)
|
|
|
|
saved := make(map[string]string)
|
|
require.NoError(t, manager.SaveToDB(func(key, value string) error {
|
|
saved[key] = value
|
|
return nil
|
|
}))
|
|
require.Equal(t, " Acme SSO ", saved["oidc.display_name"])
|
|
|
|
settings.DisplayName = ""
|
|
require.NoError(t, manager.LoadFromDB(saved))
|
|
assert.Equal(t, " Acme SSO ", settings.DisplayName)
|
|
assert.Equal(t, "Acme SSO", settings.GetEffectiveDisplayName())
|
|
}
|