github.com/containers/podman/v4@v4.9.4/test/e2e/volume_rm_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 volume rm", func() {
    11  
    12  	AfterEach(func() {
    13  		podmanTest.CleanupVolume()
    14  	})
    15  
    16  	It("podman volume rm", func() {
    17  		session := podmanTest.Podman([]string{"volume", "create", "myvol"})
    18  		session.WaitWithDefaultTimeout()
    19  		Expect(session).Should(ExitCleanly())
    20  
    21  		session = podmanTest.Podman([]string{"volume", "rm", "myvol"})
    22  		session.WaitWithDefaultTimeout()
    23  		Expect(session).Should(ExitCleanly())
    24  
    25  		session = podmanTest.Podman([]string{"volume", "ls"})
    26  		session.WaitWithDefaultTimeout()
    27  		Expect(session).Should(ExitCleanly())
    28  		Expect(session.OutputToStringArray()).To(BeEmpty())
    29  	})
    30  
    31  	It("podman volume rm with --force flag", func() {
    32  		session := podmanTest.Podman([]string{"create", "-v", "myvol:/myvol", ALPINE, "ls"})
    33  		cid := session.OutputToString()
    34  		session.WaitWithDefaultTimeout()
    35  		Expect(session).Should(ExitCleanly())
    36  
    37  		session = podmanTest.Podman([]string{"volume", "rm", "myvol"})
    38  		session.WaitWithDefaultTimeout()
    39  		Expect(session).Should(Exit(2))
    40  		Expect(session.ErrorToString()).To(ContainSubstring(cid))
    41  
    42  		session = podmanTest.Podman([]string{"volume", "rm", "-t", "0", "-f", "myvol"})
    43  		session.WaitWithDefaultTimeout()
    44  		Expect(session).Should(ExitCleanly())
    45  
    46  		session = podmanTest.Podman([]string{"volume", "ls"})
    47  		session.WaitWithDefaultTimeout()
    48  		Expect(session).Should(ExitCleanly())
    49  		Expect(session.OutputToStringArray()).To(BeEmpty())
    50  	})
    51  
    52  	It("podman volume remove bogus", func() {
    53  		session := podmanTest.Podman([]string{"volume", "rm", "bogus"})
    54  		session.WaitWithDefaultTimeout()
    55  		Expect(session).Should(Exit(1))
    56  	})
    57  
    58  	It("podman rm with --all flag", func() {
    59  		session := podmanTest.Podman([]string{"volume", "create", "myvol"})
    60  		session.WaitWithDefaultTimeout()
    61  		Expect(session).Should(ExitCleanly())
    62  
    63  		session = podmanTest.Podman([]string{"volume", "create"})
    64  		session.WaitWithDefaultTimeout()
    65  		Expect(session).Should(ExitCleanly())
    66  
    67  		session = podmanTest.Podman([]string{"volume", "rm", "-a"})
    68  		session.WaitWithDefaultTimeout()
    69  		Expect(session).Should(ExitCleanly())
    70  
    71  		session = podmanTest.Podman([]string{"volume", "ls"})
    72  		session.WaitWithDefaultTimeout()
    73  		Expect(session).Should(ExitCleanly())
    74  		Expect(session.OutputToStringArray()).To(BeEmpty())
    75  	})
    76  
    77  	It("podman volume rm by partial name", func() {
    78  		session := podmanTest.Podman([]string{"volume", "create", "myvol"})
    79  		session.WaitWithDefaultTimeout()
    80  		Expect(session).Should(ExitCleanly())
    81  
    82  		session = podmanTest.Podman([]string{"volume", "rm", "myv"})
    83  		session.WaitWithDefaultTimeout()
    84  		Expect(session).Should(ExitCleanly())
    85  
    86  		session = podmanTest.Podman([]string{"volume", "ls"})
    87  		session.WaitWithDefaultTimeout()
    88  		Expect(session).Should(ExitCleanly())
    89  		Expect(session.OutputToStringArray()).To(BeEmpty())
    90  	})
    91  
    92  	It("podman volume rm by nonunique partial name", func() {
    93  		session := podmanTest.Podman([]string{"volume", "create", "myvol1"})
    94  		session.WaitWithDefaultTimeout()
    95  		Expect(session).Should(ExitCleanly())
    96  
    97  		session = podmanTest.Podman([]string{"volume", "create", "myvol2"})
    98  		session.WaitWithDefaultTimeout()
    99  		Expect(session).Should(ExitCleanly())
   100  
   101  		session = podmanTest.Podman([]string{"volume", "rm", "myv"})
   102  		session.WaitWithDefaultTimeout()
   103  		Expect(session).To(ExitWithError())
   104  
   105  		session = podmanTest.Podman([]string{"volume", "ls"})
   106  		session.WaitWithDefaultTimeout()
   107  		Expect(session).Should(ExitCleanly())
   108  		Expect(len(session.OutputToStringArray())).To(BeNumerically(">=", 2))
   109  	})
   110  })