github.com/containers/podman/v5@v5.1.0-rc1/test/utils/podmansession_test.go (about) 1 package utils_test 2 3 import ( 4 . "github.com/containers/podman/v5/test/utils" 5 . "github.com/onsi/ginkgo/v2" 6 . "github.com/onsi/gomega" 7 ) 8 9 var _ = Describe("PodmanSession test", func() { 10 var session *PodmanSession 11 12 BeforeEach(func() { 13 session = StartFakeCmdSession([]string{"PodmanSession", "test", "Podman Session"}) 14 session.WaitWithDefaultTimeout() 15 }) 16 17 It("Test OutputToString", func() { 18 Expect(session.OutputToString()).To(Equal("PodmanSession test Podman Session")) 19 }) 20 21 It("Test OutputToStringArray", func() { 22 Expect(session.OutputToStringArray()).To(Equal([]string{"PodmanSession", "test", "Podman Session"})) 23 }) 24 25 It("Test ErrorToString", func() { 26 Expect(session.ErrorToString()).To(Equal("PodmanSession test Podman Session")) 27 }) 28 29 It("Test ErrorToStringArray", func() { 30 Expect(session.ErrorToStringArray()).To(Equal([]string{"PodmanSession", "test", "Podman Session", ""})) 31 }) 32 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"})) 37 38 match, backStr = session.GrepString("I am not here") 39 Expect(match).To(Not(BeTrue())) 40 Expect(backStr).To(BeNil()) 41 42 }) 43 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"})) 48 49 match, backStr = session.ErrorGrepString("I am not here") 50 Expect(match).To(Not(BeTrue())) 51 Expect(backStr).To(BeNil()) 52 53 }) 54 55 It("Test LineInOutputStartsWith", func() { 56 Expect(session.LineInOutputStartsWith("Podman")).To(BeTrue()) 57 Expect(session.LineInOutputStartsWith("Session")).To(Not(BeTrue())) 58 }) 59 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())) 64 }) 65 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())) 71 }) 72 73 It("Test IsJSONOutputValid", func() { 74 session = StartFakeCmdSession([]string{`{"page":1,"fruits":["apple","peach","pear"]}`}) 75 session.WaitWithDefaultTimeout() 76 Expect(session.IsJSONOutputValid()).To(BeTrue()) 77 78 session = StartFakeCmdSession([]string{"I am not JSON"}) 79 session.WaitWithDefaultTimeout() 80 Expect(session.IsJSONOutputValid()).To(Not(BeTrue())) 81 }) 82 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)) 88 }) 89 90 })