github.com/containers/podman/v5@v5.1.0-rc1/test/e2e/volume_prune_test.go (about) 1 package integration 2 3 import ( 4 . "github.com/containers/podman/v5/test/utils" 5 . "github.com/onsi/ginkgo/v2" 6 . "github.com/onsi/gomega" 7 ) 8 9 var _ = Describe("Podman volume prune", func() { 10 11 AfterEach(func() { 12 podmanTest.CleanupVolume() 13 }) 14 15 It("podman prune volume", func() { 16 session := podmanTest.Podman([]string{"volume", "create"}) 17 session.WaitWithDefaultTimeout() 18 Expect(session).Should(ExitCleanly()) 19 20 session = podmanTest.Podman([]string{"volume", "create"}) 21 session.WaitWithDefaultTimeout() 22 Expect(session).Should(ExitCleanly()) 23 24 session = podmanTest.Podman([]string{"create", "-v", "myvol:/myvol", ALPINE, "ls"}) 25 session.WaitWithDefaultTimeout() 26 Expect(session).Should(ExitCleanly()) 27 28 session = podmanTest.Podman([]string{"volume", "ls"}) 29 session.WaitWithDefaultTimeout() 30 Expect(session).Should(ExitCleanly()) 31 Expect(session.OutputToStringArray()).To(HaveLen(4)) 32 33 session = podmanTest.Podman([]string{"volume", "prune", "--force"}) 34 session.WaitWithDefaultTimeout() 35 Expect(session).Should(ExitCleanly()) 36 37 session = podmanTest.Podman([]string{"volume", "ls"}) 38 session.WaitWithDefaultTimeout() 39 Expect(session).Should(ExitCleanly()) 40 Expect(session.OutputToStringArray()).To(HaveLen(2)) 41 }) 42 43 It("podman prune volume --filter until", func() { 44 session := podmanTest.Podman([]string{"volume", "create", "--label", "label1=value1", "myvol1"}) 45 session.WaitWithDefaultTimeout() 46 Expect(session).Should(ExitCleanly()) 47 48 session = podmanTest.Podman([]string{"volume", "ls"}) 49 session.WaitWithDefaultTimeout() 50 Expect(session).Should(ExitCleanly()) 51 Expect(session.OutputToStringArray()).To(HaveLen(2)) 52 53 session = podmanTest.Podman([]string{"volume", "prune", "--force", "--filter", "until=50"}) 54 session.WaitWithDefaultTimeout() 55 Expect(session).Should(ExitCleanly()) 56 57 session = podmanTest.Podman([]string{"volume", "ls"}) 58 session.WaitWithDefaultTimeout() 59 Expect(session).Should(ExitCleanly()) 60 Expect(session.OutputToStringArray()).To(HaveLen(2)) 61 62 session = podmanTest.Podman([]string{"volume", "prune", "--force", "--filter", "until=5000000000"}) 63 session.WaitWithDefaultTimeout() 64 Expect(session).Should(ExitCleanly()) 65 66 session = podmanTest.Podman([]string{"volume", "ls"}) 67 session.WaitWithDefaultTimeout() 68 Expect(session).Should(ExitCleanly()) 69 Expect(session.OutputToStringArray()).To(BeEmpty()) 70 }) 71 72 It("podman prune volume --filter", func() { 73 session := podmanTest.Podman([]string{"volume", "create", "--label", "label1=value1", "myvol1"}) 74 session.WaitWithDefaultTimeout() 75 Expect(session).Should(ExitCleanly()) 76 77 session = podmanTest.Podman([]string{"volume", "create", "--label", "sharedlabel1=slv1", "myvol2"}) 78 session.WaitWithDefaultTimeout() 79 Expect(session).Should(ExitCleanly()) 80 81 session = podmanTest.Podman([]string{"volume", "create", "--label", "sharedlabel1=slv2", "myvol3"}) 82 session.WaitWithDefaultTimeout() 83 Expect(session).Should(ExitCleanly()) 84 85 session = podmanTest.Podman([]string{"volume", "create", "--label", "sharedlabel1", "myvol4"}) 86 session.WaitWithDefaultTimeout() 87 Expect(session).Should(ExitCleanly()) 88 89 session = podmanTest.Podman([]string{"create", "-v", "myvol5:/myvol5", ALPINE, "ls"}) 90 session.WaitWithDefaultTimeout() 91 Expect(session).Should(ExitCleanly()) 92 93 session = podmanTest.Podman([]string{"create", "-v", "myvol6:/myvol6", ALPINE, "ls"}) 94 session.WaitWithDefaultTimeout() 95 Expect(session).Should(ExitCleanly()) 96 97 session = podmanTest.Podman([]string{"volume", "ls"}) 98 session.WaitWithDefaultTimeout() 99 Expect(session).Should(ExitCleanly()) 100 Expect(session.OutputToStringArray()).To(HaveLen(7)) 101 102 session = podmanTest.Podman([]string{"volume", "prune", "--force", "--filter", "label=label1=value1"}) 103 session.WaitWithDefaultTimeout() 104 Expect(session).Should(ExitCleanly()) 105 106 session = podmanTest.Podman([]string{"volume", "ls"}) 107 session.WaitWithDefaultTimeout() 108 Expect(session).Should(ExitCleanly()) 109 Expect(session.OutputToStringArray()).To(HaveLen(6)) 110 111 session = podmanTest.Podman([]string{"volume", "prune", "--force", "--filter", "label=sharedlabel1=slv1"}) 112 session.WaitWithDefaultTimeout() 113 Expect(session).Should(ExitCleanly()) 114 115 session = podmanTest.Podman([]string{"volume", "ls"}) 116 session.WaitWithDefaultTimeout() 117 Expect(session).Should(ExitCleanly()) 118 Expect(session.OutputToStringArray()).To(HaveLen(5)) 119 120 session = podmanTest.Podman([]string{"volume", "prune", "--force", "--filter", "label=sharedlabel1"}) 121 session.WaitWithDefaultTimeout() 122 Expect(session).Should(ExitCleanly()) 123 124 session = podmanTest.Podman([]string{"volume", "ls"}) 125 session.WaitWithDefaultTimeout() 126 Expect(session).Should(ExitCleanly()) 127 Expect(session.OutputToStringArray()).To(HaveLen(3)) 128 129 session = podmanTest.Podman([]string{"volume", "create", "--label", "testlabel", "myvol7"}) 130 session.WaitWithDefaultTimeout() 131 Expect(session).Should(ExitCleanly()) 132 133 session = podmanTest.Podman([]string{"volume", "prune", "--force", "--filter", "label!=testlabel"}) 134 session.WaitWithDefaultTimeout() 135 Expect(session).Should(ExitCleanly()) 136 }) 137 138 It("podman system prune --volume", func() { 139 useCustomNetworkDir(podmanTest, tempdir) 140 session := podmanTest.Podman([]string{"volume", "create"}) 141 session.WaitWithDefaultTimeout() 142 Expect(session).Should(ExitCleanly()) 143 144 session = podmanTest.Podman([]string{"volume", "create"}) 145 session.WaitWithDefaultTimeout() 146 Expect(session).Should(ExitCleanly()) 147 148 session = podmanTest.Podman([]string{"create", "-v", "myvol:/myvol", ALPINE, "ls"}) 149 session.WaitWithDefaultTimeout() 150 Expect(session).Should(ExitCleanly()) 151 152 session = podmanTest.Podman([]string{"volume", "ls"}) 153 session.WaitWithDefaultTimeout() 154 Expect(session).Should(ExitCleanly()) 155 Expect(session.OutputToStringArray()).To(HaveLen(4)) 156 157 session = podmanTest.Podman([]string{"system", "prune", "--force", "--volumes"}) 158 session.WaitWithDefaultTimeout() 159 Expect(session).Should(ExitCleanly()) 160 161 session = podmanTest.Podman([]string{"volume", "ls"}) 162 session.WaitWithDefaultTimeout() 163 Expect(session).Should(ExitCleanly()) 164 Expect(session.OutputToStringArray()).To(BeEmpty()) 165 }) 166 167 It("podman volume prune --filter since/after", func() { 168 vol1 := "vol1" 169 vol2 := "vol2" 170 vol3 := "vol3" 171 172 session := podmanTest.Podman([]string{"volume", "create", vol1}) 173 session.WaitWithDefaultTimeout() 174 Expect(session).To(ExitCleanly()) 175 176 session = podmanTest.Podman([]string{"volume", "create", vol2}) 177 session.WaitWithDefaultTimeout() 178 Expect(session).To(ExitCleanly()) 179 180 session = podmanTest.Podman([]string{"volume", "create", vol3}) 181 session.WaitWithDefaultTimeout() 182 Expect(session).To(ExitCleanly()) 183 184 session = podmanTest.Podman([]string{"volume", "prune", "-f", "--filter", "since=" + vol1}) 185 session.WaitWithDefaultTimeout() 186 Expect(session).To(ExitCleanly()) 187 188 session = podmanTest.Podman([]string{"volume", "ls", "-q"}) 189 session.WaitWithDefaultTimeout() 190 Expect(session.OutputToStringArray()).To(HaveLen(1)) 191 Expect(session.OutputToStringArray()[0]).To(Equal(vol1)) 192 }) 193 })