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.go41
1 files changed, 40 insertions, 1 deletions
diff --git a/pkg/machine/e2e/list_test.go b/pkg/machine/e2e/list_test.go
index 0ce9063f9..0bc867047 100644
--- a/pkg/machine/e2e/list_test.go
+++ b/pkg/machine/e2e/list_test.go
@@ -4,6 +4,8 @@ import (
"strings"
"github.com/containers/buildah/util"
+ "github.com/containers/podman/v4/cmd/podman/machine"
+ jsoniter "github.com/json-iterator/go"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
. "github.com/onsi/gomega/gexec"
@@ -40,7 +42,7 @@ var _ = Describe("podman machine list", func() {
Expect(len(secondList.outputToStringSlice())).To(Equal(2)) // one machine and the header
})
- It("list machines with quiet", func() {
+ It("list machines with quiet or noheading", func() {
// Random names for machines to test list
name1 := randomString(12)
name2 := randomString(12)
@@ -51,6 +53,11 @@ var _ = Describe("podman machine list", func() {
Expect(firstList).Should(Exit(0))
Expect(len(firstList.outputToStringSlice())).To(Equal(0)) // No header with quiet
+ noheaderSession, err := mb.setCmd(list.withNoHeading()).run() // noheader
+ Expect(err).NotTo(HaveOccurred())
+ Expect(noheaderSession).Should(Exit(0))
+ Expect(len(noheaderSession.outputToStringSlice())).To(Equal(0))
+
i := new(initMachine)
session, err := mb.setName(name1).setCmd(i.withImagePath(mb.imagePath)).run()
Expect(err).To(BeNil())
@@ -97,6 +104,38 @@ var _ = Describe("podman machine list", func() {
Expect(listSession.outputToString()).To(ContainSubstring("Currently running"))
Expect(listSession.outputToString()).NotTo(ContainSubstring("Less than a second ago")) // check to make sure time created is accurate
})
+
+ It("list with --format", func() {
+ // Random names for machines to test list
+ name1 := randomString(12)
+
+ i := new(initMachine)
+ session, err := mb.setName(name1).setCmd(i.withImagePath(mb.imagePath)).run()
+ Expect(err).To(BeNil())
+ Expect(session).To(Exit(0))
+
+ // go format
+ list := new(listMachine)
+ listSession, err := mb.setCmd(list.withFormat("{{.Name}}").withNoHeading()).run()
+ Expect(err).NotTo(HaveOccurred())
+ Expect(listSession).To(Exit(0))
+ Expect(len(listSession.outputToStringSlice())).To(Equal(1))
+
+ listNames := listSession.outputToStringSlice()
+ stripAsterisk(listNames)
+ Expect(util.StringInSlice(name1, listNames)).To(BeTrue())
+
+ // --format json
+ list2 := new(listMachine)
+ list2 = list2.withFormat("json")
+ listSession2, err := mb.setName("foo1").setCmd(list2).run()
+ Expect(err).To(BeNil())
+ Expect(listSession2).To(Exit(0))
+
+ var listResponse []*machine.ListReporter
+ err = jsoniter.Unmarshal(listSession.Bytes(), &listResponse)
+ Expect(err).To(BeNil())
+ })
})
func stripAsterisk(sl []string) {