@@ -2,86 +2,90 @@ package zapadapter
22
33import (
44 "bytes"
5+ "io"
56 "testing"
67
8+ "github.com/nikoksr/onelog"
9+
710 "github.com/stretchr/testify/assert"
811 "go.uber.org/zap"
912 "go.uber.org/zap/zapcore"
1013
1114 "github.com/nikoksr/onelog/internal/testutils"
1215)
1316
17+ func newLogger (out io.Writer ) * zap.Logger {
18+ return zap .New (
19+ zapcore .NewCore (
20+ zapcore .NewJSONEncoder (zapcore.EncoderConfig {
21+ MessageKey : "msg" ,
22+ TimeKey : "time" ,
23+ EncodeTime : zapcore .RFC3339NanoTimeEncoder ,
24+ EncodeDuration : zapcore .NanosDurationEncoder ,
25+ }),
26+ zapcore .AddSync (out ),
27+ zapcore .DebugLevel ,
28+ ),
29+ zap .ErrorOutput (zapcore .AddSync (out )),
30+ )
31+ }
32+
33+ func newAdapter (out io.Writer ) onelog.Logger {
34+ return NewAdapter (newLogger (out ))
35+ }
36+
1437// TestNewAdapter tests if NewAdapter returns a non-nil *Adapter.
1538func TestNewAdapter (t * testing.T ) {
1639 t .Parallel ()
1740
18- zapLogger , _ := zap .NewDevelopment ()
19- logger := NewAdapter (zapLogger )
41+ adapter := newAdapter (io .Discard )
2042
21- assert .NotNil (t , logger , "the returned adapter should not be nil" )
43+ assert .NotNil (t , adapter , "the returned adapter should not be nil" )
2244}
2345
2446// TestContexts tests if each log level returns a valid *Context.
2547func TestContexts (t * testing.T ) {
2648 t .Parallel ()
2749
28- zapLogger , _ := zap .NewDevelopment ()
29- logger := NewAdapter (zapLogger )
50+ adapter := newAdapter (io .Discard )
3051
3152 // Debug
32- logContext := logger .Debug ()
53+ logContext := adapter .Debug ()
3354 assert .NotNil (t , logContext , "the returned context should not be nil" )
3455 assert .IsType (t , new (Context ), logContext , "the returned context should be of type *Context" )
3556 assert .Equal (t , logContext .(* Context ).level , zap .DebugLevel , "the returned context should have the correct log level" )
3657
3758 // Info
38- logContext = logger .Info ()
59+ logContext = adapter .Info ()
3960 assert .NotNil (t , logContext , "the returned context should not be nil" )
4061 assert .IsType (t , new (Context ), logContext , "the returned context should be of type *Context" )
4162 assert .Equal (t , logContext .(* Context ).level , zap .InfoLevel , "the returned context should have the correct log level" )
4263
4364 // Warn
44- logContext = logger .Warn ()
65+ logContext = adapter .Warn ()
4566 assert .NotNil (t , logContext , "the returned context should not be nil" )
4667 assert .IsType (t , new (Context ), logContext , "the returned context should be of type *Context" )
4768 assert .Equal (t , logContext .(* Context ).level , zap .WarnLevel , "the returned context should have the correct log level" )
4869
4970 // Error
50- logContext = logger .Error ()
71+ logContext = adapter .Error ()
5172 assert .NotNil (t , logContext , "the returned context should not be nil" )
5273 assert .IsType (t , new (Context ), logContext , "the returned context should be of type *Context" )
5374 assert .Equal (t , logContext .(* Context ).level , zap .ErrorLevel , "the returned context should have the correct log level" )
5475
5576 // Fatal
56- logContext = logger .Fatal ()
77+ logContext = adapter .Fatal ()
5778 assert .NotNil (t , logContext , "the returned context should not be nil" )
5879 assert .IsType (t , new (Context ), logContext , "the returned context should be of type *Context" )
5980 assert .Equal (t , logContext .(* Context ).level , zap .FatalLevel , "the returned context should have the correct log level" )
6081}
6182
62- func newTestingLogger (buff * bytes.Buffer ) * zap.Logger {
63- return zap .New (
64- zapcore .NewCore (
65- zapcore .NewJSONEncoder (zapcore.EncoderConfig {
66- MessageKey : "msg" ,
67- TimeKey : "time" ,
68- EncodeTime : zapcore .RFC3339NanoTimeEncoder ,
69- EncodeDuration : zapcore .NanosDurationEncoder ,
70- }),
71- zapcore .AddSync (buff ),
72- zapcore .DebugLevel ,
73- ),
74- zap .ErrorOutput (zapcore .AddSync (buff )),
75- )
76- }
77-
7883// TestMethods tests if each method returns a non-nil *Context and if the log is written correctly.
7984func TestMethods (t * testing.T ) {
8085 t .Parallel ()
8186
8287 buff := new (bytes.Buffer )
83- logger := newTestingLogger (buff )
84- adapter := NewAdapter (logger )
88+ adapter := newAdapter (buff )
8589
8690 testutils .TestingMethods (t , adapter , buff )
8791}
0 commit comments