github.com/nullne/docker@v1.13.0-rc1/integration-cli/docker_cli_pause_test.go (about) 1 package main 2 3 import ( 4 "strings" 5 6 "github.com/docker/docker/pkg/integration/checker" 7 "github.com/go-check/check" 8 ) 9 10 func (s *DockerSuite) TestPause(c *check.C) { 11 testRequires(c, IsPausable) 12 defer unpauseAllContainers() 13 14 name := "testeventpause" 15 runSleepingContainer(c, "-d", "--name", name) 16 17 dockerCmd(c, "pause", name) 18 pausedContainers, err := getSliceOfPausedContainers() 19 c.Assert(err, checker.IsNil) 20 c.Assert(len(pausedContainers), checker.Equals, 1) 21 22 dockerCmd(c, "unpause", name) 23 24 out, _ := dockerCmd(c, "events", "--since=0", "--until", daemonUnixTime(c)) 25 events := strings.Split(strings.TrimSpace(out), "\n") 26 actions := eventActionsByIDAndType(c, events, name, "container") 27 28 c.Assert(actions[len(actions)-2], checker.Equals, "pause") 29 c.Assert(actions[len(actions)-1], checker.Equals, "unpause") 30 } 31 32 func (s *DockerSuite) TestPauseMultipleContainers(c *check.C) { 33 testRequires(c, IsPausable) 34 defer unpauseAllContainers() 35 36 containers := []string{ 37 "testpausewithmorecontainers1", 38 "testpausewithmorecontainers2", 39 } 40 for _, name := range containers { 41 runSleepingContainer(c, "-d", "--name", name) 42 } 43 dockerCmd(c, append([]string{"pause"}, containers...)...) 44 pausedContainers, err := getSliceOfPausedContainers() 45 c.Assert(err, checker.IsNil) 46 c.Assert(len(pausedContainers), checker.Equals, len(containers)) 47 48 dockerCmd(c, append([]string{"unpause"}, containers...)...) 49 50 out, _ := dockerCmd(c, "events", "--since=0", "--until", daemonUnixTime(c)) 51 events := strings.Split(strings.TrimSpace(out), "\n") 52 53 for _, name := range containers { 54 actions := eventActionsByIDAndType(c, events, name, "container") 55 56 c.Assert(actions[len(actions)-2], checker.Equals, "pause") 57 c.Assert(actions[len(actions)-1], checker.Equals, "unpause") 58 } 59 } 60 61 func (s *DockerSuite) TestPauseFailsOnWindowsServerContainers(c *check.C) { 62 testRequires(c, DaemonIsWindows, NotPausable) 63 runSleepingContainer(c, "-d", "--name=test") 64 out, _, _ := dockerCmdWithError("pause", "test") 65 c.Assert(out, checker.Contains, "cannot pause Windows Server Containers") 66 }