github.com/itscaro/cli@v0.0.0-20190705081621-c9db0fe93829/cli/command/cli_options_test.go (about) 1 package command 2 3 import ( 4 "os" 5 "testing" 6 7 "gotest.tools/assert" 8 ) 9 10 func contentTrustEnabled(t *testing.T) bool { 11 var cli DockerCli 12 assert.NilError(t, WithContentTrustFromEnv()(&cli)) 13 return cli.contentTrust 14 } 15 16 // NB: Do not t.Parallel() this test -- it messes with the process environment. 17 func TestWithContentTrustFromEnv(t *testing.T) { 18 envvar := "DOCKER_CONTENT_TRUST" 19 if orig, ok := os.LookupEnv(envvar); ok { 20 defer func() { 21 os.Setenv(envvar, orig) 22 }() 23 } else { 24 defer func() { 25 os.Unsetenv(envvar) 26 }() 27 } 28 29 os.Setenv(envvar, "true") 30 assert.Assert(t, contentTrustEnabled(t)) 31 os.Setenv(envvar, "false") 32 assert.Assert(t, !contentTrustEnabled(t)) 33 os.Setenv(envvar, "invalid") 34 assert.Assert(t, contentTrustEnabled(t)) 35 os.Unsetenv(envvar) 36 assert.Assert(t, !contentTrustEnabled(t)) 37 }