github.com/hanks177/podman/v4@v4.1.3-0.20220613032544-16d90015bc83/test/e2e/volume_prune_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 prune", 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 prune volume", func() { 36 session := podmanTest.Podman([]string{"volume", "create"}) 37 session.WaitWithDefaultTimeout() 38 Expect(session).Should(Exit(0)) 39 40 session = podmanTest.Podman([]string{"volume", "create"}) 41 session.WaitWithDefaultTimeout() 42 Expect(session).Should(Exit(0)) 43 44 session = podmanTest.Podman([]string{"create", "-v", "myvol:/myvol", ALPINE, "ls"}) 45 session.WaitWithDefaultTimeout() 46 Expect(session).Should(Exit(0)) 47 48 session = podmanTest.Podman([]string{"volume", "ls"}) 49 session.WaitWithDefaultTimeout() 50 Expect(session).Should(Exit(0)) 51 Expect(session.OutputToStringArray()).To(HaveLen(4)) 52 53 session = podmanTest.Podman([]string{"volume", "prune", "--force"}) 54 session.WaitWithDefaultTimeout() 55 Expect(session).Should(Exit(0)) 56 57 session = podmanTest.Podman([]string{"volume", "ls"}) 58 session.WaitWithDefaultTimeout() 59 Expect(session).Should(Exit(0)) 60 Expect(session.OutputToStringArray()).To(HaveLen(2)) 61 62 podmanTest.Cleanup() 63 }) 64 65 It("podman prune volume --filter until", func() { 66 session := podmanTest.Podman([]string{"volume", "create", "--label", "label1=value1", "myvol1"}) 67 session.WaitWithDefaultTimeout() 68 Expect(session).Should(Exit(0)) 69 70 session = podmanTest.Podman([]string{"volume", "ls"}) 71 session.WaitWithDefaultTimeout() 72 Expect(session).Should(Exit(0)) 73 Expect(session.OutputToStringArray()).To(HaveLen(2)) 74 75 session = podmanTest.Podman([]string{"volume", "prune", "--force", "--filter", "until=50"}) 76 session.WaitWithDefaultTimeout() 77 Expect(session).Should(Exit(0)) 78 79 session = podmanTest.Podman([]string{"volume", "ls"}) 80 session.WaitWithDefaultTimeout() 81 Expect(session).Should(Exit(0)) 82 Expect(session.OutputToStringArray()).To(HaveLen(2)) 83 84 session = podmanTest.Podman([]string{"volume", "prune", "--force", "--filter", "until=5000000000"}) 85 session.WaitWithDefaultTimeout() 86 Expect(session).Should(Exit(0)) 87 88 session = podmanTest.Podman([]string{"volume", "ls"}) 89 session.WaitWithDefaultTimeout() 90 Expect(session).Should(Exit(0)) 91 Expect(session.OutputToStringArray()).To(BeEmpty()) 92 93 podmanTest.Cleanup() 94 }) 95 96 It("podman prune volume --filter", func() { 97 session := podmanTest.Podman([]string{"volume", "create", "--label", "label1=value1", "myvol1"}) 98 session.WaitWithDefaultTimeout() 99 Expect(session).Should(Exit(0)) 100 101 session = podmanTest.Podman([]string{"volume", "create", "--label", "sharedlabel1=slv1", "myvol2"}) 102 session.WaitWithDefaultTimeout() 103 Expect(session).Should(Exit(0)) 104 105 session = podmanTest.Podman([]string{"volume", "create", "--label", "sharedlabel1=slv2", "myvol3"}) 106 session.WaitWithDefaultTimeout() 107 Expect(session).Should(Exit(0)) 108 109 session = podmanTest.Podman([]string{"volume", "create", "--label", "sharedlabel1", "myvol4"}) 110 session.WaitWithDefaultTimeout() 111 Expect(session).Should(Exit(0)) 112 113 session = podmanTest.Podman([]string{"create", "-v", "myvol5:/myvol5", ALPINE, "ls"}) 114 session.WaitWithDefaultTimeout() 115 Expect(session).Should(Exit(0)) 116 117 session = podmanTest.Podman([]string{"create", "-v", "myvol6:/myvol6", ALPINE, "ls"}) 118 session.WaitWithDefaultTimeout() 119 Expect(session).Should(Exit(0)) 120 121 session = podmanTest.Podman([]string{"volume", "ls"}) 122 session.WaitWithDefaultTimeout() 123 Expect(session).Should(Exit(0)) 124 Expect(session.OutputToStringArray()).To(HaveLen(7)) 125 126 session = podmanTest.Podman([]string{"volume", "prune", "--force", "--filter", "label=label1=value1"}) 127 session.WaitWithDefaultTimeout() 128 Expect(session).Should(Exit(0)) 129 130 session = podmanTest.Podman([]string{"volume", "ls"}) 131 session.WaitWithDefaultTimeout() 132 Expect(session).Should(Exit(0)) 133 Expect(session.OutputToStringArray()).To(HaveLen(6)) 134 135 session = podmanTest.Podman([]string{"volume", "prune", "--force", "--filter", "label=sharedlabel1=slv1"}) 136 session.WaitWithDefaultTimeout() 137 Expect(session).Should(Exit(0)) 138 139 session = podmanTest.Podman([]string{"volume", "ls"}) 140 session.WaitWithDefaultTimeout() 141 Expect(session).Should(Exit(0)) 142 Expect(session.OutputToStringArray()).To(HaveLen(5)) 143 144 session = podmanTest.Podman([]string{"volume", "prune", "--force", "--filter", "label=sharedlabel1"}) 145 session.WaitWithDefaultTimeout() 146 Expect(session).Should(Exit(0)) 147 148 session = podmanTest.Podman([]string{"volume", "ls"}) 149 session.WaitWithDefaultTimeout() 150 Expect(session).Should(Exit(0)) 151 Expect(session.OutputToStringArray()).To(HaveLen(3)) 152 153 podmanTest.Cleanup() 154 }) 155 156 It("podman system prune --volume", func() { 157 session := podmanTest.Podman([]string{"volume", "create"}) 158 session.WaitWithDefaultTimeout() 159 Expect(session).Should(Exit(0)) 160 161 session = podmanTest.Podman([]string{"volume", "create"}) 162 session.WaitWithDefaultTimeout() 163 Expect(session).Should(Exit(0)) 164 165 session = podmanTest.Podman([]string{"create", "-v", "myvol:/myvol", ALPINE, "ls"}) 166 session.WaitWithDefaultTimeout() 167 Expect(session).Should(Exit(0)) 168 169 session = podmanTest.Podman([]string{"volume", "ls"}) 170 session.WaitWithDefaultTimeout() 171 Expect(session).Should(Exit(0)) 172 Expect(session.OutputToStringArray()).To(HaveLen(4)) 173 174 session = podmanTest.Podman([]string{"system", "prune", "--force", "--volumes"}) 175 session.WaitWithDefaultTimeout() 176 Expect(session).Should(Exit(0)) 177 178 session = podmanTest.Podman([]string{"volume", "ls"}) 179 session.WaitWithDefaultTimeout() 180 Expect(session).Should(Exit(0)) 181 Expect(session.OutputToStringArray()).To(BeEmpty()) 182 183 podmanTest.Cleanup() 184 }) 185 })