From f310d0a0b6dd2f352d85353153e56b609218e03f Mon Sep 17 00:00:00 2001 From: Yuan Sun Date: Wed, 8 Jul 2015 19:47:33 +0800 Subject: [PATCH] Add TestPullImageWithAllTagFromCentralRegistry test case. Signed-off-by: Yuan Sun Upstream-commit: c9a4c1401fc79d6cdee222a2b82cdb8379402552 Component: engine --- .../integration-cli/docker_cli_pull_test.go | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/components/engine/integration-cli/docker_cli_pull_test.go b/components/engine/integration-cli/docker_cli_pull_test.go index a3ded8f038..992183353d 100644 --- a/components/engine/integration-cli/docker_cli_pull_test.go +++ b/components/engine/integration-cli/docker_cli_pull_test.go @@ -150,3 +150,43 @@ func (s *DockerSuite) TestPullScratchNotAllowed(c *check.C) { c.Fatalf("unexpected output pulling scratch: %s", out) } } + +// pulling an image with --all-tags=true +func (s *DockerSuite) TestPullImageWithAllTagFromCentralRegistry(c *check.C) { + //testRequires(c, Network) + pullCmd := exec.Command(dockerBinary, "pull", "busybox") + if out, _, err := runCommandWithOutput(pullCmd); err != nil { + c.Fatalf("pulling the busybox image from the registry has failed: %s, %v", out, err) + } + + ImageCmd := exec.Command(dockerBinary, "images", "busybox") + outImageCmd, _, err := runCommandWithOutput(ImageCmd) + + c.Assert(err, check.IsNil) + + pullAllTagCmd := exec.Command(dockerBinary, "pull", "--all-tags=true", "busybox") + if out, _, err := runCommandWithOutput(pullAllTagCmd); err != nil { + c.Fatalf("pulling the busybox image with all tags from the registry has failed: %s, %v", out, err) + } + + ImageCmd1 := exec.Command(dockerBinary, "images", "busybox") + outImageAllTagCmd, _, err := runCommandWithOutput(ImageCmd1) + c.Assert(err, check.IsNil) + + if strings.Count(outImageCmd, "busybox") >= strings.Count(outImageAllTagCmd, "busybox") { + c.Fatalf("Pulling with all tags should get more images") + } + + pullAllTagCmd = exec.Command(dockerBinary, "pull", "-a", "busybox") + if out, _, err := runCommandWithOutput(pullAllTagCmd); err != nil { + c.Fatalf("pulling the busybox image with all tags from the registry has failed: %s, %v", out, err) + } + + ImageCmd2 := exec.Command(dockerBinary, "images", "busybox") + outImageAllTagCmd, _, err = runCommandWithOutput(ImageCmd2) + c.Assert(err, check.IsNil) + + if strings.Count(outImageCmd, "busybox") >= strings.Count(outImageAllTagCmd, "busybox") { + c.Fatalf("Pulling with all tags should get more images") + } +}