mirror of https://github.com/authelia/authelia.git
104 lines
2.8 KiB
Go
104 lines
2.8 KiB
Go
package configuration
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
"github.com/authelia/authelia/v4/internal/configuration/schema"
|
|
)
|
|
|
|
func TestIsSecretKey(t *testing.T) {
|
|
assert.True(t, IsSecretKey("my_fake_token"))
|
|
assert.False(t, IsSecretKey("my_fake_tokenz"))
|
|
assert.True(t, IsSecretKey("my_.fake.secret"))
|
|
assert.True(t, IsSecretKey("my.password"))
|
|
assert.False(t, IsSecretKey("my.passwords"))
|
|
assert.False(t, IsSecretKey("my.passwords"))
|
|
}
|
|
|
|
func TestGetEnvConfigMaps(t *testing.T) {
|
|
var (
|
|
key string
|
|
ok bool
|
|
)
|
|
|
|
input := []string{
|
|
"my.non_secret.config_item",
|
|
"myother.configkey",
|
|
"mysecret.password",
|
|
"mysecret.user_password",
|
|
}
|
|
|
|
keys, ignoredKeys := getEnvConfigMap(input, DefaultEnvPrefix, DefaultEnvDelimiter, deprecations, deprecationsMKM)
|
|
|
|
key, ok = keys[DefaultEnvPrefix+"MY_NON_SECRET_CONFIG_ITEM"]
|
|
assert.True(t, ok)
|
|
assert.Equal(t, key, "my.non_secret.config_item")
|
|
|
|
key, ok = keys[DefaultEnvPrefix+"MYSECRET_USER_PASSWORD"]
|
|
assert.True(t, ok)
|
|
assert.Equal(t, key, "mysecret.user_password")
|
|
|
|
key, ok = keys[DefaultEnvPrefix+"MYOTHER_CONFIGKEY"]
|
|
assert.True(t, ok)
|
|
assert.Equal(t, "myother.configkey", key)
|
|
|
|
key, ok = keys[DefaultEnvPrefix+"MYSECRET_PASSWORD"]
|
|
assert.True(t, ok)
|
|
assert.Equal(t, "mysecret.password", key)
|
|
|
|
assert.Len(t, ignoredKeys, 6)
|
|
assert.Contains(t, ignoredKeys, DefaultEnvPrefix+MYOTHER_CONFIGKEY_FILE)
|
|
assert.Contains(t, ignoredKeys, DefaultEnvPrefix+MYSECRET_PASSWORD_FILE)
|
|
assert.Contains(t, ignoredKeys, DefaultEnvPrefix+MYSECRET_USER_PASSWORD_FILE)
|
|
assert.Contains(t, ignoredKeys, DefaultEnvPrefix+"IDENTITY_PROVIDERS_OIDC_ISSUER_PRIVATE_KEY_FILE")
|
|
assert.Contains(t, ignoredKeys, DefaultEnvPrefix+"IDENTITY_PROVIDERS_OIDC_ISSUER_CERTIFICATE_CHAIN_FILE")
|
|
}
|
|
|
|
func TestGetSecretConfigMapMockInput(t *testing.T) {
|
|
var (
|
|
key string
|
|
ok bool
|
|
)
|
|
|
|
input := []string{
|
|
"my.non_secret.config_item",
|
|
"myother.configkey",
|
|
"mysecret.password",
|
|
"mysecret.user_password",
|
|
}
|
|
|
|
keys := getSecretConfigMap(input, DefaultEnvPrefix, DefaultEnvDelimiter, deprecations)
|
|
|
|
key, ok = keys[DefaultEnvPrefix+"MY_NON_SECRET_CONFIG_ITEM_FILE"]
|
|
assert.False(t, ok)
|
|
assert.Equal(t, key, "")
|
|
|
|
key, ok = keys[DefaultEnvPrefix+MYOTHER_CONFIGKEY_FILE]
|
|
assert.True(t, ok)
|
|
assert.Equal(t, "myother.configkey", key)
|
|
|
|
key, ok = keys[DefaultEnvPrefix+MYSECRET_PASSWORD_FILE]
|
|
assert.True(t, ok)
|
|
assert.Equal(t, "mysecret.password", key)
|
|
|
|
key, ok = keys[DefaultEnvPrefix+MYSECRET_USER_PASSWORD_FILE]
|
|
assert.True(t, ok)
|
|
assert.Equal(t, "mysecret.user_password", key)
|
|
}
|
|
|
|
func TestGetSecretConfigMap(t *testing.T) {
|
|
keys := getSecretConfigMap(schema.Keys, DefaultEnvPrefix, DefaultEnvDelimiter, deprecations)
|
|
|
|
var (
|
|
key string
|
|
ok bool
|
|
)
|
|
|
|
key, ok = keys[DefaultEnvPrefix+JWT_SECRET_FILE]
|
|
|
|
assert.True(t, ok)
|
|
assert.Equal(t, "jwt_secret", key)
|
|
}
|