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