47 lines
982 B
Go
47 lines
982 B
Go
package main_test
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
|
|
proxy "github.com/oauth2-proxy/oauth2-proxy"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
type EnvTest struct {
|
|
TestField string `cfg:"target_field" env:"TEST_ENV_FIELD"`
|
|
EnvTestEmbed
|
|
}
|
|
|
|
type EnvTestEmbed struct {
|
|
TestFieldEmbed string `cfg:"target_field_embed" env:"TEST_ENV_FIELD_EMBED"`
|
|
}
|
|
|
|
func TestLoadEnvForStruct(t *testing.T) {
|
|
|
|
cfg := make(proxy.EnvOptions)
|
|
cfg.LoadEnvForStruct(&EnvTest{})
|
|
|
|
_, ok := cfg["target_field"]
|
|
assert.Equal(t, ok, false)
|
|
|
|
os.Setenv("TEST_ENV_FIELD", "1234abcd")
|
|
cfg.LoadEnvForStruct(&EnvTest{})
|
|
v := cfg["target_field"]
|
|
assert.Equal(t, v, "1234abcd")
|
|
}
|
|
|
|
func TestLoadEnvForStructWithEmbeddedFields(t *testing.T) {
|
|
|
|
cfg := make(proxy.EnvOptions)
|
|
cfg.LoadEnvForStruct(&EnvTest{})
|
|
|
|
_, ok := cfg["target_field_embed"]
|
|
assert.Equal(t, ok, false)
|
|
|
|
os.Setenv("TEST_ENV_FIELD_EMBED", "1234abcd")
|
|
cfg.LoadEnvForStruct(&EnvTest{})
|
|
v := cfg["target_field_embed"]
|
|
assert.Equal(t, v, "1234abcd")
|
|
}
|