plugin_test.go 929 B

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