github.com/containers/libpod@v1.9.4-0.20220419124438-4284fd425507/test/e2e/pod_stop_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 pod stop", 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.SeedImages()
    26  	})
    27  
    28  	AfterEach(func() {
    29  		podmanTest.CleanupPod()
    30  		f := CurrentGinkgoTestDescription()
    31  		processTestResult(f)
    32  
    33  	})
    34  
    35  	It("podman pod stop bogus pod", func() {
    36  		session := podmanTest.Podman([]string{"pod", "stop", "123"})
    37  		session.WaitWithDefaultTimeout()
    38  		Expect(session.ExitCode()).To(Equal(125))
    39  	})
    40  
    41  	It("podman pod stop --ignore bogus pod", func() {
    42  		SkipIfRemote()
    43  
    44  		session := podmanTest.Podman([]string{"pod", "stop", "--ignore", "123"})
    45  		session.WaitWithDefaultTimeout()
    46  		Expect(session.ExitCode()).To(Equal(0))
    47  	})
    48  
    49  	It("podman stop bogus pod and a running pod", func() {
    50  		_, ec, podid1 := podmanTest.CreatePod("")
    51  		Expect(ec).To(Equal(0))
    52  
    53  		session := podmanTest.RunTopContainerInPod("test1", podid1)
    54  		session.WaitWithDefaultTimeout()
    55  		Expect(session.ExitCode()).To(Equal(0))
    56  
    57  		session = podmanTest.Podman([]string{"pod", "stop", "bogus", "test1"})
    58  		session.WaitWithDefaultTimeout()
    59  		Expect(session.ExitCode()).To(Equal(125))
    60  	})
    61  
    62  	It("podman stop --ignore bogus pod and a running pod", func() {
    63  		SkipIfRemote()
    64  
    65  		_, ec, podid1 := podmanTest.CreatePod("")
    66  		Expect(ec).To(Equal(0))
    67  
    68  		session := podmanTest.RunTopContainerInPod("test1", podid1)
    69  		session.WaitWithDefaultTimeout()
    70  		Expect(session.ExitCode()).To(Equal(0))
    71  
    72  		session = podmanTest.Podman([]string{"pod", "stop", "--ignore", "bogus", "test1"})
    73  		session.WaitWithDefaultTimeout()
    74  		Expect(session.ExitCode()).To(Equal(0))
    75  
    76  		session = podmanTest.Podman([]string{"pod", "stop", "--ignore", "test1", "bogus"})
    77  		session.WaitWithDefaultTimeout()
    78  		Expect(session.ExitCode()).To(Equal(0))
    79  	})
    80  
    81  	It("podman pod stop single empty pod", func() {
    82  		_, ec, podid := podmanTest.CreatePod("")
    83  		Expect(ec).To(Equal(0))
    84  
    85  		session := podmanTest.Podman([]string{"pod", "stop", podid})
    86  		session.WaitWithDefaultTimeout()
    87  		Expect(session.ExitCode()).To(Equal(0))
    88  	})
    89  
    90  	It("podman pod stop single pod by name", func() {
    91  		_, ec, _ := podmanTest.CreatePod("foobar99")
    92  		Expect(ec).To(Equal(0))
    93  
    94  		session := podmanTest.RunTopContainerInPod("", "foobar99")
    95  		session.WaitWithDefaultTimeout()
    96  		Expect(session.ExitCode()).To(Equal(0))
    97  
    98  		session = podmanTest.Podman([]string{"pod", "stop", "foobar99"})
    99  		session.WaitWithDefaultTimeout()
   100  		Expect(session.ExitCode()).To(Equal(0))
   101  		Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0))
   102  	})
   103  
   104  	It("podman pod stop multiple pods", func() {
   105  		_, ec, podid1 := podmanTest.CreatePod("foobar99")
   106  		Expect(ec).To(Equal(0))
   107  
   108  		session := podmanTest.RunTopContainerInPod("", "foobar99")
   109  		session.WaitWithDefaultTimeout()
   110  		Expect(session.ExitCode()).To(Equal(0))
   111  
   112  		_, ec2, podid2 := podmanTest.CreatePod("foobar100")
   113  		Expect(ec2).To(Equal(0))
   114  
   115  		session = podmanTest.RunTopContainerInPod("", "foobar100")
   116  		session.WaitWithDefaultTimeout()
   117  		Expect(session.ExitCode()).To(Equal(0))
   118  
   119  		session = podmanTest.Podman([]string{"pod", "stop", podid1, podid2})
   120  		session.WaitWithDefaultTimeout()
   121  		Expect(session.ExitCode()).To(Equal(0))
   122  		Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0))
   123  	})
   124  
   125  	It("podman pod stop all pods", func() {
   126  		_, ec, _ := podmanTest.CreatePod("foobar99")
   127  		Expect(ec).To(Equal(0))
   128  
   129  		session := podmanTest.RunTopContainerInPod("", "foobar99")
   130  		session.WaitWithDefaultTimeout()
   131  		Expect(session.ExitCode()).To(Equal(0))
   132  
   133  		_, ec, _ = podmanTest.CreatePod("foobar100")
   134  		Expect(ec).To(Equal(0))
   135  
   136  		session = podmanTest.RunTopContainerInPod("", "foobar100")
   137  		session.WaitWithDefaultTimeout()
   138  		Expect(session.ExitCode()).To(Equal(0))
   139  
   140  		session = podmanTest.Podman([]string{"pod", "stop", "--all"})
   141  		session.WaitWithDefaultTimeout()
   142  		Expect(session.ExitCode()).To(Equal(0))
   143  		Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0))
   144  	})
   145  
   146  	It("podman pod stop latest pod", func() {
   147  		_, ec, _ := podmanTest.CreatePod("foobar99")
   148  		Expect(ec).To(Equal(0))
   149  
   150  		session := podmanTest.RunTopContainerInPod("", "foobar99")
   151  		session.WaitWithDefaultTimeout()
   152  		Expect(session.ExitCode()).To(Equal(0))
   153  
   154  		_, ec, _ = podmanTest.CreatePod("foobar100")
   155  		Expect(ec).To(Equal(0))
   156  
   157  		session = podmanTest.RunTopContainerInPod("", "foobar100")
   158  		session.WaitWithDefaultTimeout()
   159  		Expect(session.ExitCode()).To(Equal(0))
   160  
   161  		session = podmanTest.Podman([]string{"pod", "stop", "--latest"})
   162  		session.WaitWithDefaultTimeout()
   163  		Expect(session.ExitCode()).To(Equal(0))
   164  		Expect(podmanTest.NumberOfContainersRunning()).To(Equal(1))
   165  	})
   166  
   167  	It("podman pod stop multiple pods with bogus", func() {
   168  		_, ec, podid1 := podmanTest.CreatePod("foobar99")
   169  		Expect(ec).To(Equal(0))
   170  
   171  		session := podmanTest.RunTopContainerInPod("", "foobar99")
   172  		session.WaitWithDefaultTimeout()
   173  		Expect(session.ExitCode()).To(Equal(0))
   174  
   175  		session = podmanTest.Podman([]string{"pod", "stop", podid1, "doesnotexist"})
   176  		session.WaitWithDefaultTimeout()
   177  		Expect(session.ExitCode()).To(Equal(125))
   178  	})
   179  })