github.com/mponton/terratest@v0.44.0/modules/environment/envvar.go (about) 1 package environment 2 3 import ( 4 "os" 5 6 "github.com/mponton/terratest/modules/testing" 7 "github.com/stretchr/testify/require" 8 ) 9 10 // GetFirstNonEmptyEnvVarOrFatal returns the first non-empty environment variable from envVarNames, or throws a fatal 11 func GetFirstNonEmptyEnvVarOrFatal(t testing.TestingT, envVarNames []string) string { 12 value := GetFirstNonEmptyEnvVarOrEmptyString(t, envVarNames) 13 if value == "" { 14 t.Fatalf("All of the following env vars %v are empty. At least one must be non-empty.", envVarNames) 15 } 16 17 return value 18 } 19 20 // GetFirstNonEmptyEnvVarOrEmptyString returns the first non-empty environment variable from envVarNames, or returns the 21 // empty string 22 func GetFirstNonEmptyEnvVarOrEmptyString(t testing.TestingT, envVarNames []string) string { 23 for _, name := range envVarNames { 24 if value := os.Getenv(name); value != "" { 25 return value 26 } 27 } 28 29 return "" 30 } 31 32 // RequireEnvVar fails the test if the specified environment variable is not defined or is blank. 33 func RequireEnvVar(t testing.TestingT, envVarName string) { 34 require.NotEmptyf(t, os.Getenv(envVarName), "Environment variable %s must be set for this test.", envVarName) 35 }