Skip to content

Commit d96539b

Browse files
committed
Switch logging-log4j module to use JUnit Pioneer
1 parent ea9a1a2 commit d96539b

File tree

3 files changed

+23
-25
lines changed

3 files changed

+23
-25
lines changed

powertools-logging/powertools-logging-log4j/pom.xml

+11-5
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,11 @@
5151
<artifactId>junit-jupiter-engine</artifactId>
5252
<scope>test</scope>
5353
</dependency>
54+
<dependency>
55+
<groupId>org.junit-pioneer</groupId>
56+
<artifactId>junit-pioneer</artifactId>
57+
<scope>test</scope>
58+
</dependency>
5459
<dependency>
5560
<groupId>org.apache.commons</groupId>
5661
<artifactId>commons-lang3</artifactId>
@@ -100,7 +105,10 @@
100105
<artifactId>maven-surefire-plugin</artifactId>
101106
<version>3.2.3</version>
102107
<configuration>
103-
<argLine>-Dmockito.mock.maker=subclass -Dorg.graalvm.nativeimage.imagecode=agent -agentlib:native-image-agent=config-output-dir=src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-logging-log4j,experimental-class-define-support</argLine>
108+
<argLine>-Dmockito.mock.maker=subclass -Dorg.graalvm.nativeimage.imagecode=agent -agentlib:native-image-agent=config-output-dir=src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-logging-log4j,experimental-class-define-support
109+
--add-opens java.base/java.util=ALL-UNNAMED
110+
--add-opens java.base/java.lang=ALL-UNNAMED
111+
</argLine>
104112
</configuration>
105113
</plugin>
106114
</plugins>
@@ -133,12 +141,10 @@
133141
</execution>
134142
</executions>
135143
<configuration>
136-
<agent>
137-
<enabled>true</enabled>
138-
<defaultMode>Standard</defaultMode>
139-
</agent>
140144
<imageName>powertools-logging-log4j</imageName>
141145
<buildArgs>
146+
<buildArg>--add-opens java.base/java.util=ALL-UNNAMED</buildArg>
147+
<buildArg>--add-opens java.base/java.lang=ALL-UNNAMED</buildArg>
142148
<buildArg>--no-fallback</buildArg>
143149
<buildArg>-Dorg.graalvm.nativeimage.imagecode=agent</buildArg>
144150
<buildArg>-H:ClassInitialization=net.bytebuddy.ClassFileVersion:rerun</buildArg>

powertools-logging/powertools-logging-log4j/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-logging-log4j/reflect-config.json

+8-9
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,10 @@
107107
"queryAllDeclaredConstructors":true,
108108
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"clone","parameterTypes":[] }, {"name":"getClass","parameterTypes":[] }, {"name":"toString","parameterTypes":[] }]
109109
},
110+
{
111+
"name":"java.lang.ProcessEnvironment",
112+
"fields":[{"name":"theCaseInsensitiveEnvironment"}, {"name":"theEnvironment"}]
113+
},
110114
{
111115
"name":"java.lang.ProcessHandle",
112116
"methods":[{"name":"current","parameterTypes":[] }, {"name":"pid","parameterTypes":[] }]
@@ -198,6 +202,10 @@
198202
{
199203
"name":"java.sql.Time"
200204
},
205+
{
206+
"name":"java.util.Collections$UnmodifiableMap",
207+
"fields":[{"name":"m"}]
208+
},
201209
{
202210
"name":"java.util.concurrent.ForkJoinTask",
203211
"fields":[{"name":"aux"}, {"name":"status"}]
@@ -1120,15 +1128,6 @@
11201128
"queryAllDeclaredMethods":true,
11211129
"methods":[{"name":"getInstance","parameterTypes":[] }]
11221130
},
1123-
{
1124-
"name":"org.apache.logging.log4j.layout.template.json.resolver.PowertoolsResolverTest",
1125-
"allDeclaredFields":true,
1126-
"allDeclaredClasses":true,
1127-
"queryAllDeclaredMethods":true,
1128-
"queryAllPublicMethods":true,
1129-
"queryAllDeclaredConstructors":true,
1130-
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"shouldResolveAccountId","parameterTypes":[] }, {"name":"shouldResolveColdStart","parameterTypes":[] }, {"name":"shouldResolveFunctionStringInfo","parameterTypes":["software.amazon.lambda.powertools.logging.internal.PowertoolsLoggedFields"] }, {"name":"shouldResolveMemorySize","parameterTypes":[] }, {"name":"shouldResolveSamplingRate","parameterTypes":[] }, {"name":"unknownField_shouldThrowException","parameterTypes":[] }]
1131-
},
11321131
{
11331132
"name":"org.apache.logging.log4j.layout.template.json.resolver.SourceResolverFactory",
11341133
"queryAllDeclaredMethods":true,

powertools-logging/powertools-logging-log4j/src/test/java/org/apache/logging/log4j/layout/template/json/resolver/PowertoolsResolverTest.java

+4-11
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616

1717
import static org.assertj.core.api.Assertions.assertThat;
1818
import static org.assertj.core.api.Assertions.assertThatThrownBy;
19-
import static org.mockito.Mockito.mockStatic;
20-
import static software.amazon.lambda.powertools.common.internal.SystemWrapper.getenv;
2119
import static software.amazon.lambda.powertools.logging.internal.PowertoolsLoggedFields.FUNCTION_ARN;
2220
import static software.amazon.lambda.powertools.logging.internal.PowertoolsLoggedFields.FUNCTION_COLD_START;
2321
import static software.amazon.lambda.powertools.logging.internal.PowertoolsLoggedFields.FUNCTION_MEMORY_SIZE;
@@ -32,8 +30,7 @@
3230
import org.junit.jupiter.api.Test;
3331
import org.junit.jupiter.params.ParameterizedTest;
3432
import org.junit.jupiter.params.provider.EnumSource;
35-
import org.mockito.MockedStatic;
36-
import software.amazon.lambda.powertools.common.internal.SystemWrapper;
33+
import org.junitpioneer.jupiter.SetEnvironmentVariable;
3734
import software.amazon.lambda.powertools.logging.internal.PowertoolsLoggedFields;
3835

3936
class PowertoolsResolverTest {
@@ -79,14 +76,10 @@ void unknownField_shouldThrowException() {
7976
}
8077

8178
@Test
79+
@SetEnvironmentVariable(key = "AWS_REGION", value = "eu-central-2")
8280
void shouldResolveRegion() {
83-
try (MockedStatic<SystemWrapper> mocked = mockStatic(SystemWrapper.class)) {
84-
mocked.when(() -> getenv("AWS_REGION"))
85-
.thenReturn("eu-central-2");
86-
87-
String result = resolveField("region", "dummy, will use the env var");
88-
assertThat(result).isEqualTo("\"eu-central-2\"");
89-
}
81+
String result = resolveField("region", "dummy, will use the env var");
82+
assertThat(result).isEqualTo("\"eu-central-2\"");
9083
}
9184

9285
private static String resolveField(String field, String value) {

0 commit comments

Comments
 (0)