github.com/hairyhenderson/gomplate/v3@v3.11.7/internal/tests/integration/envvars_test.go (about) 1 package integration 2 3 import ( 4 "os" 5 "testing" 6 7 "gotest.tools/v3/assert" 8 ) 9 10 func TestEnvVars_NonExistent(t *testing.T) { 11 os.Unsetenv("FOO") 12 _, _, err := cmd(t, "-i", `{{ .Env.FOO }}`).run() 13 assert.ErrorContains(t, err, "map has no entry for key") 14 15 inOutTest(t, `{{ getenv "FOO" }}`, "") 16 inOutTest(t, `{{ getenv "FOO" "foo" }}`, "foo") 17 inOutTest(t, `{{env.ExpandEnv "${BAR}foo"}}`, "foo") 18 19 o, e, err := cmd(t, "-i", `{{ getenv "FOO" "foo" }}`). 20 withEnv("FOO", "").run() 21 assertSuccess(t, o, e, err, "foo") 22 } 23 24 func TestEnvVars_Existent(t *testing.T) { 25 os.Unsetenv("FOO") 26 27 data := []string{ 28 `{{ .Env.FOO }}`, 29 `{{ getenv "FOO" }}`, 30 `{{ env.Getenv "FOO" }}`, 31 `{{env.ExpandEnv "${FOO}"}}`, 32 } 33 for _, in := range data { 34 o, e, err := cmd(t, "-i", in). 35 withEnv("FOO", "foo").run() 36 assertSuccess(t, o, e, err, "foo") 37 } 38 }