aboutsummaryrefslogtreecommitdiff
path: root/pkg/machine/e2e/list_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/machine/e2e/list_test.go')
-rw-r--r--pkg/machine/e2e/list_test.go79
1 files changed, 79 insertions, 0 deletions
diff --git a/pkg/machine/e2e/list_test.go b/pkg/machine/e2e/list_test.go
new file mode 100644
index 000000000..e7a439945
--- /dev/null
+++ b/pkg/machine/e2e/list_test.go
@@ -0,0 +1,79 @@
+package e2e
+
+import (
+ "strings"
+
+ "github.com/containers/buildah/util"
+ . "github.com/onsi/ginkgo"
+ . "github.com/onsi/gomega"
+ . "github.com/onsi/gomega/gexec"
+)
+
+var _ = Describe("podman machine list", func() {
+ var (
+ mb *machineTestBuilder
+ testDir string
+ )
+
+ BeforeEach(func() {
+ testDir, mb = setup()
+ })
+ AfterEach(func() {
+ teardown(originalHomeDir, testDir, mb)
+ })
+
+ It("list machine", func() {
+ list := new(listMachine)
+ firstList, err := mb.setCmd(list).run()
+ Expect(err).NotTo(HaveOccurred())
+ Expect(firstList).Should(Exit(0))
+ Expect(len(firstList.outputToStringSlice())).To(Equal(1)) // just the header
+
+ i := new(initMachine)
+ session, err := mb.setCmd(i.withImagePath(mb.imagePath)).run()
+ Expect(err).To(BeNil())
+ Expect(session).To(Exit(0))
+
+ secondList, err := mb.setCmd(list).run()
+ Expect(err).NotTo(HaveOccurred())
+ Expect(secondList).To(Exit(0))
+ Expect(len(secondList.outputToStringSlice())).To(Equal(2)) // one machine and the header
+ })
+
+ It("list machines with quiet", func() {
+ // Random names for machines to test list
+ name1 := randomString(12)
+ name2 := randomString(12)
+
+ list := new(listMachine)
+ firstList, err := mb.setCmd(list.withQuiet()).run()
+ Expect(err).NotTo(HaveOccurred())
+ Expect(firstList).Should(Exit(0))
+ Expect(len(firstList.outputToStringSlice())).To(Equal(0)) // No header with quiet
+
+ i := new(initMachine)
+ session, err := mb.setName(name1).setCmd(i.withImagePath(mb.imagePath)).run()
+ Expect(err).To(BeNil())
+ Expect(session).To(Exit(0))
+
+ session2, err := mb.setName(name2).setCmd(i.withImagePath(mb.imagePath)).run()
+ Expect(err).To(BeNil())
+ Expect(session2).To(Exit(0))
+
+ secondList, err := mb.setCmd(list.withQuiet()).run()
+ Expect(err).NotTo(HaveOccurred())
+ Expect(secondList).To(Exit(0))
+ Expect(len(secondList.outputToStringSlice())).To(Equal(2)) // two machines, no header
+
+ listNames := secondList.outputToStringSlice()
+ stripAsterisk(listNames)
+ Expect(util.StringInSlice(name1, listNames)).To(BeTrue())
+ Expect(util.StringInSlice(name2, listNames)).To(BeTrue())
+ })
+})
+
+func stripAsterisk(sl []string) {
+ for idx, val := range sl {
+ sl[idx] = strings.TrimRight(val, "*")
+ }
+}