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  })