47 lines
		
	
	
		
			976 B
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			976 B
		
	
	
	
		
			Go
		
	
	
	
package main_test
 | 
						|
 | 
						|
import (
 | 
						|
	"os"
 | 
						|
	"testing"
 | 
						|
 | 
						|
	proxy "github.com/pusher/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")
 | 
						|
}
 |