github.com/ali-iotechsys/cli@v20.10.0+incompatible/cli/command/cli_options_test.go (about)

     1  package command
     2  
     3  import (
     4  	"os"
     5  	"testing"
     6  
     7  	"gotest.tools/v3/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  }