4
. "github.com/containers/podman/v5/test/utils"
5
. "github.com/onsi/ginkgo/v2"
6
. "github.com/onsi/gomega"
9
var _ = Describe("PodmanSession test", func() {
10
var session *PodmanSession
13
session = StartFakeCmdSession([]string{"PodmanSession", "test", "Podman Session"})
14
session.WaitWithDefaultTimeout()
17
It("Test OutputToString", func() {
18
Expect(session.OutputToString()).To(Equal("PodmanSession test Podman Session"))
21
It("Test OutputToStringArray", func() {
22
Expect(session.OutputToStringArray()).To(Equal([]string{"PodmanSession", "test", "Podman Session"}))
25
It("Test ErrorToString", func() {
26
Expect(session.ErrorToString()).To(Equal("PodmanSession test Podman Session"))
29
It("Test ErrorToStringArray", func() {
30
Expect(session.ErrorToStringArray()).To(Equal([]string{"PodmanSession", "test", "Podman Session", ""}))
33
It("Test GrepString", func() {
34
match, backStr := session.GrepString("Session")
35
Expect(match).To(BeTrue())
36
Expect(backStr).To(Equal([]string{"PodmanSession", "Podman Session"}))
38
match, backStr = session.GrepString("I am not here")
39
Expect(match).To(Not(BeTrue()))
40
Expect(backStr).To(BeNil())
44
It("Test ErrorGrepString", func() {
45
match, backStr := session.ErrorGrepString("Session")
46
Expect(match).To(BeTrue())
47
Expect(backStr).To(Equal([]string{"PodmanSession", "Podman Session"}))
49
match, backStr = session.ErrorGrepString("I am not here")
50
Expect(match).To(Not(BeTrue()))
51
Expect(backStr).To(BeNil())
55
It("Test LineInOutputStartsWith", func() {
56
Expect(session.LineInOutputStartsWith("Podman")).To(BeTrue())
57
Expect(session.LineInOutputStartsWith("Session")).To(Not(BeTrue()))
60
It("Test LineInOutputContains", func() {
61
Expect(session.LineInOutputContains("Podman")).To(BeTrue())
62
Expect(session.LineInOutputContains("Session")).To(BeTrue())
63
Expect(session.LineInOutputContains("I am not here")).To(Not(BeTrue()))
66
It("Test LineInOutputContainsTag", func() {
67
session = StartFakeCmdSession([]string{"HEAD LINE", "docker.io/library/busybox latest e1ddd7948a1c 5 weeks ago 1.38MB"})
68
session.WaitWithDefaultTimeout()
69
Expect(session.LineInOutputContainsTag("docker.io/library/busybox", "latest")).To(BeTrue())
70
Expect(session.LineInOutputContainsTag("busybox", "latest")).To(Not(BeTrue()))
73
It("Test IsJSONOutputValid", func() {
74
session = StartFakeCmdSession([]string{`{"page":1,"fruits":["apple","peach","pear"]}`})
75
session.WaitWithDefaultTimeout()
76
Expect(session.IsJSONOutputValid()).To(BeTrue())
78
session = StartFakeCmdSession([]string{"I am not JSON"})
79
session.WaitWithDefaultTimeout()
80
Expect(session.IsJSONOutputValid()).To(Not(BeTrue()))
83
It("Test WaitWithDefaultTimeout", func() {
84
session = StartFakeCmdSession([]string{"sleep", "2"})
85
Expect(session.ExitCode()).Should(Equal(-1))
86
session.WaitWithDefaultTimeout()
87
Expect(session.ExitCode()).Should(Equal(0))