44import static org .hamcrest .core .Is .is ;
55import static org .hamcrest .text .MatchesPattern .matchesPattern ;
66import static org .junit .jupiter .api .Assertions .assertAll ;
7+ import static org .junit .jupiter .api .Assertions .assertEquals ;
78import static org .junit .jupiter .api .Assertions .assertFalse ;
89import static org .junit .jupiter .api .Assertions .assertTrue ;
910import static org .mockito .Mockito .doReturn ;
1314import com .amazonaws .services .lambda .runtime .LambdaLogger ;
1415import org .junit .jupiter .api .AfterEach ;
1516import org .junit .jupiter .api .BeforeEach ;
16- import org .junit .jupiter .api .Disabled ;
1717import org .junit .jupiter .api .DisplayName ;
1818import org .junit .jupiter .api .Tag ;
1919import org .junit .jupiter .api .Test ;
@@ -291,7 +291,6 @@ void customLevelAndMarkerSeparators() {
291291 () -> assertTrue (logger .isTraceEnabled (markerC ), "trace with the marker C" ));
292292 }
293293
294- @ Disabled
295294 @ DisplayName ("Read logger properties from the file, get logger then print out debug message" )
296295 @ Test
297296 void useLoggerProperties () {
@@ -309,10 +308,9 @@ void useLoggerProperties() {
309308 verify (lambdaLogger ).log (stringCaptor .capture ());
310309
311310 assertThat (stringCaptor .getValue (), matchesPattern (
312- "properties-request-id \\ d{2}:\\ d{2}:\\ d{2}\\ .\\ d{3} \\ [main\\ ] thread=1 \\ [DEBUG\\ ] test - debug message[ \\ n \\ r]+ " ));
311+ "properties-request-id \\ d{2}:\\ d{2}:\\ d{2}\\ .\\ d{3} \\ [main\\ ] thread=1 \\ [DEBUG\\ ] test - debug message" ));
313312 }
314313
315- @ Disabled
316314 @ DisplayName ("Try to read missed logger properties file, use default values" )
317315 @ Test
318316 void missedProperties () {
@@ -323,17 +321,82 @@ void missedProperties() {
323321
324322 MDC .put ("request#" , "properties-request-id" );
325323
324+ var logger = loggerFactory .getLogger ("lambda.logger.test" );
325+
326326 // when
327+ logger .debug ("debug message" );
328+ logger .info ("info message" );
329+
330+ // then
331+ verify (lambdaLogger ).log (stringCaptor .capture ());
332+
333+ assertEquals ("INFO lambda.logger.test - info message" , stringCaptor .getValue ());
334+ }
335+
336+ @ DisplayName ("Wrong a date-time format" )
337+ @ Test
338+ void wrongDateTimeFormat () {
339+ // given
340+ var loggerFactory = spy (new AWSLambdaLoggerFactory ("wrong-date-time-format.properties" ));
341+
342+ doReturn (lambdaLogger ).when (loggerFactory ).getLambdaLogger ();
343+
344+ MDC .put ("request#" , "properties-request-id" );
345+
346+ // when
347+ loggerFactory .getLogger ("lambda.logger.test" ).info ("info message" );
348+
349+ // then
350+ verify (lambdaLogger ).log (stringCaptor .capture ());
351+
352+ assertThat (stringCaptor .getValue (), matchesPattern (
353+ "properties-request-id \\ d+ \\ [main\\ ] thread=1 \\ [INFO\\ ] test - info message" ));
354+ }
355+
356+ @ DisplayName ("Wrong the default logger level" )
357+ @ Test
358+ void wrongDefaultLoggerLevel () {
359+ // given
360+ var loggerFactory = spy (new AWSLambdaLoggerFactory ("wrong-default-logger-level.properties" ));
361+
362+ doReturn (lambdaLogger ).when (loggerFactory ).getLambdaLogger ();
363+
364+ MDC .put ("request#" , "properties-request-id" );
365+
327366 var logger = loggerFactory .getLogger ("lambda.logger.test" );
328367
368+ // when
329369 logger .debug ("debug message" );
330370 logger .info ("info message" );
331371
332372 // then
333373 verify (lambdaLogger ).log (stringCaptor .capture ());
334374
335- assertThat (stringCaptor .getValue (),
336- matchesPattern ("INFO lambda.logger.test - info message[\\ n\\ r]+" ));
375+ assertEquals ("properties-request-id [main] thread=1 [INFO] test - info message" ,
376+ stringCaptor .getValue ());
377+ }
378+
379+ @ DisplayName ("Wrong a logger level" )
380+ @ Test
381+ void wrongLoggerLevel () {
382+ // given
383+ var loggerFactory = spy (new AWSLambdaLoggerFactory ("wrong-logger-level.properties" ));
384+
385+ doReturn (lambdaLogger ).when (loggerFactory ).getLambdaLogger ();
386+
387+ MDC .put ("request#" , "properties-request-id" );
388+
389+ var logger = loggerFactory .getLogger ("org.test.Class" );
390+
391+ // when
392+ logger .trace ("trace message" );
393+ logger .debug ("debug message" );
394+
395+ // then
396+ verify (lambdaLogger ).log (stringCaptor .capture ());
397+
398+ assertEquals ("properties-request-id [main] thread=1 [DEBUG] Class - debug message" ,
399+ stringCaptor .getValue ());
337400 }
338401
339402}
0 commit comments