github.com/containers/libpod@v1.9.4-0.20220419124438-4284fd425507/test/e2e/exists_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 image|container exists", 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.RestoreAllArtifacts() 26 }) 27 28 AfterEach(func() { 29 podmanTest.Cleanup() 30 f := CurrentGinkgoTestDescription() 31 processTestResult(f) 32 33 }) 34 35 It("podman image exists in local storage by fq name", func() { 36 session := podmanTest.Podman([]string{"image", "exists", ALPINE}) 37 session.WaitWithDefaultTimeout() 38 Expect(session.ExitCode()).To(Equal(0)) 39 }) 40 It("podman image exists in local storage by short name", func() { 41 session := podmanTest.Podman([]string{"image", "exists", "alpine"}) 42 session.WaitWithDefaultTimeout() 43 Expect(session.ExitCode()).To(Equal(0)) 44 }) 45 It("podman image does not exist in local storage", func() { 46 session := podmanTest.Podman([]string{"image", "exists", "alpine9999"}) 47 session.WaitWithDefaultTimeout() 48 Expect(session.ExitCode()).To(Equal(1)) 49 }) 50 It("podman container exists in local storage by name", func() { 51 setup := podmanTest.RunTopContainer("foobar") 52 setup.WaitWithDefaultTimeout() 53 Expect(setup.ExitCode()).To(Equal(0)) 54 55 session := podmanTest.Podman([]string{"container", "exists", "foobar"}) 56 session.WaitWithDefaultTimeout() 57 Expect(session.ExitCode()).To(Equal(0)) 58 }) 59 It("podman container exists in local storage by container ID", func() { 60 setup := podmanTest.RunTopContainer("") 61 setup.WaitWithDefaultTimeout() 62 Expect(setup.ExitCode()).To(Equal(0)) 63 cid := setup.OutputToString() 64 65 session := podmanTest.Podman([]string{"container", "exists", cid}) 66 session.WaitWithDefaultTimeout() 67 Expect(session.ExitCode()).To(Equal(0)) 68 }) 69 It("podman container exists in local storage by short container ID", func() { 70 setup := podmanTest.RunTopContainer("") 71 setup.WaitWithDefaultTimeout() 72 Expect(setup.ExitCode()).To(Equal(0)) 73 cid := setup.OutputToString()[0:12] 74 75 session := podmanTest.Podman([]string{"container", "exists", cid}) 76 session.WaitWithDefaultTimeout() 77 Expect(session.ExitCode()).To(Equal(0)) 78 }) 79 It("podman container does not exist in local storage", func() { 80 session := podmanTest.Podman([]string{"container", "exists", "foobar"}) 81 session.WaitWithDefaultTimeout() 82 Expect(session.ExitCode()).To(Equal(1)) 83 }) 84 85 It("podman pod exists in local storage by name", func() { 86 setup, rc, _ := podmanTest.CreatePod("foobar") 87 setup.WaitWithDefaultTimeout() 88 Expect(rc).To(Equal(0)) 89 90 session := podmanTest.Podman([]string{"pod", "exists", "foobar"}) 91 session.WaitWithDefaultTimeout() 92 Expect(session.ExitCode()).To(Equal(0)) 93 }) 94 It("podman pod exists in local storage by container ID", func() { 95 setup, rc, podID := podmanTest.CreatePod("") 96 setup.WaitWithDefaultTimeout() 97 Expect(rc).To(Equal(0)) 98 99 session := podmanTest.Podman([]string{"pod", "exists", podID}) 100 session.WaitWithDefaultTimeout() 101 Expect(session.ExitCode()).To(Equal(0)) 102 }) 103 It("podman pod exists in local storage by short container ID", func() { 104 setup, rc, podID := podmanTest.CreatePod("") 105 setup.WaitWithDefaultTimeout() 106 Expect(rc).To(Equal(0)) 107 108 session := podmanTest.Podman([]string{"pod", "exists", podID[0:12]}) 109 session.WaitWithDefaultTimeout() 110 Expect(session.ExitCode()).To(Equal(0)) 111 }) 112 It("podman pod does not exist in local storage", func() { 113 // The exit code for non-existing pod is incorrect (125 vs 1) 114 SkipIfRemote() 115 session := podmanTest.Podman([]string{"pod", "exists", "foobar"}) 116 session.WaitWithDefaultTimeout() 117 Expect(session.ExitCode()).To(Equal(1)) 118 }) 119 })