github.com/AliyunContainerService/cli@v0.0.0-20181009023821-814ced4b30d0/cmd/docker/docker_test.go (about)

     1  package main
     2  
     3  import (
     4  	"io/ioutil"
     5  	"os"
     6  	"testing"
     7  
     8  	"github.com/docker/cli/cli/command"
     9  	"github.com/docker/cli/cli/debug"
    10  	"github.com/sirupsen/logrus"
    11  	"gotest.tools/assert"
    12  	is "gotest.tools/assert/cmp"
    13  )
    14  
    15  func TestClientDebugEnabled(t *testing.T) {
    16  	defer debug.Disable()
    17  
    18  	cmd := newDockerCommand(&command.DockerCli{})
    19  	cmd.Flags().Set("debug", "true")
    20  
    21  	err := cmd.PersistentPreRunE(cmd, []string{})
    22  	assert.NilError(t, err)
    23  	assert.Check(t, is.Equal("1", os.Getenv("DEBUG")))
    24  	assert.Check(t, is.Equal(logrus.DebugLevel, logrus.GetLevel()))
    25  }
    26  
    27  func TestExitStatusForInvalidSubcommandWithHelpFlag(t *testing.T) {
    28  	discard := ioutil.Discard
    29  	cmd := newDockerCommand(command.NewDockerCli(os.Stdin, discard, discard, false, nil))
    30  	cmd.SetArgs([]string{"help", "invalid"})
    31  	err := cmd.Execute()
    32  	assert.Error(t, err, "unknown help topic: invalid")
    33  }