From a2d48c9e4e2abadcba582de47891837b0a80b24c Mon Sep 17 00:00:00 2001 From: Anusha Ragunathan Date: Wed, 15 Jun 2016 10:18:55 -0700 Subject: [PATCH] Add basic integration tests for plugins. Signed-off-by: Anusha Ragunathan --- api/client/plugin/install.go | 2 +- integration-cli/docker_cli_plugins_test.go | 36 ++++++++++++++++++++++ integration-cli/requirements.go | 4 +++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 integration-cli/docker_cli_plugins_test.go diff --git a/api/client/plugin/install.go b/api/client/plugin/install.go index 4caf220504..ef890b1f90 100644 --- a/api/client/plugin/install.go +++ b/api/client/plugin/install.go @@ -31,7 +31,7 @@ func newInstallCommand(dockerCli *client.DockerCli) *cobra.Command { } flags := cmd.Flags() - flags.BoolVar(&options.grantPerms, "grant-permissions", true, "grant all permissions necessary to run the plugin") + flags.BoolVar(&options.grantPerms, "grant-all-permissions", true, "grant all permissions necessary to run the plugin") return cmd } diff --git a/integration-cli/docker_cli_plugins_test.go b/integration-cli/docker_cli_plugins_test.go new file mode 100644 index 0000000000..ad031b7ff6 --- /dev/null +++ b/integration-cli/docker_cli_plugins_test.go @@ -0,0 +1,36 @@ +package main + +import ( + "github.com/docker/docker/pkg/integration/checker" + "github.com/go-check/check" +) + +func (s *DockerSuite) TestPluginBasicOps(c *check.C) { + testRequires(c, DaemonIsLinux, ExperimentalDaemon) + name := "tiborvass/no-remove" + tag := "latest" + nameWithTag := name + ":" + tag + + _, _, err := dockerCmdWithError("plugin", "install", name) + c.Assert(err, checker.IsNil) + + out, _, err := dockerCmdWithError("plugin", "ls") + c.Assert(err, checker.IsNil) + c.Assert(out, checker.Contains, name) + c.Assert(out, checker.Contains, tag) + c.Assert(out, checker.Contains, "true") + + out, _, err = dockerCmdWithError("plugin", "inspect", nameWithTag) + c.Assert(err, checker.IsNil) + c.Assert(out, checker.Contains, "A test plugin for Docker") + + out, _, err = dockerCmdWithError("plugin", "remove", nameWithTag) + c.Assert(out, checker.Contains, "is active") + + _, _, err = dockerCmdWithError("plugin", "disable", nameWithTag) + c.Assert(err, checker.IsNil) + + out, _, err = dockerCmdWithError("plugin", "remove", nameWithTag) + c.Assert(err, checker.IsNil) + c.Assert(out, checker.Contains, nameWithTag) +} diff --git a/integration-cli/requirements.go b/integration-cli/requirements.go index 70275e9cd8..56a1596c2d 100644 --- a/integration-cli/requirements.go +++ b/integration-cli/requirements.go @@ -30,6 +30,10 @@ var ( func() bool { return daemonPlatform == "linux" }, "Test requires a Linux daemon", } + ExperimentalDaemon = testRequirement{ + func() bool { return utils.ExperimentalBuild() }, + "Test requires an experimental daemon", + } NotExperimentalDaemon = testRequirement{ func() bool { return !utils.ExperimentalBuild() }, "Test requires a non experimental daemon",