github.com/AbhinandanKurakure/podman/v3@v3.4.10/test/e2e/volume_prune_test.go (about)

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