github.com/goldeneggg/goa@v1.3.1/logging_test.go (about) 1 package goa_test 2 3 import ( 4 "bytes" 5 "log" 6 7 "context" 8 9 "github.com/goadesign/goa" 10 . "github.com/onsi/ginkgo" 11 . "github.com/onsi/gomega" 12 ) 13 14 var _ = Describe("Info", func() { 15 Context("with a nil Log", func() { 16 It("doesn't log and doesn't crash", func() { 17 Ω(func() { goa.LogInfo(context.Background(), "foo", "bar") }).ShouldNot(Panic()) 18 }) 19 }) 20 }) 21 22 var _ = Describe("Error", func() { 23 Context("with a nil Log", func() { 24 It("doesn't log and doesn't crash", func() { 25 Ω(func() { goa.LogError(context.Background(), "foo", "bar") }).ShouldNot(Panic()) 26 }) 27 }) 28 }) 29 30 var _ = Describe("LogAdapter", func() { 31 Context("with a valid Log", func() { 32 var logger goa.LogAdapter 33 const msg = "message" 34 data := []interface{}{"data", "foo"} 35 36 var out bytes.Buffer 37 38 BeforeEach(func() { 39 stdlogger := log.New(&out, "", log.LstdFlags) 40 logger = goa.NewLogger(stdlogger) 41 }) 42 43 It("Info logs", func() { 44 logger.Info(msg, data...) 45 Ω(out.String()).Should(ContainSubstring(msg + " data=foo")) 46 }) 47 48 It("Error logs", func() { 49 logger.Error(msg, data...) 50 Ω(out.String()).Should(ContainSubstring(msg + " data=foo")) 51 }) 52 }) 53 })