github.com/hanks177/podman/v4@v4.1.3-0.20220613032544-16d90015bc83/test/e2e/volume_rm_test.go (about) 1 package integration 2 3 import ( 4 "os" 5 6 . "github.com/hanks177/podman/v4/test/utils" 7 . "github.com/onsi/ginkgo" 8 . "github.com/onsi/gomega" 9 . "github.com/onsi/gomega/gexec" 10 ) 11 12 var _ = Describe("Podman volume rm", 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.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).Should(Exit(0)) 39 40 session = podmanTest.Podman([]string{"volume", "rm", "myvol"}) 41 session.WaitWithDefaultTimeout() 42 Expect(session).Should(Exit(0)) 43 44 session = podmanTest.Podman([]string{"volume", "ls"}) 45 session.WaitWithDefaultTimeout() 46 Expect(session).Should(Exit(0)) 47 Expect(session.OutputToStringArray()).To(BeEmpty()) 48 }) 49 50 It("podman volume rm with --force flag", func() { 51 session := podmanTest.Podman([]string{"create", "-v", "myvol:/myvol", ALPINE, "ls"}) 52 cid := session.OutputToString() 53 session.WaitWithDefaultTimeout() 54 Expect(session).Should(Exit(0)) 55 56 session = podmanTest.Podman([]string{"volume", "rm", "myvol"}) 57 session.WaitWithDefaultTimeout() 58 Expect(session).Should(Exit(2)) 59 Expect(session.ErrorToString()).To(ContainSubstring(cid)) 60 61 session = podmanTest.Podman([]string{"volume", "rm", "-t", "0", "-f", "myvol"}) 62 session.WaitWithDefaultTimeout() 63 Expect(session).Should(Exit(0)) 64 65 session = podmanTest.Podman([]string{"volume", "ls"}) 66 session.WaitWithDefaultTimeout() 67 Expect(session).Should(Exit(0)) 68 Expect(session.OutputToStringArray()).To(BeEmpty()) 69 70 podmanTest.Cleanup() 71 }) 72 73 It("podman volume remove bogus", func() { 74 session := podmanTest.Podman([]string{"volume", "rm", "bogus"}) 75 session.WaitWithDefaultTimeout() 76 Expect(session).Should(Exit(1)) 77 }) 78 79 It("podman rm with --all flag", func() { 80 session := podmanTest.Podman([]string{"volume", "create", "myvol"}) 81 session.WaitWithDefaultTimeout() 82 Expect(session).Should(Exit(0)) 83 84 session = podmanTest.Podman([]string{"volume", "create"}) 85 session.WaitWithDefaultTimeout() 86 Expect(session).Should(Exit(0)) 87 88 session = podmanTest.Podman([]string{"volume", "rm", "-a"}) 89 session.WaitWithDefaultTimeout() 90 Expect(session).Should(Exit(0)) 91 92 session = podmanTest.Podman([]string{"volume", "ls"}) 93 session.WaitWithDefaultTimeout() 94 Expect(session).Should(Exit(0)) 95 Expect(session.OutputToStringArray()).To(BeEmpty()) 96 }) 97 98 It("podman volume rm by partial name", func() { 99 session := podmanTest.Podman([]string{"volume", "create", "myvol"}) 100 session.WaitWithDefaultTimeout() 101 Expect(session).Should(Exit(0)) 102 103 session = podmanTest.Podman([]string{"volume", "rm", "myv"}) 104 session.WaitWithDefaultTimeout() 105 Expect(session).Should(Exit(0)) 106 107 session = podmanTest.Podman([]string{"volume", "ls"}) 108 session.WaitWithDefaultTimeout() 109 Expect(session).Should(Exit(0)) 110 Expect(session.OutputToStringArray()).To(BeEmpty()) 111 }) 112 113 It("podman volume rm by nonunique partial name", func() { 114 session := podmanTest.Podman([]string{"volume", "create", "myvol1"}) 115 session.WaitWithDefaultTimeout() 116 Expect(session).Should(Exit(0)) 117 118 session = podmanTest.Podman([]string{"volume", "create", "myvol2"}) 119 session.WaitWithDefaultTimeout() 120 Expect(session).Should(Exit(0)) 121 122 session = podmanTest.Podman([]string{"volume", "rm", "myv"}) 123 session.WaitWithDefaultTimeout() 124 Expect(session).To(ExitWithError()) 125 126 session = podmanTest.Podman([]string{"volume", "ls"}) 127 session.WaitWithDefaultTimeout() 128 Expect(session).Should(Exit(0)) 129 Expect(len(session.OutputToStringArray())).To(BeNumerically(">=", 2)) 130 }) 131 })