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 }