github.com/brycereitano/goa@v0.0.0-20170315073847-8ffa6c85e265/logging/log15/adapter_test.go (about) 1 package goalog15_test 2 3 import ( 4 "github.com/goadesign/goa" 5 "github.com/goadesign/goa/logging/log15" 6 "github.com/inconshreveable/log15" 7 . "github.com/onsi/ginkgo" 8 . "github.com/onsi/gomega" 9 "golang.org/x/net/context" 10 ) 11 12 type TestHandler struct { 13 records []*log15.Record 14 } 15 16 func (h *TestHandler) Log(r *log15.Record) error { 17 h.records = append(h.records, r) 18 return nil 19 } 20 21 var _ = Describe("New", func() { 22 var logger log15.Logger 23 var adapter goa.LogAdapter 24 var handler *TestHandler 25 26 BeforeEach(func() { 27 logger = log15.New() 28 handler = new(TestHandler) 29 logger.SetHandler(handler) 30 adapter = goalog15.New(logger) 31 }) 32 33 It("creates an adapter that logs", func() { 34 msg := "msg" 35 adapter.Info(msg) 36 Ω(handler.records).Should(HaveLen(1)) 37 Ω(handler.records[0].Msg).Should(ContainSubstring(msg)) 38 }) 39 40 Context("Logger", func() { 41 var ctx context.Context 42 43 BeforeEach(func() { 44 ctx = goa.WithLogger(context.Background(), adapter) 45 }) 46 47 It("extracts the logger", func() { 48 Ω(goalog15.Logger(ctx)).Should(Equal(logger)) 49 }) 50 }) 51 })