Skip to content

Commit f051585

Browse files
author
Arun Gopalpuri
committed
adding more tests
1 parent fdb150b commit f051585

File tree

2 files changed

+236
-2
lines changed

2 files changed

+236
-2
lines changed

pkg/logger/logrus_test.go

Lines changed: 108 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func TestLogrusInfoLogger(t *testing.T) {
1919
absLogger, _ := NewLogrusLogger(logrus)
2020
absLogger.WithFields(Fields{
2121
"foo": "bar",
22-
}).Infof("direct")
22+
}).Info("direct")
2323

2424
err := json.Unmarshal(buffer.Bytes(), &fields)
2525
assert.Nil(t, err)
@@ -28,6 +28,113 @@ func TestLogrusInfoLogger(t *testing.T) {
2828
assert.Equal(t, "bar", fields["foo"])
2929
}
3030

31+
func TestLogrusInfofLogger(t *testing.T) {
32+
var fields Fields
33+
var buffer bytes.Buffer
34+
logrus := log.New()
35+
logrus.SetFormatter(&log.JSONFormatter{})
36+
logrus.SetOutput(&buffer)
37+
logrus.SetLevel(log.DebugLevel)
38+
absLogger, _ := NewLogrusLogger(logrus)
39+
absLogger.WithFields(Fields{
40+
"ping": "pong",
41+
}).Infof("received %s balls", "ping pong")
42+
43+
err := json.Unmarshal(buffer.Bytes(), &fields)
44+
assert.Nil(t, err)
45+
assert.Equal(t, "received ping pong balls", fields["msg"])
46+
assert.Equal(t, "info", fields["level"])
47+
assert.Equal(t, "pong", fields["ping"])
48+
}
49+
50+
func TestLogrusWarnLogger(t *testing.T) {
51+
var fields Fields
52+
var buffer bytes.Buffer
53+
logrus := log.New()
54+
logrus.SetFormatter(&log.JSONFormatter{})
55+
logrus.SetOutput(&buffer)
56+
logrus.SetLevel(log.DebugLevel)
57+
absLogger, _ := NewLogrusLogger(logrus)
58+
absLogger.WithFields(Fields{
59+
"foo": "bar",
60+
"log": "logrus",
61+
}).Warn("direct")
62+
63+
err := json.Unmarshal(buffer.Bytes(), &fields)
64+
assert.Nil(t, err)
65+
assert.Equal(t, "direct", fields["msg"])
66+
assert.Equal(t, "warning", fields["level"])
67+
assert.Equal(t, "bar", fields["foo"])
68+
assert.Equal(t, "logrus", fields["log"])
69+
}
70+
71+
func TestLogrusWarnfLogger(t *testing.T) {
72+
var fields Fields
73+
var buffer bytes.Buffer
74+
logrus := log.New()
75+
logrus.SetFormatter(&log.JSONFormatter{})
76+
logrus.SetOutput(&buffer)
77+
logrus.SetLevel(log.DebugLevel)
78+
absLogger, _ := NewLogrusLogger(logrus)
79+
absLogger.WithFields(Fields{
80+
"ping": "pong",
81+
"log": "logrus",
82+
}).Warnf("received %s balls", "table tennis")
83+
84+
err := json.Unmarshal(buffer.Bytes(), &fields)
85+
assert.Nil(t, err)
86+
assert.Equal(t, "received table tennis balls", fields["msg"])
87+
assert.Equal(t, "warning", fields["level"])
88+
assert.Equal(t, "pong", fields["ping"])
89+
assert.Equal(t, "logrus", fields["log"])
90+
}
91+
92+
func TestLogrusPanicLogger(t *testing.T) {
93+
var fields Fields
94+
var buffer bytes.Buffer
95+
logrus := log.New()
96+
logrus.SetFormatter(&log.JSONFormatter{})
97+
logrus.SetOutput(&buffer)
98+
logrus.SetLevel(log.ErrorLevel)
99+
absLogger, _ := NewLogrusLogger(logrus)
100+
defer func() {
101+
if r := recover(); r == nil {
102+
t.Errorf("The code did not panic")
103+
}
104+
err := json.Unmarshal(buffer.Bytes(), &fields)
105+
assert.Nil(t, err)
106+
assert.Equal(t, "db not found", fields["msg"])
107+
assert.Equal(t, "panic", fields["level"])
108+
assert.Equal(t, "dataDB", fields["db"])
109+
assert.Equal(t, "logrus", fields["log"])
110+
}()
111+
absLogger.WithFields(Fields{
112+
"db": "dataDB",
113+
"log": "logrus",
114+
}).Panic("db not found")
115+
}
116+
117+
func TestLogursErrorLogger(t *testing.T) {
118+
var fields Fields
119+
var buffer bytes.Buffer
120+
logrus := log.New()
121+
logrus.SetFormatter(&log.JSONFormatter{})
122+
logrus.SetOutput(&buffer)
123+
logrus.SetLevel(log.DebugLevel)
124+
absLogger, _ := NewLogrusLogger(logrus)
125+
absLogger.WithFields(Fields{
126+
"acctNumber": 7899,
127+
"log": "logrus",
128+
}).Errorf("Error creating account %s", "testAccount")
129+
130+
err := json.Unmarshal(buffer.Bytes(), &fields)
131+
assert.Nil(t, err)
132+
assert.Equal(t, "Error creating account testAccount", fields["msg"])
133+
assert.Equal(t, "error", fields["level"])
134+
assert.Equal(t, float64(7899), fields["acctNumber"])
135+
assert.Equal(t, "logrus", fields["log"])
136+
}
137+
31138
//set logger to info and see that it doesn't print debug statements
32139
func TestLogrusNoOutputLogger(t *testing.T) {
33140
var buffer bytes.Buffer

pkg/logger/zap_test.go

Lines changed: 128 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ func TestZapInfoLogger(t *testing.T) {
2424
absLogger, _ := NewZapLogger(z)
2525
absLogger.WithFields(Fields{
2626
"foo": "bar",
27-
}).Infof("direct")
27+
}).Info("direct")
2828

2929
err := json.Unmarshal(buffer.Bytes(), &fields)
3030
assert.Nil(t, err)
@@ -33,6 +33,133 @@ func TestZapInfoLogger(t *testing.T) {
3333
assert.Equal(t, "bar", fields["foo"])
3434
}
3535

36+
func TestZapInfofLogger(t *testing.T) {
37+
var fields Fields
38+
var buffer bytes.Buffer
39+
writerSync := zapcore.AddSync(&buffer)
40+
encoder := zapcore.NewJSONEncoder(zap.NewProductionEncoderConfig())
41+
core := zapcore.NewCore(
42+
encoder,
43+
writerSync,
44+
zap.DebugLevel,
45+
)
46+
z := zap.New(core)
47+
absLogger, _ := NewZapLogger(z)
48+
absLogger.WithFields(Fields{
49+
"ping": "pong",
50+
}).Infof("received %s balls", "ping pong")
51+
52+
err := json.Unmarshal(buffer.Bytes(), &fields)
53+
assert.Nil(t, err)
54+
assert.Equal(t, "received ping pong balls", fields["msg"])
55+
assert.Equal(t, "info", fields["level"])
56+
assert.Equal(t, "pong", fields["ping"])
57+
}
58+
59+
func TestZapWarnLogger(t *testing.T) {
60+
var fields Fields
61+
var buffer bytes.Buffer
62+
writerSync := zapcore.AddSync(&buffer)
63+
encoder := zapcore.NewJSONEncoder(zap.NewProductionEncoderConfig())
64+
core := zapcore.NewCore(
65+
encoder,
66+
writerSync,
67+
zap.DebugLevel,
68+
)
69+
z := zap.New(core)
70+
absLogger, _ := NewZapLogger(z)
71+
absLogger.WithFields(Fields{
72+
"foo": "bar",
73+
"log": "zap",
74+
}).Warn("direct")
75+
76+
err := json.Unmarshal(buffer.Bytes(), &fields)
77+
assert.Nil(t, err)
78+
assert.Equal(t, "direct", fields["msg"])
79+
assert.Equal(t, "warn", fields["level"])
80+
assert.Equal(t, "bar", fields["foo"])
81+
assert.Equal(t, "zap", fields["log"])
82+
}
83+
84+
func TestZapWarnfLogger(t *testing.T) {
85+
var fields Fields
86+
var buffer bytes.Buffer
87+
writerSync := zapcore.AddSync(&buffer)
88+
encoder := zapcore.NewJSONEncoder(zap.NewProductionEncoderConfig())
89+
core := zapcore.NewCore(
90+
encoder,
91+
writerSync,
92+
zap.DebugLevel,
93+
)
94+
z := zap.New(core)
95+
absLogger, _ := NewZapLogger(z)
96+
absLogger.WithFields(Fields{
97+
"ping": "pong",
98+
"log": "zap",
99+
}).Warnf("received %s balls", "table tennis")
100+
101+
err := json.Unmarshal(buffer.Bytes(), &fields)
102+
assert.Nil(t, err)
103+
assert.Equal(t, "received table tennis balls", fields["msg"])
104+
assert.Equal(t, "warn", fields["level"])
105+
assert.Equal(t, "pong", fields["ping"])
106+
assert.Equal(t, "zap", fields["log"])
107+
}
108+
109+
func TestZapPanicLogger(t *testing.T) {
110+
var fields Fields
111+
var buffer bytes.Buffer
112+
writerSync := zapcore.AddSync(&buffer)
113+
encoder := zapcore.NewJSONEncoder(zap.NewProductionEncoderConfig())
114+
core := zapcore.NewCore(
115+
encoder,
116+
writerSync,
117+
zap.ErrorLevel,
118+
)
119+
z := zap.New(core)
120+
absLogger, _ := NewZapLogger(z)
121+
defer func() {
122+
if r := recover(); r == nil {
123+
t.Errorf("The code did not panic")
124+
}
125+
err := json.Unmarshal(buffer.Bytes(), &fields)
126+
assert.Nil(t, err)
127+
assert.Equal(t, "db not found", fields["msg"])
128+
assert.Equal(t, "panic", fields["level"])
129+
assert.Equal(t, "dataDB", fields["db"])
130+
assert.Equal(t, "zap", fields["log"])
131+
}()
132+
absLogger.WithFields(Fields{
133+
"db": "dataDB",
134+
"log": "zap",
135+
}).Panic("db not found")
136+
}
137+
138+
func TestZapErrorLogger(t *testing.T) {
139+
var fields Fields
140+
var buffer bytes.Buffer
141+
writerSync := zapcore.AddSync(&buffer)
142+
encoder := zapcore.NewJSONEncoder(zap.NewProductionEncoderConfig())
143+
core := zapcore.NewCore(
144+
encoder,
145+
writerSync,
146+
zap.InfoLevel,
147+
)
148+
z := zap.New(core)
149+
absLogger, _ := NewZapLogger(z)
150+
absLogger.WithFields(Fields{
151+
"acctNumber": 7899,
152+
"log": "zap",
153+
}).Errorf("Error creating account %s", "testAccount")
154+
155+
err := json.Unmarshal(buffer.Bytes(), &fields)
156+
assert.Nil(t, err)
157+
assert.Equal(t, "Error creating account testAccount", fields["msg"])
158+
assert.Equal(t, "error", fields["level"])
159+
assert.Equal(t, float64(7899), fields["acctNumber"])
160+
assert.Equal(t, "zap", fields["log"])
161+
}
162+
36163
//set logger to info and see that it doesn't print debug statements
37164
func TestZapNoOutputLogger(t *testing.T) {
38165
var buffer bytes.Buffer

0 commit comments

Comments
 (0)