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  })