github.com/containers/podman/v2@v2.2.2-0.20210501105131-c1e07d070c4c/test/e2e/init_test.go (about) 1 package integration 2 3 import ( 4 "os" 5 6 . "github.com/containers/podman/v2/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", 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, 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 SkipIfRemote("--latest flag n/a") 79 session := podmanTest.Podman([]string{"create", ALPINE, "ls"}) 80 session.WaitWithDefaultTimeout() 81 Expect(session.ExitCode()).To(Equal(0)) 82 init := podmanTest.Podman([]string{"init", "--latest"}) 83 init.WaitWithDefaultTimeout() 84 Expect(init.ExitCode()).To(Equal(0)) 85 result := podmanTest.Podman([]string{"inspect", "--latest"}) 86 result.WaitWithDefaultTimeout() 87 Expect(result.ExitCode()).To(Equal(0)) 88 conData := result.InspectContainerToJSON() 89 Expect(conData[0].State.Status).To(Equal("created")) 90 }) 91 92 It("podman init all three containers, one running", func() { 93 session := podmanTest.Podman([]string{"create", "--name", "test1", ALPINE, "ls"}) 94 session.WaitWithDefaultTimeout() 95 Expect(session.ExitCode()).To(Equal(0)) 96 session2 := podmanTest.Podman([]string{"create", "--name", "test2", ALPINE, "ls"}) 97 session2.WaitWithDefaultTimeout() 98 Expect(session2.ExitCode()).To(Equal(0)) 99 session3 := podmanTest.Podman([]string{"run", "--name", "test3", "-d", ALPINE, "top"}) 100 session3.WaitWithDefaultTimeout() 101 Expect(session3.ExitCode()).To(Equal(0)) 102 init := podmanTest.Podman([]string{"init", "--all"}) 103 init.WaitWithDefaultTimeout() 104 Expect(init.ExitCode()).To(Equal(0)) 105 result := podmanTest.Podman([]string{"inspect", "test1"}) 106 result.WaitWithDefaultTimeout() 107 Expect(result.ExitCode()).To(Equal(0)) 108 conData := result.InspectContainerToJSON() 109 Expect(conData[0].State.Status).To(Equal("created")) 110 result2 := podmanTest.Podman([]string{"inspect", "test2"}) 111 result2.WaitWithDefaultTimeout() 112 Expect(result2.ExitCode()).To(Equal(0)) 113 conData2 := result2.InspectContainerToJSON() 114 Expect(conData2[0].State.Status).To(Equal("created")) 115 result3 := podmanTest.Podman([]string{"inspect", "test3"}) 116 result3.WaitWithDefaultTimeout() 117 Expect(result3.ExitCode()).To(Equal(0)) 118 conData3 := result3.InspectContainerToJSON() 119 Expect(conData3[0].State.Status).To(Equal("running")) 120 }) 121 122 It("podman init running container errors", func() { 123 session := podmanTest.Podman([]string{"run", "--name", "init_test", "-d", ALPINE, "top"}) 124 session.WaitWithDefaultTimeout() 125 Expect(session.ExitCode()).To(Equal(0)) 126 init := podmanTest.Podman([]string{"init", "init_test"}) 127 init.WaitWithDefaultTimeout() 128 Expect(init.ExitCode()).To(Equal(125)) 129 }) 130 })