github.com/containers/libpod@v1.9.4-0.20220419124438-4284fd425507/test/e2e/init_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 init", 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.Cleanup() 30 f := CurrentGinkgoTestDescription() 31 processTestResult(f) 32 33 }) 34 35 It("podman init bogus container", func() { 36 session := podmanTest.Podman([]string{"start", "123456"}) 37 session.WaitWithDefaultTimeout() 38 Expect(session.ExitCode()).To(Equal(125)) 39 }) 40 41 It("podman init with no arguments", func() { 42 session := podmanTest.Podman([]string{"start"}) 43 session.WaitWithDefaultTimeout() 44 Expect(session.ExitCode()).To(Equal(125)) 45 }) 46 47 It("podman init single container by ID", func() { 48 session := podmanTest.Podman([]string{"create", "-d", ALPINE, "ls"}) 49 session.WaitWithDefaultTimeout() 50 Expect(session.ExitCode()).To(Equal(0)) 51 cid := session.OutputToString() 52 init := podmanTest.Podman([]string{"init", cid}) 53 init.WaitWithDefaultTimeout() 54 Expect(init.ExitCode()).To(Equal(0)) 55 result := podmanTest.Podman([]string{"inspect", cid}) 56 result.WaitWithDefaultTimeout() 57 Expect(result.ExitCode()).To(Equal(0)) 58 conData := result.InspectContainerToJSON() 59 Expect(conData[0].State.Status).To(Equal("created")) 60 }) 61 62 It("podman init single container by name", func() { 63 name := "test1" 64 session := podmanTest.Podman([]string{"create", "--name", name, "-d", ALPINE, "ls"}) 65 session.WaitWithDefaultTimeout() 66 Expect(session.ExitCode()).To(Equal(0)) 67 init := podmanTest.Podman([]string{"init", name}) 68 init.WaitWithDefaultTimeout() 69 Expect(init.ExitCode()).To(Equal(0)) 70 result := podmanTest.Podman([]string{"inspect", name}) 71 result.WaitWithDefaultTimeout() 72 Expect(result.ExitCode()).To(Equal(0)) 73 conData := result.InspectContainerToJSON() 74 Expect(conData[0].State.Status).To(Equal("created")) 75 }) 76 77 It("podman init latest container", func() { 78 session := podmanTest.Podman([]string{"create", "-d", ALPINE, "ls"}) 79 session.WaitWithDefaultTimeout() 80 Expect(session.ExitCode()).To(Equal(0)) 81 init := podmanTest.Podman([]string{"init", "--latest"}) 82 init.WaitWithDefaultTimeout() 83 Expect(init.ExitCode()).To(Equal(0)) 84 result := podmanTest.Podman([]string{"inspect", "--latest"}) 85 result.WaitWithDefaultTimeout() 86 Expect(result.ExitCode()).To(Equal(0)) 87 conData := result.InspectContainerToJSON() 88 Expect(conData[0].State.Status).To(Equal("created")) 89 }) 90 91 It("podman init all three containers, one running", func() { 92 session := podmanTest.Podman([]string{"create", "--name", "test1", "-d", ALPINE, "ls"}) 93 session.WaitWithDefaultTimeout() 94 Expect(session.ExitCode()).To(Equal(0)) 95 session2 := podmanTest.Podman([]string{"create", "--name", "test2", "-d", ALPINE, "ls"}) 96 session2.WaitWithDefaultTimeout() 97 Expect(session2.ExitCode()).To(Equal(0)) 98 session3 := podmanTest.Podman([]string{"run", "--name", "test3", "-d", ALPINE, "top"}) 99 session3.WaitWithDefaultTimeout() 100 Expect(session3.ExitCode()).To(Equal(0)) 101 init := podmanTest.Podman([]string{"init", "--all"}) 102 init.WaitWithDefaultTimeout() 103 Expect(init.ExitCode()).To(Equal(0)) 104 result := podmanTest.Podman([]string{"inspect", "test1"}) 105 result.WaitWithDefaultTimeout() 106 Expect(result.ExitCode()).To(Equal(0)) 107 conData := result.InspectContainerToJSON() 108 Expect(conData[0].State.Status).To(Equal("created")) 109 result2 := podmanTest.Podman([]string{"inspect", "test2"}) 110 result2.WaitWithDefaultTimeout() 111 Expect(result2.ExitCode()).To(Equal(0)) 112 conData2 := result2.InspectContainerToJSON() 113 Expect(conData2[0].State.Status).To(Equal("created")) 114 result3 := podmanTest.Podman([]string{"inspect", "test3"}) 115 result3.WaitWithDefaultTimeout() 116 Expect(result3.ExitCode()).To(Equal(0)) 117 conData3 := result3.InspectContainerToJSON() 118 Expect(conData3[0].State.Status).To(Equal("running")) 119 }) 120 121 It("podman init running container errors", func() { 122 session := podmanTest.Podman([]string{"run", "-d", ALPINE, "top"}) 123 session.WaitWithDefaultTimeout() 124 Expect(session.ExitCode()).To(Equal(0)) 125 init := podmanTest.Podman([]string{"init", "--latest"}) 126 init.WaitWithDefaultTimeout() 127 Expect(init.ExitCode()).To(Equal(125)) 128 }) 129 })