github.com/docker/app@v0.9.1-beta3.0.20210611140623-a48f773ab002/e2e/plugin_test.go (about)

     1  package e2e
     2  
     3  import (
     4  	"regexp"
     5  	"testing"
     6  
     7  	"gotest.tools/assert"
     8  	"gotest.tools/golden"
     9  	"gotest.tools/icmd"
    10  )
    11  
    12  func TestInvokePluginFromCLI(t *testing.T) {
    13  	cmd, cleanup := dockerCli.createTestCmd()
    14  	defer cleanup()
    15  	// docker --help should list app as a top command
    16  	cmd.Command = dockerCli.Command("--help")
    17  	icmd.RunCmd(cmd).Assert(t, icmd.Expected{
    18  		Out: "app*        Docker App (Docker Inc.,",
    19  	})
    20  
    21  	// docker app --help prints docker-app help
    22  	cmd.Command = dockerCli.Command("app", "--help")
    23  	usage := icmd.RunCmd(cmd).Assert(t, icmd.Success).Combined()
    24  
    25  	goldenFile := "plugin-usage.golden"
    26  	golden.Assert(t, usage, goldenFile)
    27  
    28  	// docker info should print app version and short description
    29  	cmd.Command = dockerCli.Command("info")
    30  	re := regexp.MustCompile(`app: Docker App \(Docker Inc\., .*\)`)
    31  	output := icmd.RunCmd(cmd).Assert(t, icmd.Success).Combined()
    32  	assert.Assert(t, re.MatchString(output))
    33  }