github.com/AbhinandanKurakure/podman/v3@v3.4.10/test/e2e/pod_restart_test.go (about) 1 package integration 2 3 import ( 4 "os" 5 6 . "github.com/containers/podman/v3/test/utils" 7 . "github.com/onsi/ginkgo" 8 . "github.com/onsi/gomega" 9 . "github.com/onsi/gomega/gexec" 10 ) 11 12 var _ = Describe("Podman pod restart", func() { 13 var ( 14 tempdir string 15 err error 16 podmanTest *PodmanTestIntegration 17 ) 18 19 BeforeEach(func() { 20 tempdir, err = CreateTempDirInTempDir() 21 if err != nil { 22 os.Exit(1) 23 } 24 podmanTest = PodmanTestCreate(tempdir) 25 podmanTest.Setup() 26 podmanTest.SeedImages() 27 }) 28 29 AfterEach(func() { 30 podmanTest.Cleanup() 31 f := CurrentGinkgoTestDescription() 32 processTestResult(f) 33 34 }) 35 36 It("podman pod restart bogus pod", func() { 37 session := podmanTest.Podman([]string{"pod", "restart", "123"}) 38 session.WaitWithDefaultTimeout() 39 Expect(session).Should(Exit(125)) 40 }) 41 42 It("podman pod restart single empty pod", func() { 43 _, ec, podid := podmanTest.CreatePod(nil) 44 Expect(ec).To(Equal(0)) 45 46 session := podmanTest.Podman([]string{"pod", "restart", podid}) 47 session.WaitWithDefaultTimeout() 48 Expect(session).Should(Exit(125)) 49 }) 50 51 It("podman pod restart single pod by name", func() { 52 _, ec, _ := podmanTest.CreatePod(map[string][]string{"--name": {"foobar99"}}) 53 Expect(ec).To(Equal(0)) 54 55 session := podmanTest.RunTopContainerInPod("test1", "foobar99") 56 session.WaitWithDefaultTimeout() 57 Expect(session).Should(Exit(0)) 58 59 startTime := podmanTest.Podman([]string{"inspect", "--format='{{.State.StartedAt}}'", "test1"}) 60 startTime.WaitWithDefaultTimeout() 61 62 session = podmanTest.Podman([]string{"pod", "restart", "foobar99"}) 63 session.WaitWithDefaultTimeout() 64 Expect(session).Should(Exit(0)) 65 66 restartTime := podmanTest.Podman([]string{"inspect", "--format='{{.State.StartedAt}}'", "test1"}) 67 restartTime.WaitWithDefaultTimeout() 68 Expect(restartTime.OutputToString()).To(Not(Equal(startTime.OutputToString()))) 69 }) 70 71 It("podman pod restart multiple pods", func() { 72 _, ec, _ := podmanTest.CreatePod(map[string][]string{"--name": {"foobar99"}}) 73 Expect(ec).To(Equal(0)) 74 75 session := podmanTest.RunTopContainerInPod("test1", "foobar99") 76 session.WaitWithDefaultTimeout() 77 Expect(session).Should(Exit(0)) 78 79 _, ec, _ = podmanTest.CreatePod(map[string][]string{"--name": {"foobar100"}}) 80 Expect(ec).To(Equal(0)) 81 82 session = podmanTest.RunTopContainerInPod("test2", "foobar100") 83 session.WaitWithDefaultTimeout() 84 Expect(session).Should(Exit(0)) 85 86 session = podmanTest.RunTopContainerInPod("test3", "foobar100") 87 session.WaitWithDefaultTimeout() 88 Expect(session).Should(Exit(0)) 89 90 session = podmanTest.RunTopContainerInPod("test4", "foobar100") 91 session.WaitWithDefaultTimeout() 92 Expect(session).Should(Exit(0)) 93 94 startTime := podmanTest.Podman([]string{"inspect", "--format='{{.State.StartedAt}}'", "test1", "test2", "test3", "test4"}) 95 startTime.WaitWithDefaultTimeout() 96 97 session = podmanTest.Podman([]string{"pod", "restart", "foobar99", "foobar100"}) 98 session.WaitWithDefaultTimeout() 99 Expect(session).Should(Exit(0)) 100 101 restartTime := podmanTest.Podman([]string{"inspect", "--format='{{.State.StartedAt}}'", "test1", "test2", "test3", "test4"}) 102 restartTime.WaitWithDefaultTimeout() 103 Expect(restartTime.OutputToStringArray()[0]).To(Not(Equal(startTime.OutputToStringArray()[0]))) 104 Expect(restartTime.OutputToStringArray()[1]).To(Not(Equal(startTime.OutputToStringArray()[1]))) 105 Expect(restartTime.OutputToStringArray()[2]).To(Not(Equal(startTime.OutputToStringArray()[2]))) 106 Expect(restartTime.OutputToStringArray()[3]).To(Not(Equal(startTime.OutputToStringArray()[3]))) 107 }) 108 109 It("podman pod restart all pods", func() { 110 _, ec, _ := podmanTest.CreatePod(map[string][]string{"--name": {"foobar99"}}) 111 Expect(ec).To(Equal(0)) 112 113 session := podmanTest.RunTopContainerInPod("test1", "foobar99") 114 session.WaitWithDefaultTimeout() 115 Expect(session).Should(Exit(0)) 116 117 _, ec, _ = podmanTest.CreatePod(map[string][]string{"--name": {"foobar100"}}) 118 Expect(ec).To(Equal(0)) 119 120 session = podmanTest.RunTopContainerInPod("test2", "foobar100") 121 session.WaitWithDefaultTimeout() 122 Expect(session).Should(Exit(0)) 123 124 startTime := podmanTest.Podman([]string{"inspect", "--format='{{.State.StartedAt}}'", "test1", "test2"}) 125 startTime.WaitWithDefaultTimeout() 126 127 session = podmanTest.Podman([]string{"pod", "restart", "-a"}) 128 session.WaitWithDefaultTimeout() 129 Expect(session).Should(Exit(0)) 130 131 restartTime := podmanTest.Podman([]string{"inspect", "--format='{{.State.StartedAt}}'", "test1", "test2"}) 132 restartTime.WaitWithDefaultTimeout() 133 Expect(restartTime.OutputToStringArray()[0]).To(Not(Equal(startTime.OutputToStringArray()[0]))) 134 Expect(restartTime.OutputToStringArray()[1]).To(Not(Equal(startTime.OutputToStringArray()[1]))) 135 }) 136 137 It("podman pod restart latest pod", func() { 138 _, ec, _ := podmanTest.CreatePod(map[string][]string{"--name": {"foobar99"}}) 139 Expect(ec).To(Equal(0)) 140 141 session := podmanTest.RunTopContainerInPod("test1", "foobar99") 142 session.WaitWithDefaultTimeout() 143 Expect(session).Should(Exit(0)) 144 145 _, ec, _ = podmanTest.CreatePod(map[string][]string{"--name": {"foobar100"}}) 146 Expect(ec).To(Equal(0)) 147 148 session = podmanTest.RunTopContainerInPod("test2", "foobar100") 149 session.WaitWithDefaultTimeout() 150 Expect(session).Should(Exit(0)) 151 152 startTime := podmanTest.Podman([]string{"inspect", "--format='{{.State.StartedAt}}'", "test1", "test2"}) 153 startTime.WaitWithDefaultTimeout() 154 155 podid := "-l" 156 if IsRemote() { 157 podid = "foobar100" 158 } 159 session = podmanTest.Podman([]string{"pod", "restart", podid}) 160 session.WaitWithDefaultTimeout() 161 Expect(session).Should(Exit(0)) 162 163 restartTime := podmanTest.Podman([]string{"inspect", "--format='{{.State.StartedAt}}'", "test1", "test2"}) 164 restartTime.WaitWithDefaultTimeout() 165 Expect(restartTime.OutputToStringArray()[0]).To(Equal(startTime.OutputToStringArray()[0])) 166 Expect(restartTime.OutputToStringArray()[1]).To(Not(Equal(startTime.OutputToStringArray()[1]))) 167 }) 168 169 It("podman pod restart multiple pods with bogus", func() { 170 _, ec, podid1 := podmanTest.CreatePod(map[string][]string{"--name": {"foobar99"}}) 171 Expect(ec).To(Equal(0)) 172 173 session := podmanTest.RunTopContainerInPod("", "foobar99") 174 session.WaitWithDefaultTimeout() 175 Expect(session).Should(Exit(0)) 176 177 session = podmanTest.Podman([]string{"pod", "restart", podid1, "doesnotexist"}) 178 session.WaitWithDefaultTimeout() 179 Expect(session).Should(Exit(125)) 180 }) 181 })