mirror of
https://github.com/steveiliop56/tinyauth.git
synced 2026-05-25 05:30:16 +00:00
c3461131f5
Co-authored-by: Puneet Dixit <236133619+puneetdixit200@users.noreply.github.com>
40 lines
1.1 KiB
Go
40 lines
1.1 KiB
Go
package service
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/tinyauthapp/tinyauth/internal/model"
|
|
"github.com/tinyauthapp/tinyauth/internal/utils/logger"
|
|
)
|
|
|
|
func TestIsEmailWhitelistedUsesProviderSpecificList(t *testing.T) {
|
|
log := logger.NewLogger().WithTestConfig()
|
|
log.Init()
|
|
|
|
auth := &AuthService{
|
|
log: log,
|
|
runtime: model.RuntimeConfig{
|
|
OAuthWhitelist: []string{"global@example.com"},
|
|
OAuthProviders: map[string]model.OAuthServiceConfig{
|
|
"github": {
|
|
Whitelist: []string{"github@example.com"},
|
|
},
|
|
"pocketid": {
|
|
Whitelist: []string{"pocket@example.com"},
|
|
},
|
|
"gitlab": {
|
|
Whitelist: []string{},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
assert.True(t, auth.IsEmailWhitelisted("github", "github@example.com"))
|
|
assert.False(t, auth.IsEmailWhitelisted("github", "pocket@example.com"))
|
|
assert.True(t, auth.IsEmailWhitelisted("pocketid", "pocket@example.com"))
|
|
assert.True(t, auth.IsEmailWhitelisted("google", "global@example.com"))
|
|
assert.True(t, auth.IsEmailWhitelisted("gitlab", "global@example.com"))
|
|
assert.False(t, auth.IsEmailWhitelisted("gitlab", "unknown@example.com"))
|
|
}
|