Skip to content
This repository was archived by the owner on Jun 4, 2024. It is now read-only.

Commit 65a3e91

Browse files
committed
Merge branch 'improve-coverage' into 'main'
Improve coverage See merge request bot-by/slf4j-aws-lambda!16
2 parents b9e5101 + 6610565 commit 65a3e91

File tree

10 files changed

+165
-41
lines changed

10 files changed

+165
-41
lines changed

example-lambda/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,8 +210,8 @@
210210
</organization>
211211
<properties>
212212
<aws-plugin.version>0.2.32</aws-plugin.version>
213-
<aws-request-id>request#</aws-request-id>
214213
<aws-plugin.version>0.2.33</aws-plugin.version>
214+
<aws-request-id>request#</aws-request-id>
215215
<changelist>-SNAPSHOT</changelist>
216216
<clean-plugin.version>3.2.0</clean-plugin.version>
217217
<compiler-plugin.version>3.11.0</compiler-plugin.version>

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,8 +248,8 @@
248248
<dependency>
249249
<artifactId>annotations</artifactId>
250250
<groupId>org.jetbrains</groupId>
251-
<version>${jetbrains-annotations.version}</version>
252251
<scope>provided</scope>
252+
<version>${jetbrains-annotations.version}</version>
253253
</dependency>
254254
<dependency>
255255
<artifactId>aws-lambda-java-core</artifactId>

src/main/java/uk/bot_by/aws_lambda/slf4j/AWSLambdaLoggerFactory.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import com.amazonaws.services.lambda.runtime.LambdaRuntime;
2323
import java.io.IOException;
2424
import java.io.InputStream;
25-
import java.io.PrintStream;
2625
import java.text.DateFormat;
2726
import java.text.SimpleDateFormat;
2827
import java.util.ArrayList;
@@ -169,11 +168,6 @@ LambdaLogger getLambdaLogger() {
169168
return LambdaRuntime.getLogger();
170169
}
171170

172-
@VisibleForTesting
173-
PrintStream getPrintStream() {
174-
return System.out;
175-
}
176-
177171
private boolean getBooleanProperty(ConfigurationProperty configurationProperty) {
178172
return Boolean.parseBoolean(getStringProperty(configurationProperty));
179173
}

src/main/javadoc/resources/slf4j-aws-lambda.css

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
.tooltip {
2-
position: relative;
3-
display: inline-block;
42
border-bottom: 1px dotted #4d7a97;
3+
display: inline-block;
4+
position: relative;
55
}
66

77
.tooltip .tooltiptext {
8-
visibility: hidden;
9-
top: -5px;
10-
left: 113%;
11-
width: 97px;
128
background-color: #f8981d;
13-
color: #253441;
14-
text-align: center;
15-
padding: 5px 3px;
169
border: 1px dotted #4d7a97;
1710
-moz-border-radius: 6px;
18-
-webkit-border-radius: 6px;
1911
-ms-border-radius: 6px;
12+
-webkit-border-radius: 6px;
2013
border-radius: 6px;
14+
color: #253441;
15+
left: 113%;
16+
padding: 5px 3px;
2117
position: absolute;
18+
text-align: center;
19+
top: -5px;
20+
visibility: hidden;
21+
width: 97px;
2222
z-index: 1;
2323
}
2424

src/site/resources/css/slf4j-aws-lambda.css

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
.tooltip {
2-
position: relative;
3-
display: inline-block;
42
border-bottom: 1px dotted #4d7a97;
3+
display: inline-block;
4+
position: relative;
55
}
66

77
.tooltip .tooltiptext {
8-
visibility: hidden;
9-
top: -5px;
10-
left: 113%;
11-
width: 97px;
128
background-color: #f8981d;
13-
color: #253441;
14-
text-align: center;
15-
padding: 5px 3px;
169
border: 1px dotted #4d7a97;
1710
-moz-border-radius: 6px;
18-
-webkit-border-radius: 6px;
1911
-ms-border-radius: 6px;
12+
-webkit-border-radius: 6px;
2013
border-radius: 6px;
14+
color: #253441;
15+
left: 113%;
16+
padding: 5px 3px;
2117
position: absolute;
18+
text-align: center;
19+
top: -5px;
20+
visibility: hidden;
21+
width: 97px;
2222
z-index: 1;
2323
}
2424

src/test/java/uk/bot_by/aws_lambda/slf4j/EnvironmentVariablesTest.java

Lines changed: 48 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import static java.util.Objects.nonNull;
44
import static org.hamcrest.MatcherAssert.assertThat;
55
import static org.hamcrest.text.MatchesPattern.matchesPattern;
6+
import static org.junit.jupiter.api.Assertions.assertEquals;
67
import static org.mockito.ArgumentMatchers.anyString;
78
import static org.mockito.Mockito.doReturn;
89
import static org.mockito.Mockito.never;
@@ -12,7 +13,6 @@
1213
import com.amazonaws.services.lambda.runtime.LambdaLogger;
1314
import org.junit.jupiter.api.AfterEach;
1415
import org.junit.jupiter.api.BeforeEach;
15-
import org.junit.jupiter.api.Disabled;
1616
import org.junit.jupiter.api.DisplayName;
1717
import org.junit.jupiter.api.Tag;
1818
import org.junit.jupiter.api.Test;
@@ -60,7 +60,6 @@ void tearDown() {
6060
MDC.clear();
6161
}
6262

63-
@Disabled
6463
@DisplayName("Read logger properties from the environment, get logger then print out trace message")
6564
@Test
6665
void useEnvironmentVariables() {
@@ -79,11 +78,9 @@ void useEnvironmentVariables() {
7978
// then
8079
verify(lambdaLogger).log(stringCaptor.capture());
8180

82-
assertThat(stringCaptor.getValue(),
83-
matchesPattern("variables-request-id TRACE trace message[\\n\\r]+"));
81+
assertEquals("variables-request-id TRACE trace message", stringCaptor.getValue());
8482
}
8583

86-
@Disabled
8784
@DisplayName("Default log level with a marker")
8885
@Test
8986
void defaultLogLevelWithMarker() {
@@ -103,8 +100,7 @@ void defaultLogLevelWithMarker() {
103100
// then
104101
verify(lambdaLogger).log(stringCaptor.capture());
105102

106-
assertThat(stringCaptor.getValue(),
107-
matchesPattern("variables-request-id TRACE trace message[\\n\\r]+"));
103+
assertEquals("variables-request-id TRACE trace message", stringCaptor.getValue());
108104
}
109105

110106
@DisplayName("Implement NONE/OFF level")
@@ -137,4 +133,49 @@ void implementNoneLevel(String markerName) {
137133
verify(lambdaLogger, never()).log(anyString());
138134
}
139135

136+
@DisplayName("Wrong a date-time format")
137+
@Test
138+
void wrongDateTimeFormat() {
139+
// given
140+
environment.set("LOG_DATE_TIME_FORMAT", "qwerty");
141+
environment.set("LOG_SHOW_DATE_TIME", "true");
142+
143+
var loggerFactory = spy(AWSLambdaLoggerFactory.class);
144+
145+
doReturn(lambdaLogger).when(loggerFactory).getLambdaLogger();
146+
147+
var logger = loggerFactory.getLogger("lambda.logger.test");
148+
149+
// when
150+
logger.warn("warn message");
151+
152+
// then
153+
verify(lambdaLogger).log(stringCaptor.capture());
154+
155+
assertThat(stringCaptor.getValue(),
156+
matchesPattern("variables-request-id \\d+ WARN warn message"));
157+
}
158+
159+
@DisplayName("Wrong the default logger level")
160+
@Test
161+
void wrongDefaultLoggerLever() {
162+
// given
163+
environment.set("LOG_DEFAULT_LEVEL", "qwerty");
164+
165+
var loggerFactory = spy(AWSLambdaLoggerFactory.class);
166+
167+
doReturn(lambdaLogger).when(loggerFactory).getLambdaLogger();
168+
169+
var logger = loggerFactory.getLogger("lambda.logger.test");
170+
171+
// when
172+
logger.trace("trace message");
173+
logger.debug("debug message");
174+
175+
// then
176+
verify(lambdaLogger).log(stringCaptor.capture());
177+
178+
assertEquals("variables-request-id DEBUG debug message", stringCaptor.getValue());
179+
}
180+
140181
}

src/test/java/uk/bot_by/aws_lambda/slf4j/PropertiesTest.java

Lines changed: 69 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import static org.hamcrest.core.Is.is;
55
import static org.hamcrest.text.MatchesPattern.matchesPattern;
66
import static org.junit.jupiter.api.Assertions.assertAll;
7+
import static org.junit.jupiter.api.Assertions.assertEquals;
78
import static org.junit.jupiter.api.Assertions.assertFalse;
89
import static org.junit.jupiter.api.Assertions.assertTrue;
910
import static org.mockito.Mockito.doReturn;
@@ -13,7 +14,6 @@
1314
import com.amazonaws.services.lambda.runtime.LambdaLogger;
1415
import org.junit.jupiter.api.AfterEach;
1516
import org.junit.jupiter.api.BeforeEach;
16-
import org.junit.jupiter.api.Disabled;
1717
import org.junit.jupiter.api.DisplayName;
1818
import org.junit.jupiter.api.Tag;
1919
import 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
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
dateTimeFormat=qwerty
2+
defaultLogLevel=DeBuG
3+
levelInBrackets=true
4+
requestId=request#
5+
showDateTime=true
6+
showLogName=true
7+
showShortLogName=true
8+
showThreadId=true
9+
showThreadName=true
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
defaultLogLevel=qwerty
2+
levelInBrackets=true
3+
requestId=request#
4+
showDateTime=false
5+
showLogName=true
6+
showShortLogName=true
7+
showThreadId=true
8+
showThreadName=true
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
defaultLogLevel=debug
2+
log.org.test.Class=qwerty
3+
levelInBrackets=true
4+
requestId=request#
5+
showDateTime=false
6+
showLogName=true
7+
showShortLogName=true
8+
showThreadId=true
9+
showThreadName=true

0 commit comments

Comments
 (0)