@@ -1,26 +1,46 @@
1−package main
1+package main_test
7+ proxy "github.com/pusher/oauth2_proxy"
7 "github.com/stretchr/testify/assert"
8 "github.com/stretchr/testify/assert"
10−type envTest struct {
11+type EnvTest struct {
11− testField string `cfg:"target_field" env:"TEST_ENV_FIELD"`
12+ TestField string `cfg:"target_field" env:"TEST_ENV_FIELD"`
16+type EnvTestEmbed struct {
17+ TestFieldEmbed string `cfg:"target_field_embed" env:"TEST_ENV_FIELD_EMBED"`
14func TestLoadEnvForStruct(t *testing.T) {
20func TestLoadEnvForStruct(t *testing.T) {
16− cfg := make(EnvOptions)
22+ cfg := make(proxy.EnvOptions)
17− cfg.LoadEnvForStruct(&envTest{})
23+ cfg.LoadEnvForStruct(&EnvTest{})
19 _, ok := cfg["target_field"]
25 _, ok := cfg["target_field"]
20 assert.Equal(t, ok, false)
26 assert.Equal(t, ok, false)
22 os.Setenv("TEST_ENV_FIELD", "1234abcd")
28 os.Setenv("TEST_ENV_FIELD", "1234abcd")
23− cfg.LoadEnvForStruct(&envTest{})
29+ cfg.LoadEnvForStruct(&EnvTest{})
24 v := cfg["target_field"]
30 v := cfg["target_field"]
25 assert.Equal(t, v, "1234abcd")
31 assert.Equal(t, v, "1234abcd")
34+func TestLoadEnvForStructWithEmbeddedFields(t *testing.T) {
36+ cfg := make(proxy.EnvOptions)
37+ cfg.LoadEnvForStruct(&EnvTest{})
39+ _, ok := cfg["target_field_embed"]
40+ assert.Equal(t, ok, false)
42+ os.Setenv("TEST_ENV_FIELD_EMBED", "1234abcd")
43+ cfg.LoadEnvForStruct(&EnvTest{})
44+ v := cfg["target_field_embed"]
45+ assert.Equal(t, v, "1234abcd")