github.com/containers/podman/v4@v4.9.4/test/e2e/exists_test.go (about)

     1  package integration
     2  
     3  import (
     4  	. "github.com/containers/podman/v4/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  })