Files
new-api-custom/setting/system_setting/oidc_test.go
T
Codex bb7968b612
Publish Docker image (Multi-arch) / Build & push (amd64) (push) Failing after 9m20s
Release (Linux, macOS, Windows) / Linux Release (push) Failing after 55m7s
Publish Docker image (Multi-arch) / Build & push (arm64) (push) Canceled after 0s
Release (Linux, macOS, Windows) / macOS Release (push) Canceled after 0s
Release (Linux, macOS, Windows) / Windows Release (push) Canceled after 0s
Publish Docker image (Multi-arch) / Create multi-arch manifests (push) Canceled after 0s
feat: publish v1.0.0-rc.36-custom.1
2026-09-11 05:07:48 +08:00

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())
}