Skip to content

Commit 0c37061

Browse files
committed
Simplify powertools-parameters-appconfig GraalVM config and fix issues in unit tests.
1 parent d08699e commit 0c37061

File tree

3 files changed

+22
-29
lines changed

3 files changed

+22
-29
lines changed

powertools-parameters/powertools-parameters-appconfig/pom.xml

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<project xmlns="http://maven.apache.org/POM/4.0.0"
3-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4-
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
55
<modelVersion>4.0.0</modelVersion>
66

77
<parent>
@@ -57,6 +57,11 @@
5757
<artifactId>mockito-core</artifactId>
5858
<scope>test</scope>
5959
</dependency>
60+
<dependency>
61+
<groupId>org.mockito</groupId>
62+
<artifactId>mockito-junit-jupiter</artifactId>
63+
<scope>test</scope>
64+
</dependency>
6065
<dependency>
6166
<groupId>org.slf4j</groupId>
6267
<artifactId>slf4j-simple</artifactId>
@@ -96,7 +101,9 @@
96101
<artifactId>maven-surefire-plugin</artifactId>
97102
<version>3.5.3</version>
98103
<configuration>
99-
<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-parameters-appconfig,experimental-class-define-support
104+
<argLine>
105+
-Dorg.graalvm.nativeimage.imagecode=agent
106+
-agentlib:native-image-agent=config-output-dir=src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-parameters-appconfig,experimental-class-define-support
100107
--add-opens java.base/java.util=ALL-UNNAMED
101108
--add-opens java.base/java.lang=ALL-UNNAMED
102109
</argLine>
@@ -113,6 +120,13 @@
113120
<artifactId>mockito-subclass</artifactId>
114121
<scope>test</scope>
115122
</dependency>
123+
124+
<!-- Required explicitly for @Captor ArgumentCaptor -->
125+
<dependency>
126+
<groupId>org.junit.jupiter</groupId>
127+
<artifactId>junit-jupiter-params</artifactId>
128+
<scope>test</scope>
129+
</dependency>
116130
</dependencies>
117131
<build>
118132
<plugins>
@@ -136,33 +150,11 @@
136150
<buildArg>--add-opens java.base/java.util=ALL-UNNAMED</buildArg>
137151
<buildArg>--add-opens java.base/java.lang=ALL-UNNAMED</buildArg>
138152
<buildArg>--no-fallback</buildArg>
139-
<buildArg>-Dorg.graalvm.nativeimage.imagecode=agent</buildArg>
140-
<buildArg>-H:ClassInitialization=net.bytebuddy.ClassFileVersion:rerun</buildArg>
141-
<buildArg>-H:ClassInitialization=net.bytebuddy.utility.dispatcher.JavaDispatcher:rerun</buildArg>
142-
<buildArg>-H:ClassInitialization=net.bytebuddy.utility.Invoker$Dispatcher:rerun</buildArg>
143-
<buildArg>-H:ClassInitialization=net.bytebuddy.utility.GraalImageCode:rerun</buildArg>
144-
<buildArg>--initialize-at-build-time=org.slf4j.simple.SimpleLogger</buildArg>
145-
<buildArg>--initialize-at-build-time=org.slf4j.LoggerFactory</buildArg>
146-
<buildArg>--initialize-at-build-time=org.junit.Ignore</buildArg>
147-
<buildArg>--initialize-at-build-time=java.lang.annotation.Annotation</buildArg>
148-
<buildArg>--initialize-at-build-time=org.junit.runners.model.FrameworkField</buildArg>
149-
<buildArg>--initialize-at-build-time=net.bytebuddy.description.type.TypeDescription$AbstractBase</buildArg>
150-
<buildArg>--initialize-at-build-time=net.bytebuddy.implementation.bind.annotation.Argument$BindingMechanic</buildArg>
151-
<buildArg>--initialize-at-build-time=net.bytebuddy.implementation.bind.annotation.Argument$BindingMechanic$1</buildArg>
152-
<buildArg>--initialize-at-build-time=net.bytebuddy.implementation.bind.annotation.Argument$BindingMechanic$2</buildArg>
153-
<buildArg>--initialize-at-build-time=net.bytebuddy.utility.dispatcher.JavaDispatcher$DynamicClassLoader</buildArg>
154-
<buildArg>--initialize-at-build-time=net.bytebuddy.description.method.MethodDescription$InDefinedShape$AbstractBase$ForLoadedExecutable</buildArg>
155-
<buildArg>--initialize-at-build-time=net.bytebuddy.description.type.TypeDescription$AbstractBase</buildArg>
156-
<buildArg>--initialize-at-build-time=net.bytebuddy.description.type.TypeDescription$ForLoadedType</buildArg>
157-
<buildArg>--initialize-at-build-time=net.bytebuddy.description.method.MethodDescription$ForLoadedMethod</buildArg>
158-
<buildArg>--initialize-at-build-time=net.bytebuddy.implementation.bind.annotation.Super$Instantiation$2</buildArg>
159-
<buildArg>
160-
--trace-class-initialization=net.bytebuddy.description.type.TypeDescription$ForLoadedType,net.bytebuddy.description.method.MethodDescription$ForLoadedMethod,net.bytebuddy.description.method.MethodDescription$InDefinedShape$AbstractBase$ForLoadedExecutable
161-
</buildArg>
162153
<buildArg>--verbose</buildArg>
163154
<buildArg>--native-image-info</buildArg>
164155
<buildArg>-H:+UnlockExperimentalVMOptions</buildArg>
165156
<buildArg>-H:Log=registerResource:5</buildArg>
157+
<buildArg>-H:+ReportExceptionStackTraces</buildArg>
166158
</buildArgs>
167159
</configuration>
168160
</plugin>

powertools-parameters/powertools-parameters-appconfig/src/test/java/software/amazon/lambda/powertools/parameters/appconfig/AppConfigParamAspectTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import static org.assertj.core.api.Assertions.assertThat;
1919

2020
import java.util.function.BiFunction;
21+
2122
import org.junit.jupiter.api.Test;
2223
import org.mockito.Mockito;
2324

powertools-parameters/powertools-parameters-appconfig/src/test/java/software/amazon/lambda/powertools/parameters/appconfig/AppConfigProviderTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,16 @@
1818
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
1919
import static org.assertj.core.api.Assertions.assertThatRuntimeException;
2020
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
21-
import static org.mockito.MockitoAnnotations.openMocks;
2221
import static software.amazon.lambda.powertools.parameters.transform.Transformer.json;
2322

2423
import org.junit.jupiter.api.BeforeEach;
2524
import org.junit.jupiter.api.Test;
25+
import org.junit.jupiter.api.extension.ExtendWith;
2626
import org.mockito.ArgumentCaptor;
2727
import org.mockito.Captor;
2828
import org.mockito.Mock;
2929
import org.mockito.Mockito;
30+
import org.mockito.junit.jupiter.MockitoExtension;
3031

3132
import software.amazon.awssdk.core.SdkBytes;
3233
import software.amazon.awssdk.services.appconfigdata.AppConfigDataClient;
@@ -37,6 +38,7 @@
3738
import software.amazon.lambda.powertools.parameters.cache.CacheManager;
3839
import software.amazon.lambda.powertools.parameters.transform.TransformationManager;
3940

41+
@ExtendWith(MockitoExtension.class)
4042
class AppConfigProviderTest {
4143

4244
private static final String ENVIRONMENT_NAME = "test";
@@ -55,8 +57,6 @@ class AppConfigProviderTest {
5557

5658
@BeforeEach
5759
void init() {
58-
openMocks(this);
59-
6060
provider = AppConfigProvider.builder()
6161
.withClient(client)
6262
.withApplication(APPLICATION_NAME)

0 commit comments

Comments
 (0)