Skip to content

Commit f223db8

Browse files
committed
Add back Mockito to powertools-common.
1 parent bc01dbc commit f223db8

File tree

7 files changed

+41
-211
lines changed

7 files changed

+41
-211
lines changed

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,8 @@
113113
<aws.sdk.v1.version>1.12.781</aws.sdk.v1.version>
114114
<versions-maven-plugin.version>2.18.0</versions-maven-plugin.version>
115115
<elastic.version>1.7.0</elastic.version>
116-
<mockito.version>5.19.0</mockito.version>
117-
<mockito-junit-jupiter.version>5.19.0</mockito-junit-jupiter.version>
116+
<mockito.version>5.19.1-SNAPSHOT</mockito.version>
117+
<mockito-junit-jupiter.version>5.19.1-SNAPSHOT</mockito-junit-jupiter.version>
118118
<junit-pioneer.version>2.3.0</junit-pioneer.version>
119119
<crac.version>1.5.0</crac.version>
120120

powertools-common/pom.xml

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,22 @@
8181
<artifactId>slf4j-simple</artifactId>
8282
<scope>test</scope>
8383
</dependency>
84+
<dependency>
85+
<groupId>org.mockito</groupId>
86+
<artifactId>mockito-core</artifactId>
87+
<scope>test</scope>
88+
</dependency>
8489
</dependencies>
8590
<profiles>
8691
<profile>
8792
<id>generate-graalvm-files</id>
93+
<dependencies>
94+
<dependency>
95+
<groupId>org.mockito</groupId>
96+
<artifactId>mockito-subclass</artifactId>
97+
<scope>test</scope>
98+
</dependency>
99+
</dependencies>
88100
<build>
89101
<plugins>
90102
<plugin>
@@ -104,6 +116,13 @@
104116
</profile>
105117
<profile>
106118
<id>graalvm-native</id>
119+
<dependencies>
120+
<dependency>
121+
<groupId>org.mockito</groupId>
122+
<artifactId>mockito-subclass</artifactId>
123+
<scope>test</scope>
124+
</dependency>
125+
</dependencies>
107126
<build>
108127
<plugins>
109128
<plugin>
@@ -126,16 +145,11 @@
126145
<buildArg>--add-opens java.base/java.util=ALL-UNNAMED</buildArg>
127146
<buildArg>--add-opens java.base/java.lang=ALL-UNNAMED</buildArg>
128147
<buildArg>--no-fallback</buildArg>
129-
<buildArg>-Dorg.graalvm.nativeimage.imagecode=agent</buildArg>
130-
<buildArg>--initialize-at-build-time=org.slf4j.simple.SimpleLogger</buildArg>
131-
<buildArg>--initialize-at-build-time=org.slf4j.LoggerFactory</buildArg>
132-
<buildArg>--initialize-at-build-time=org.junit.Ignore</buildArg>
133-
<buildArg>--initialize-at-build-time=java.lang.annotation.Annotation</buildArg>
134-
<buildArg>--initialize-at-build-time=org.junit.runners.model.FrameworkField</buildArg>
135148
<buildArg>--verbose</buildArg>
136149
<buildArg>--native-image-info</buildArg>
137150
<buildArg>-H:+UnlockExperimentalVMOptions</buildArg>
138151
<buildArg>-H:Log=registerResource:5</buildArg>
152+
<buildArg>-H:+ReportExceptionStackTraces</buildArg>
139153
</buildArgs>
140154
</configuration>
141155
</plugin>

powertools-common/src/test/java/software/amazon/lambda/powertools/common/internal/LambdaHandlerProcessorTest.java

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,15 @@
1616

1717
import static org.assertj.core.api.Assertions.assertThat;
1818
import static org.junit.jupiter.api.Assertions.assertNotNull;
19+
import static org.mockito.Mockito.mock;
20+
import static org.mockito.Mockito.when;
1921

22+
import java.io.InputStream;
23+
import java.io.OutputStream;
2024
import java.util.Optional;
2125

2226
import org.aspectj.lang.ProceedingJoinPoint;
27+
import org.aspectj.lang.Signature;
2328
import org.junit.jupiter.api.Test;
2429
import org.junitpioneer.jupiter.ClearEnvironmentVariable;
2530
import org.junitpioneer.jupiter.SetEnvironmentVariable;
@@ -29,10 +34,6 @@
2934
import com.amazonaws.services.lambda.runtime.RequestStreamHandler;
3035

3136
import software.amazon.lambda.powertools.common.stubs.TestLambdaContext;
32-
import software.amazon.lambda.powertools.common.stubs.TestInputStream;
33-
import software.amazon.lambda.powertools.common.stubs.TestOutputStream;
34-
import software.amazon.lambda.powertools.common.stubs.TestProceedingJoinPoint;
35-
import software.amazon.lambda.powertools.common.stubs.TestSignature;
3637

3738
class LambdaHandlerProcessorTest {
3839

@@ -47,7 +48,7 @@ void isHandlerMethod_shouldRecognizeRequestHandler() {
4748

4849
@Test
4950
void isHandlerMethod_shouldRecognizeRequestStreamHandler() {
50-
Object[] args = { new TestInputStream(), new TestOutputStream(), new TestLambdaContext() };
51+
Object[] args = { mock(InputStream.class), mock(OutputStream.class), new TestLambdaContext() };
5152
ProceedingJoinPoint pjpMock = mockRequestHandlerPjp(RequestStreamHandler.class, args);
5253

5354
assertThat(LambdaHandlerProcessor.isHandlerMethod(pjpMock)).isTrue();
@@ -72,7 +73,7 @@ void placedOnRequestHandler_shouldRecognizeRequestHandler() {
7273

7374
@Test
7475
void placedOnStreamHandler_shouldRecognizeRequestStreamHandler() {
75-
Object[] args = { new TestInputStream(), new TestOutputStream(), new TestLambdaContext() };
76+
Object[] args = { mock(InputStream.class), mock(OutputStream.class), new TestLambdaContext() };
7677
ProceedingJoinPoint pjpMock = mockRequestHandlerPjp(RequestStreamHandler.class, args);
7778

7879
assertThat(LambdaHandlerProcessor.placedOnStreamHandler(pjpMock)).isTrue();
@@ -120,7 +121,7 @@ void placedOnStreamHandler_shouldInvalidateOnWrongTypeOfArgs() {
120121

121122
@Test
122123
void placedOnStreamHandler_shouldInvalidateOnTypeOfArgs_invalidOutputStreamArg() {
123-
Object[] args = { new TestInputStream(), new Object(), new TestLambdaContext() };
124+
Object[] args = { mock(InputStream.class), new Object(), new TestLambdaContext() };
124125
ProceedingJoinPoint pjpMock = mockRequestHandlerPjp(RequestStreamHandler.class, args);
125126

126127
boolean isPlacedOnStreamHandler = LambdaHandlerProcessor.placedOnStreamHandler(pjpMock);
@@ -130,7 +131,7 @@ void placedOnStreamHandler_shouldInvalidateOnTypeOfArgs_invalidOutputStreamArg()
130131

131132
@Test
132133
void placedOnStreamHandler_shouldInvalidateOnTypeOfArgs_invalidContextArg() {
133-
Object[] args = { new TestInputStream(), new TestOutputStream(), new Object() };
134+
Object[] args = { mock(InputStream.class), mock(OutputStream.class), new Object() };
134135
ProceedingJoinPoint pjpMock = mockRequestHandlerPjp(RequestStreamHandler.class, args);
135136

136137
boolean isPlacedOnStreamHandler = LambdaHandlerProcessor.placedOnStreamHandler(pjpMock);
@@ -170,7 +171,7 @@ void extractContext_fromRequestHandler() {
170171

171172
@Test
172173
void extractContext_fromStreamRequestHandler() {
173-
Object[] args = { new TestInputStream(), new TestOutputStream(), new TestLambdaContext() };
174+
Object[] args = { mock(InputStream.class), mock(OutputStream.class), new TestLambdaContext() };
174175
ProceedingJoinPoint pjpMock = mockRequestHandlerPjp(RequestStreamHandler.class, args);
175176

176177
Context context = LambdaHandlerProcessor.extractContext(pjpMock);
@@ -230,7 +231,14 @@ void serviceName_Undefined() {
230231
}
231232

232233
private ProceedingJoinPoint mockRequestHandlerPjp(Class<?> handlerClass, Object[] handlerArgs) {
233-
TestSignature signature = new TestSignature(handlerClass);
234-
return new TestProceedingJoinPoint(signature, handlerArgs);
234+
ProceedingJoinPoint pjp = mock(ProceedingJoinPoint.class);
235+
Signature signature = mock(Signature.class);
236+
237+
when(signature.getDeclaringType()).thenReturn(handlerClass);
238+
when(signature.getName()).thenReturn("handleRequest");
239+
when(pjp.getSignature()).thenReturn(signature);
240+
when(pjp.getArgs()).thenReturn(handlerArgs);
241+
242+
return pjp;
235243
}
236244
}

powertools-common/src/test/java/software/amazon/lambda/powertools/common/stubs/TestInputStream.java

Lines changed: 0 additions & 24 deletions
This file was deleted.

powertools-common/src/test/java/software/amazon/lambda/powertools/common/stubs/TestOutputStream.java

Lines changed: 0 additions & 23 deletions
This file was deleted.

powertools-common/src/test/java/software/amazon/lambda/powertools/common/stubs/TestProceedingJoinPoint.java

Lines changed: 0 additions & 90 deletions
This file was deleted.

powertools-common/src/test/java/software/amazon/lambda/powertools/common/stubs/TestSignature.java

Lines changed: 0 additions & 55 deletions
This file was deleted.

0 commit comments

Comments
 (0)