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