Skip to content

Commit b02b7a9

Browse files
committed
Add tests for OnLevelParseError
1 parent 0a19cbe commit b02b7a9

1 file changed

Lines changed: 54 additions & 0 deletions

File tree

configs_test.go

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package logrusiowriter
2+
3+
import (
4+
"testing"
5+
6+
"github.com/sirupsen/logrus"
7+
)
8+
9+
func TestWithConfig(t *testing.T) {
10+
t.Run("can't parse level, configures info level by default", func(t *testing.T) {
11+
expectedLevel := logrus.InfoLevel
12+
13+
cfg := Config{
14+
Level: "none",
15+
Fields: logrus.Fields{},
16+
}
17+
18+
w := New(WithConfig(cfg))
19+
20+
configuredLevel := w.(*writer).level
21+
if configuredLevel != expectedLevel {
22+
t.Errorf("Configured level should be %s, but it was %s", expectedLevel, configuredLevel)
23+
}
24+
})
25+
26+
t.Run("custom OnLevelParseError", func(t *testing.T) {
27+
originalOnLevelParseError := OnLevelParseError
28+
defer func() { OnLevelParseError = originalOnLevelParseError }()
29+
30+
expectedLevel := logrus.WarnLevel
31+
32+
cfg := Config{
33+
Level: "none",
34+
Fields: logrus.Fields{},
35+
}
36+
37+
var providedErr error
38+
OnLevelParseError = func(err error) logrus.Level {
39+
providedErr = err
40+
return expectedLevel
41+
}
42+
43+
w := New(WithConfig(cfg))
44+
45+
configuredLevel := w.(*writer).level
46+
if configuredLevel != expectedLevel {
47+
t.Errorf("Configured level should be %s, but it was %s", expectedLevel, configuredLevel)
48+
}
49+
50+
if providedErr == nil {
51+
t.Errorf("Error provided to OnLevelParseError should not be nil")
52+
}
53+
})
54+
}

0 commit comments

Comments
 (0)