github.com/zak-blake/goa@v1.4.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  })