github.com/containers/libpod@v1.9.4-0.20220419124438-4284fd425507/test/e2e/volume_rm_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 volume rm", 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.CleanupVolume()
    30  		f := CurrentGinkgoTestDescription()
    31  		processTestResult(f)
    32  
    33  	})
    34  
    35  	It("podman volume rm", func() {
    36  		session := podmanTest.Podman([]string{"volume", "create", "myvol"})
    37  		session.WaitWithDefaultTimeout()
    38  		Expect(session.ExitCode()).To(Equal(0))
    39  
    40  		session = podmanTest.Podman([]string{"volume", "rm", "myvol"})
    41  		session.WaitWithDefaultTimeout()
    42  		Expect(session.ExitCode()).To(Equal(0))
    43  
    44  		session = podmanTest.Podman([]string{"volume", "ls"})
    45  		session.WaitWithDefaultTimeout()
    46  		Expect(session.ExitCode()).To(Equal(0))
    47  		Expect(len(session.OutputToStringArray())).To(Equal(0))
    48  	})
    49  
    50  	It("podman volume rm with --force flag", func() {
    51  		SkipIfRemote()
    52  		session := podmanTest.Podman([]string{"create", "-v", "myvol:/myvol", ALPINE, "ls"})
    53  		cid := session.OutputToString()
    54  		session.WaitWithDefaultTimeout()
    55  		Expect(session.ExitCode()).To(Equal(0))
    56  
    57  		session = podmanTest.Podman([]string{"volume", "rm", "myvol"})
    58  		session.WaitWithDefaultTimeout()
    59  		Expect(session).To(ExitWithError())
    60  		Expect(session.ErrorToString()).To(ContainSubstring(cid))
    61  
    62  		session = podmanTest.Podman([]string{"volume", "rm", "-f", "myvol"})
    63  		session.WaitWithDefaultTimeout()
    64  		Expect(session.ExitCode()).To(Equal(0))
    65  
    66  		session = podmanTest.Podman([]string{"volume", "ls"})
    67  		session.WaitWithDefaultTimeout()
    68  		Expect(session.ExitCode()).To(Equal(0))
    69  		Expect(len(session.OutputToStringArray())).To(Equal(0))
    70  
    71  		podmanTest.Cleanup()
    72  	})
    73  
    74  	It("podman rm with --all flag", func() {
    75  		session := podmanTest.Podman([]string{"volume", "create", "myvol"})
    76  		session.WaitWithDefaultTimeout()
    77  		Expect(session.ExitCode()).To(Equal(0))
    78  
    79  		session = podmanTest.Podman([]string{"volume", "create"})
    80  		session.WaitWithDefaultTimeout()
    81  		Expect(session.ExitCode()).To(Equal(0))
    82  
    83  		session = podmanTest.Podman([]string{"volume", "rm", "-a"})
    84  		session.WaitWithDefaultTimeout()
    85  		Expect(session.ExitCode()).To(Equal(0))
    86  
    87  		session = podmanTest.Podman([]string{"volume", "ls"})
    88  		session.WaitWithDefaultTimeout()
    89  		Expect(session.ExitCode()).To(Equal(0))
    90  		Expect(len(session.OutputToStringArray())).To(Equal(0))
    91  	})
    92  
    93  	It("podman volume rm by partial name", func() {
    94  		session := podmanTest.Podman([]string{"volume", "create", "myvol"})
    95  		session.WaitWithDefaultTimeout()
    96  		Expect(session.ExitCode()).To(Equal(0))
    97  
    98  		session = podmanTest.Podman([]string{"volume", "rm", "myv"})
    99  		session.WaitWithDefaultTimeout()
   100  		Expect(session.ExitCode()).To(Equal(0))
   101  
   102  		session = podmanTest.Podman([]string{"volume", "ls"})
   103  		session.WaitWithDefaultTimeout()
   104  		Expect(session.ExitCode()).To(Equal(0))
   105  		Expect(len(session.OutputToStringArray())).To(Equal(0))
   106  	})
   107  
   108  	It("podman volume rm by nonunique partial name", func() {
   109  		session := podmanTest.Podman([]string{"volume", "create", "myvol1"})
   110  		session.WaitWithDefaultTimeout()
   111  		Expect(session.ExitCode()).To(Equal(0))
   112  
   113  		session = podmanTest.Podman([]string{"volume", "create", "myvol2"})
   114  		session.WaitWithDefaultTimeout()
   115  		Expect(session.ExitCode()).To(Equal(0))
   116  
   117  		session = podmanTest.Podman([]string{"volume", "rm", "myv"})
   118  		session.WaitWithDefaultTimeout()
   119  		Expect(session).To(ExitWithError())
   120  
   121  		session = podmanTest.Podman([]string{"volume", "ls"})
   122  		session.WaitWithDefaultTimeout()
   123  		Expect(session.ExitCode()).To(Equal(0))
   124  		Expect(len(session.OutputToStringArray()) >= 2).To(BeTrue())
   125  	})
   126  })