github.com/containers/podman/v2@v2.2.2-0.20210501105131-c1e07d070c4c/test/e2e/exists_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 . "github.com/onsi/gomega/gexec" 10 ) 11 12 var _ = Describe("Podman image|container exists", 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 }) 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).Should(Exit(0)) 39 }) 40 It("podman image exists in local storage by short name", func() { 41 Skip("FIXME-8165: shortnames don't seem to work with quay (#8176)") 42 session := podmanTest.Podman([]string{"image", "exists", "alpine"}) 43 session.WaitWithDefaultTimeout() 44 Expect(session).Should(Exit(0)) 45 }) 46 It("podman image does not exist in local storage", func() { 47 session := podmanTest.Podman([]string{"image", "exists", "alpine9999"}) 48 session.WaitWithDefaultTimeout() 49 Expect(session).Should(Exit(1)) 50 }) 51 It("podman container exists in local storage by name", func() { 52 setup := podmanTest.RunTopContainer("foobar") 53 setup.WaitWithDefaultTimeout() 54 Expect(setup.ExitCode()).To(Equal(0)) 55 56 session := podmanTest.Podman([]string{"container", "exists", "foobar"}) 57 session.WaitWithDefaultTimeout() 58 Expect(session).Should(Exit(0)) 59 }) 60 It("podman container exists in local storage by container ID", func() { 61 setup := podmanTest.RunTopContainer("") 62 setup.WaitWithDefaultTimeout() 63 Expect(setup).Should(Exit(0)) 64 cid := setup.OutputToString() 65 66 session := podmanTest.Podman([]string{"container", "exists", cid}) 67 session.WaitWithDefaultTimeout() 68 Expect(session).Should(Exit(0)) 69 }) 70 It("podman container exists in local storage by short container ID", func() { 71 setup := podmanTest.RunTopContainer("") 72 setup.WaitWithDefaultTimeout() 73 Expect(setup.ExitCode()).To(Equal(0)) 74 cid := setup.OutputToString()[0:12] 75 76 session := podmanTest.Podman([]string{"container", "exists", cid}) 77 session.WaitWithDefaultTimeout() 78 Expect(session).Should(Exit(0)) 79 }) 80 It("podman container does not exist in local storage", func() { 81 session := podmanTest.Podman([]string{"container", "exists", "foobar"}) 82 session.WaitWithDefaultTimeout() 83 Expect(session).Should(Exit(1)) 84 }) 85 86 It("podman pod exists in local storage by name", func() { 87 setup, _, _ := podmanTest.CreatePod("foobar") 88 setup.WaitWithDefaultTimeout() 89 Expect(setup).Should(Exit(0)) 90 91 session := podmanTest.Podman([]string{"pod", "exists", "foobar"}) 92 session.WaitWithDefaultTimeout() 93 Expect(session).Should(Exit(0)) 94 }) 95 It("podman pod exists in local storage by container ID", func() { 96 setup, _, podID := podmanTest.CreatePod("") 97 setup.WaitWithDefaultTimeout() 98 Expect(setup).Should(Exit(0)) 99 100 session := podmanTest.Podman([]string{"pod", "exists", podID}) 101 session.WaitWithDefaultTimeout() 102 Expect(session).Should(Exit(0)) 103 }) 104 It("podman pod exists in local storage by short container ID", func() { 105 setup, _, podID := podmanTest.CreatePod("") 106 setup.WaitWithDefaultTimeout() 107 Expect(setup).Should(Exit(0)) 108 109 session := podmanTest.Podman([]string{"pod", "exists", podID[0:12]}) 110 session.WaitWithDefaultTimeout() 111 Expect(session).Should(Exit(0)) 112 }) 113 It("podman pod does not exist in local storage", func() { 114 // The exit code for non-existing pod is incorrect (125 vs 1) 115 session := podmanTest.Podman([]string{"pod", "exists", "foobar"}) 116 session.WaitWithDefaultTimeout() 117 Expect(session).Should(Exit(1)) 118 }) 119 })