aboutsummaryrefslogtreecommitdiff
path: root/test/e2e/version_test.go
diff options
context:
space:
mode:
authorValentin Rothberg <rothberg@redhat.com>2020-07-10 15:22:39 +0200
committerValentin Rothberg <rothberg@redhat.com>2020-07-10 15:44:17 +0200
commitbb9d939155c2ce37654abd58a71f650bde6bce50 (patch)
treef8b63a675fb0a7856f816eb982ab4dcf1e042bd7 /test/e2e/version_test.go
parent2ac8c6953481eb7391a6a7594709811f7ae3167f (diff)
downloadpodman-bb9d939155c2ce37654abd58a71f650bde6bce50.tar.gz
podman-bb9d939155c2ce37654abd58a71f650bde6bce50.tar.bz2
podman-bb9d939155c2ce37654abd58a71f650bde6bce50.zip
version/info: format: allow more json variants
Allow more variants to yield json output for `podman version` and `podman info`. Instead of comparing strings, use a regex and add unit and e2e tests. Fixes: #6927 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
Diffstat (limited to 'test/e2e/version_test.go')
-rw-r--r--test/e2e/version_test.go34
1 files changed, 23 insertions, 11 deletions
diff --git a/test/e2e/version_test.go b/test/e2e/version_test.go
index 775be6511..eb1d1b733 100644
--- a/test/e2e/version_test.go
+++ b/test/e2e/version_test.go
@@ -55,17 +55,29 @@ var _ = Describe("Podman version", func() {
})
It("podman version --format json", func() {
- session := podmanTest.Podman([]string{"version", "--format", "json"})
- session.WaitWithDefaultTimeout()
- Expect(session).Should(Exit(0))
- Expect(session.IsJSONOutputValid()).To(BeTrue())
- })
-
- It("podman version --format json", func() {
- session := podmanTest.Podman([]string{"version", "--format", "{{ json .}}"})
- session.WaitWithDefaultTimeout()
- Expect(session).Should(Exit(0))
- Expect(session.IsJSONOutputValid()).To(BeTrue())
+ tests := []struct {
+ input string
+ success bool
+ exitCode int
+ }{
+ {"json", true, 0},
+ {" json", true, 0},
+ {"json ", true, 0},
+ {" json ", true, 0},
+ {"{{json .}}", true, 0},
+ {"{{ json .}}", true, 0},
+ {"{{json . }}", true, 0},
+ {" {{ json . }} ", true, 0},
+ {"{{json }}", false, 125},
+ {"{{json .", false, 125},
+ {"json . }}", false, 0}, // Note: this does NOT fail but produces garbage
+ }
+ for _, tt := range tests {
+ session := podmanTest.Podman([]string{"version", "--format", tt.input})
+ session.WaitWithDefaultTimeout()
+ Expect(session).Should(Exit(tt.exitCode))
+ Expect(session.IsJSONOutputValid()).To(Equal(tt.success))
+ }
})
It("podman version --format GO template", func() {