. "github.com/onsi/gomega" ) var _ = Describe("New", func() { var buf bytes.Buffer var logger log.Logger var adapter goa.LogAdapter BeforeEach(func() { logger = log.NewLogfmtLogger(&buf) adapter = goakit.New(logger) }) It("creates an adapter that logs", func() { msg := "msg" adapter.Info(msg) Ω(buf.String()).Should(Equal("lvl=info msg=" + msg + "\n")) }) }) var _ = Describe("FromContext", func() { var buf bytes.Buffer var logctx *log.Context var adapter goa.LogAdapter BeforeEach(func() { logger := log.NewLogfmtLogger(&buf) logctx = log.NewContext(logger) adapter = goakit.FromContext(logctx) })
It("doesn't log and doesn't crash", func() { Ω(func() { goa.LogError(context.Background(), "foo", "bar") }).ShouldNot(Panic()) }) }) }) var _ = Describe("LogAdapter", func() { Context("with a valid Log", func() { var logger goa.LogAdapter const msg = "message" data := []interface{}{"data", "foo"} var out bytes.Buffer BeforeEach(func() { stdlogger := log.New(&out, "", log.LstdFlags) logger = goa.NewLogger(stdlogger) }) It("Info logs", func() { logger.Info(msg, data...) Ω(out.String()).Should(ContainSubstring(msg + " data=foo")) }) It("Error logs", func() { logger.Error(msg, data...) Ω(out.String()).Should(ContainSubstring(msg + " data=foo")) }) }) })