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  }