github.com/containers/podman/v2@v2.2.2-0.20210501105131-c1e07d070c4c/test/e2e/volume_rm_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 ) 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 session := podmanTest.Podman([]string{"create", "-v", "myvol:/myvol", ALPINE, "ls"}) 52 cid := session.OutputToString() 53 session.WaitWithDefaultTimeout() 54 Expect(session.ExitCode()).To(Equal(0)) 55 56 session = podmanTest.Podman([]string{"volume", "rm", "myvol"}) 57 session.WaitWithDefaultTimeout() 58 Expect(session.ExitCode()).To(Equal(2)) 59 Expect(session.ErrorToString()).To(ContainSubstring(cid)) 60 61 session = podmanTest.Podman([]string{"volume", "rm", "-f", "myvol"}) 62 session.WaitWithDefaultTimeout() 63 Expect(session.ExitCode()).To(Equal(0)) 64 65 session = podmanTest.Podman([]string{"volume", "ls"}) 66 session.WaitWithDefaultTimeout() 67 Expect(session.ExitCode()).To(Equal(0)) 68 Expect(len(session.OutputToStringArray())).To(Equal(0)) 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.ExitCode()).To(Equal(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.ExitCode()).To(Equal(0)) 83 84 session = podmanTest.Podman([]string{"volume", "create"}) 85 session.WaitWithDefaultTimeout() 86 Expect(session.ExitCode()).To(Equal(0)) 87 88 session = podmanTest.Podman([]string{"volume", "rm", "-a"}) 89 session.WaitWithDefaultTimeout() 90 Expect(session.ExitCode()).To(Equal(0)) 91 92 session = podmanTest.Podman([]string{"volume", "ls"}) 93 session.WaitWithDefaultTimeout() 94 Expect(session.ExitCode()).To(Equal(0)) 95 Expect(len(session.OutputToStringArray())).To(Equal(0)) 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.ExitCode()).To(Equal(0)) 102 103 session = podmanTest.Podman([]string{"volume", "rm", "myv"}) 104 session.WaitWithDefaultTimeout() 105 Expect(session.ExitCode()).To(Equal(0)) 106 107 session = podmanTest.Podman([]string{"volume", "ls"}) 108 session.WaitWithDefaultTimeout() 109 Expect(session.ExitCode()).To(Equal(0)) 110 Expect(len(session.OutputToStringArray())).To(Equal(0)) 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.ExitCode()).To(Equal(0)) 117 118 session = podmanTest.Podman([]string{"volume", "create", "myvol2"}) 119 session.WaitWithDefaultTimeout() 120 Expect(session.ExitCode()).To(Equal(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.ExitCode()).To(Equal(0)) 129 Expect(len(session.OutputToStringArray()) >= 2).To(BeTrue()) 130 }) 131 })