github.com/containers/podman/v5@v5.1.0-rc1/test/e2e/exists_test.go (about) 1 package integration 2 3 import ( 4 . "github.com/containers/podman/v5/test/utils" 5 . "github.com/onsi/ginkgo/v2" 6 . "github.com/onsi/gomega" 7 . "github.com/onsi/gomega/gexec" 8 ) 9 10 var _ = Describe("Podman image|container exists", func() { 11 12 It("podman image exists in local storage by fq name", func() { 13 session := podmanTest.Podman([]string{"image", "exists", ALPINE}) 14 session.WaitWithDefaultTimeout() 15 Expect(session).Should(ExitCleanly()) 16 }) 17 It("podman image exists in local storage by short name", func() { 18 session := podmanTest.Podman([]string{"image", "exists", "alpine"}) 19 session.WaitWithDefaultTimeout() 20 Expect(session).Should(ExitCleanly()) 21 }) 22 It("podman image does not exist in local storage", func() { 23 session := podmanTest.Podman([]string{"image", "exists", "alpine9999"}) 24 session.WaitWithDefaultTimeout() 25 Expect(session).Should(Exit(1)) 26 }) 27 It("podman container exists in local storage by name", func() { 28 setup := podmanTest.RunTopContainer("foobar") 29 setup.WaitWithDefaultTimeout() 30 Expect(setup).Should(ExitCleanly()) 31 32 session := podmanTest.Podman([]string{"container", "exists", "foobar"}) 33 session.WaitWithDefaultTimeout() 34 Expect(session).Should(ExitCleanly()) 35 }) 36 It("podman container exists in local storage by container ID", func() { 37 setup := podmanTest.RunTopContainer("") 38 setup.WaitWithDefaultTimeout() 39 Expect(setup).Should(ExitCleanly()) 40 cid := setup.OutputToString() 41 42 session := podmanTest.Podman([]string{"container", "exists", cid}) 43 session.WaitWithDefaultTimeout() 44 Expect(session).Should(ExitCleanly()) 45 }) 46 It("podman container exists in local storage by short container ID", func() { 47 setup := podmanTest.RunTopContainer("") 48 setup.WaitWithDefaultTimeout() 49 Expect(setup).Should(ExitCleanly()) 50 cid := setup.OutputToString()[0:12] 51 52 session := podmanTest.Podman([]string{"container", "exists", cid}) 53 session.WaitWithDefaultTimeout() 54 Expect(session).Should(ExitCleanly()) 55 }) 56 It("podman container does not exist in local storage", func() { 57 session := podmanTest.Podman([]string{"container", "exists", "foobar"}) 58 session.WaitWithDefaultTimeout() 59 Expect(session).Should(Exit(1)) 60 }) 61 62 It("podman pod exists in local storage by name", func() { 63 setup, _, _ := podmanTest.CreatePod(map[string][]string{"--name": {"foobar"}}) 64 setup.WaitWithDefaultTimeout() 65 Expect(setup).Should(ExitCleanly()) 66 67 session := podmanTest.Podman([]string{"pod", "exists", "foobar"}) 68 session.WaitWithDefaultTimeout() 69 Expect(session).Should(ExitCleanly()) 70 }) 71 It("podman pod exists in local storage by container ID", func() { 72 setup, _, podID := podmanTest.CreatePod(nil) 73 setup.WaitWithDefaultTimeout() 74 Expect(setup).Should(ExitCleanly()) 75 76 session := podmanTest.Podman([]string{"pod", "exists", podID}) 77 session.WaitWithDefaultTimeout() 78 Expect(session).Should(ExitCleanly()) 79 }) 80 It("podman pod exists in local storage by short container ID", func() { 81 setup, _, podID := podmanTest.CreatePod(nil) 82 setup.WaitWithDefaultTimeout() 83 Expect(setup).Should(ExitCleanly()) 84 85 session := podmanTest.Podman([]string{"pod", "exists", podID[0:12]}) 86 session.WaitWithDefaultTimeout() 87 Expect(session).Should(ExitCleanly()) 88 }) 89 It("podman pod does not exist in local storage", func() { 90 // The exit code for non-existing pod is incorrect (125 vs 1) 91 session := podmanTest.Podman([]string{"pod", "exists", "foobar"}) 92 session.WaitWithDefaultTimeout() 93 Expect(session).Should(Exit(1)) 94 }) 95 })