13
13
14
14
15
15
public class AbstractLambdaLoggerTest {
16
- class TestLogger extends AbstractLambdaLogger {
16
+ class TestSink implements LogSink {
17
17
private List <byte []> messages = new LinkedList <>();
18
18
19
- public TestLogger (LogLevel logLevel , LogFormat logFormat ) {
20
- super (logLevel , logFormat );
19
+ public TestSink () {
21
20
}
22
21
23
22
@ Override
24
- protected void logMessage (byte [] message , LogLevel logLevel ) {
23
+ public void log (byte [] message ) {
25
24
messages .add (message );
26
25
}
27
26
27
+ @ Override
28
+ public void log (LogLevel logLevel , LogFormat logFormat , byte [] message ) {
29
+ messages .add (message );
30
+ }
31
+
32
+ @ Override
33
+ public void close () {
34
+ }
35
+
28
36
List <byte []> getMessages () {
29
37
return messages ;
30
38
}
@@ -39,36 +47,97 @@ private void logMessages(LambdaLogger logger) {
39
47
logger .log ("fatal" , LogLevel .FATAL );
40
48
}
41
49
50
+ @ Test
51
+ public void testLoggingNullValuesWithoutLogLevelInText () {
52
+ TestSink sink = new TestSink ();
53
+ LambdaLogger logger = new LambdaContextLogger (sink , LogLevel .INFO , LogFormat .TEXT );
54
+
55
+ String isNullString = null ;
56
+ byte [] isNullBytes = null ;
57
+
58
+ logger .log (isNullString );
59
+ logger .log (isNullBytes );
60
+
61
+ assertEquals ("null" , new String (sink .getMessages ().get (0 )));
62
+ assertEquals ("null" , new String (sink .getMessages ().get (1 )));
63
+ }
64
+
65
+ @ Test
66
+ public void testLoggingNullValuesWithoutLogLevelInJSON () {
67
+ TestSink sink = new TestSink ();
68
+ LambdaLogger logger = new LambdaContextLogger (sink , LogLevel .INFO , LogFormat .JSON );
69
+
70
+ String isNullString = null ;
71
+ byte [] isNullBytes = null ;
72
+
73
+ logger .log (isNullString );
74
+ logger .log (isNullBytes );
75
+
76
+ assertEquals (2 , sink .getMessages ().size ());
77
+ }
78
+
79
+ @ Test
80
+ public void testLoggingNullValuesWithLogLevelInText () {
81
+ TestSink sink = new TestSink ();
82
+ LambdaLogger logger = new LambdaContextLogger (sink , LogLevel .INFO , LogFormat .TEXT );
83
+
84
+ String isNullString = null ;
85
+ byte [] isNullBytes = null ;
86
+
87
+ logger .log (isNullString , LogLevel .ERROR );
88
+ logger .log (isNullBytes , LogLevel .ERROR );
89
+
90
+ assertEquals ("[ERROR] null" , new String (sink .getMessages ().get (0 )));
91
+ assertEquals ("null" , new String (sink .getMessages ().get (1 )));
92
+ }
93
+
94
+ @ Test
95
+ public void testLoggingNullValuesWithLogLevelInJSON () {
96
+ TestSink sink = new TestSink ();
97
+ LambdaLogger logger = new LambdaContextLogger (sink , LogLevel .INFO , LogFormat .JSON );
98
+
99
+ String isNullString = null ;
100
+ byte [] isNullBytes = null ;
101
+
102
+ logger .log (isNullString , LogLevel .ERROR );
103
+ logger .log (isNullBytes , LogLevel .ERROR );
104
+
105
+ assertEquals (2 , sink .getMessages ().size ());
106
+ }
42
107
@ Test
43
108
public void testWithoutFiltering () {
44
- TestLogger logger = new TestLogger (LogLevel .UNDEFINED , LogFormat .TEXT );
109
+ TestSink sink = new TestSink ();
110
+ LambdaLogger logger = new LambdaContextLogger (sink , LogLevel .UNDEFINED , LogFormat .TEXT );
45
111
logMessages (logger );
46
112
47
- assertEquals (6 , logger .getMessages ().size ());
113
+ assertEquals (6 , sink .getMessages ().size ());
48
114
}
49
115
50
116
@ Test
51
117
public void testWithFiltering () {
52
- TestLogger logger = new TestLogger (LogLevel .WARN , LogFormat .TEXT );
118
+ TestSink sink = new TestSink ();
119
+ LambdaLogger logger = new LambdaContextLogger (sink , LogLevel .WARN , LogFormat .TEXT );
53
120
logMessages (logger );
54
121
55
- assertEquals (3 , logger .getMessages ().size ());
122
+ assertEquals (3 , sink .getMessages ().size ());
56
123
}
57
124
58
125
@ Test
59
126
public void testUndefinedLogLevelWithFiltering () {
60
- TestLogger logger = new TestLogger (LogLevel .WARN , LogFormat .TEXT );
127
+ TestSink sink = new TestSink ();
128
+ LambdaLogger logger = new LambdaContextLogger (sink , LogLevel .WARN , LogFormat .TEXT );
61
129
logger .log ("undefined" );
62
130
63
- assertEquals (1 , logger .getMessages ().size ());
131
+ assertEquals (1 , sink .getMessages ().size ());
64
132
}
65
133
66
134
@ Test
67
135
public void testFormattingLogMessages () {
68
- TestLogger logger = new TestLogger (LogLevel .INFO , LogFormat .TEXT );
136
+ TestSink sink = new TestSink ();
137
+ LambdaLogger logger = new LambdaContextLogger (sink , LogLevel .INFO , LogFormat .TEXT );
69
138
logger .log ("test message" , LogLevel .INFO );
70
139
71
- assertEquals (1 , logger .getMessages ().size ());
72
- assertEquals ("[INFO] test message" , new String (logger .getMessages ().get (0 )));
140
+ assertEquals (1 , sink .getMessages ().size ());
141
+ assertEquals ("[INFO] test message" , new String (sink .getMessages ().get (0 )));
73
142
}
74
143
}
0 commit comments