Skip to content

Commit 2448acc

Browse files
authored
Use JUnit 5 Parameterized Test (#319)
1 parent 26e2ff7 commit 2448acc

File tree

2 files changed

+44
-167
lines changed

2 files changed

+44
-167
lines changed

aws-lambda-java-serialization/pom.xml

+7-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,13 @@
5555
<dependency>
5656
<groupId>org.junit.jupiter</groupId>
5757
<artifactId>junit-jupiter-engine</artifactId>
58-
<version>5.7.0</version>
58+
<version>5.8.2</version>
59+
<scope>test</scope>
60+
</dependency>
61+
<dependency>
62+
<groupId>org.junit.jupiter</groupId>
63+
<artifactId>junit-jupiter-params</artifactId>
64+
<version>5.8.2</version>
5965
<scope>test</scope>
6066
</dependency>
6167
<dependency>

aws-lambda-java-serialization/src/test/java/com/amazonaws/services/lambda/runtime/serialization/events/LambdaEventSerializersTest.java

+37-166
Original file line numberDiff line numberDiff line change
@@ -6,186 +6,58 @@
66
import com.amazonaws.services.lambda.runtime.serialization.PojoSerializer;
77
import com.fasterxml.jackson.databind.ObjectMapper;
88
import org.junit.jupiter.api.Test;
9+
import org.junit.jupiter.params.ParameterizedTest;
10+
import org.junit.jupiter.params.provider.Arguments;
11+
import org.junit.jupiter.params.provider.MethodSource;
912

1013
import java.io.ByteArrayOutputStream;
1114
import java.io.IOException;
1215
import java.nio.charset.StandardCharsets;
1316
import java.nio.file.Files;
1417
import java.nio.file.Path;
1518
import java.nio.file.Paths;
19+
import java.util.stream.Stream;
1620

1721
import static org.junit.jupiter.api.Assertions.assertEquals;
1822

19-
2023
public class LambdaEventSerializersTest {
2124

2225
private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
2326
public static final ClassLoader SYSTEM_CLASS_LOADER = ClassLoader.getSystemClassLoader();
2427

25-
@Test
26-
public void testAPIGatewayProxyRequestEvent() throws IOException {
27-
String expected = readEvent("api_gateway_proxy_request_event.json");
28-
String actual = deserializeSerializeJsonToString(expected, APIGatewayProxyRequestEvent.class);
29-
30-
assertJsonEqual(expected, actual);
31-
}
32-
33-
@Test
34-
public void testAPIGatewayProxyResponseEvent() throws IOException {
35-
String expected = readEvent("api_gateway_proxy_response_event.json");
36-
String actual = deserializeSerializeJsonToString(expected, APIGatewayProxyResponseEvent.class);
37-
38-
assertJsonEqual(expected, actual);
39-
}
40-
41-
@Test
42-
public void testCloudFrontEvent() throws IOException {
43-
String expected = readEvent("cloud_front_event.json");
44-
String actual = deserializeSerializeJsonToString(expected, CloudFrontEvent.class);
45-
46-
assertJsonEqual(expected, actual);
47-
}
48-
49-
@Test
50-
public void testCloudWatchLogsEvent() throws IOException {
51-
String expected = readEvent("cloud_watch_logs_event.json");
52-
String actual = deserializeSerializeJsonToString(expected, CloudWatchLogsEvent.class);
53-
54-
assertJsonEqual(expected, actual);
55-
}
56-
57-
@Test
58-
public void testCodeCommitEvent() throws IOException {
59-
String expected = readEvent("code_commit_event.json");
60-
String actual = deserializeSerializeJsonToString(expected, CodeCommitEvent.class);
61-
62-
assertJsonEqual(expected, actual);
63-
}
64-
65-
@Test
66-
public void testCognitoEvent() throws IOException {
67-
String expected = readEvent("cognito_event.json");
68-
String actual = deserializeSerializeJsonToString(expected, CognitoEvent.class);
69-
70-
assertJsonEqual(expected, actual);
71-
}
72-
73-
@Test
74-
public void testConfigEvent() throws IOException {
75-
String expected = readEvent("config_event.json");
76-
String actual = deserializeSerializeJsonToString(expected, ConfigEvent.class);
77-
78-
assertJsonEqual(expected, actual);
79-
}
80-
81-
@Test
82-
public void testDynamodbEvent() throws IOException {
83-
String expected = readEvent("dynamodb_event.json");
84-
String actual = deserializeSerializeJsonToString(expected, DynamodbEvent.class);
85-
86-
assertJsonEqual(expected, actual);
87-
}
88-
89-
@Test
90-
public void testIoTButtonEvent() throws IOException {
91-
String expected = readEvent("iot_button_event.json");
92-
String actual = deserializeSerializeJsonToString(expected, IoTButtonEvent.class);
93-
94-
assertJsonEqual(expected, actual);
95-
}
96-
97-
@Test
98-
public void testKinesisAnalyticsFirehoseInputPreprocessingEvent() throws IOException {
99-
String expected = readEvent("kinesis_analytics_firehose_input_preprocessing_event.json");
100-
String actual = deserializeSerializeJsonToString(expected, KinesisAnalyticsFirehoseInputPreprocessingEvent.class);
101-
102-
assertJsonEqual(expected, actual);
103-
}
104-
105-
@Test
106-
public void testKinesisAnalyticsInputPreprocessingResponse() throws IOException {
107-
String expected = readEvent("kinesis_analytics_input_preprocessing_response_event.json");
108-
String actual = deserializeSerializeJsonToString(expected, KinesisAnalyticsInputPreprocessingResponse.class);
109-
110-
assertJsonEqual(expected, actual);
111-
}
112-
113-
@Test
114-
public void testKinesisAnalyticsOutputDeliveryEvent() throws IOException {
115-
String expected = readEvent("kinesis_analytics_output_delivery_event.json");
116-
String actual = deserializeSerializeJsonToString(expected, KinesisAnalyticsOutputDeliveryEvent.class);
117-
118-
assertJsonEqual(expected, actual);
119-
}
120-
121-
@Test
122-
public void testKinesisAnalyticsOutputDeliveryResponse() throws IOException {
123-
String expected = readEvent("kinesis_analytics_output_delivery_response_event.json");
124-
String actual = deserializeSerializeJsonToString(expected, KinesisAnalyticsOutputDeliveryResponse.class);
125-
126-
assertJsonEqual(expected, actual);
127-
}
128-
129-
@Test
130-
public void testKinesisAnalyticsStreamsInputPreprocessingEvent() throws IOException {
131-
String expected = readEvent("kinesis_analytics_streams_input_preprocessing_event.json");
132-
String actual = deserializeSerializeJsonToString(expected, KinesisAnalyticsStreamsInputPreprocessingEvent.class);
133-
134-
assertJsonEqual(expected, actual);
135-
}
136-
137-
@Test
138-
public void testKinesisEvent() throws IOException {
139-
String expected = readEvent("kinesis_event.json");
140-
String actual = deserializeSerializeJsonToString(expected, KinesisEvent.class);
141-
142-
assertJsonEqual(expected, actual);
143-
}
144-
145-
@Test
146-
public void testKinesisFirehoseEvent() throws IOException {
147-
String expected = readEvent("kinesis_firehose_event.json");
148-
String actual = deserializeSerializeJsonToString(expected, KinesisFirehoseEvent.class);
149-
150-
assertJsonEqual(expected, actual);
151-
}
152-
153-
@Test
154-
public void testLexEvent() throws IOException {
155-
String expected = readEvent("lex_event.json");
156-
String actual = deserializeSerializeJsonToString(expected, LexEvent.class);
157-
158-
assertJsonEqual(expected, actual);
159-
}
160-
161-
@Test
162-
public void testS3Event() throws IOException {
163-
String expected = readEvent("s3_event.json");
164-
String actual = deserializeSerializeJsonToString(expected, S3Event.class);
165-
166-
assertJsonEqual(expected, actual);
167-
}
168-
169-
@Test
170-
public void testScheduledEvent() throws IOException {
171-
String expected = readEvent("scheduled_event.json");
172-
String actual = deserializeSerializeJsonToString(expected, ScheduledEvent.class);
173-
174-
assertJsonEqual(expected, actual);
175-
}
176-
177-
@Test
178-
public void testSNSEvent() throws IOException {
179-
String expected = readEvent("sns_event.json");
180-
String actual = deserializeSerializeJsonToString(expected, SNSEvent.class);
181-
182-
assertJsonEqual(expected, actual);
183-
}
184-
185-
@Test
186-
public void testSQSEvent() throws IOException {
187-
String expected = readEvent("sqs_event.json");
188-
String actual = deserializeSerializeJsonToString(expected, SQSEvent.class);
28+
private static Stream<Arguments> serdeArguments() {
29+
return Stream.of(
30+
Arguments.of("api_gateway_proxy_request_event.json", APIGatewayProxyRequestEvent.class),
31+
Arguments.of("api_gateway_proxy_response_event.json", APIGatewayProxyResponseEvent.class),
32+
Arguments.of("cloud_front_event.json", CloudFrontEvent.class),
33+
Arguments.of("cloud_watch_logs_event.json", CloudWatchLogsEvent.class),
34+
Arguments.of("code_commit_event.json", CodeCommitEvent.class),
35+
Arguments.of("api_gateway_proxy_response_event.json", APIGatewayProxyResponseEvent.class),
36+
Arguments.of("cognito_event.json", CognitoEvent.class),
37+
Arguments.of("config_event.json", ConfigEvent.class),
38+
Arguments.of("dynamodb_event.json", DynamodbEvent.class),
39+
Arguments.of("iot_button_event.json", IoTButtonEvent.class),
40+
Arguments.of("kinesis_analytics_firehose_input_preprocessing_event.json", KinesisAnalyticsFirehoseInputPreprocessingEvent.class),
41+
Arguments.of("kinesis_analytics_input_preprocessing_response_event.json", KinesisAnalyticsInputPreprocessingResponse.class),
42+
Arguments.of("kinesis_analytics_output_delivery_event.json", KinesisAnalyticsOutputDeliveryEvent.class),
43+
Arguments.of("kinesis_analytics_output_delivery_response_event.json", KinesisAnalyticsOutputDeliveryResponse.class),
44+
Arguments.of("kinesis_analytics_streams_input_preprocessing_event.json", KinesisAnalyticsStreamsInputPreprocessingEvent.class),
45+
Arguments.of("kinesis_event.json", KinesisEvent.class),
46+
Arguments.of("kinesis_firehose_event.json", KinesisFirehoseEvent.class),
47+
Arguments.of("lex_event.json", LexEvent.class),
48+
Arguments.of("s3_event.json", S3Event.class),
49+
Arguments.of("scheduled_event.json", ScheduledEvent.class),
50+
Arguments.of("sns_event.json", SNSEvent.class),
51+
Arguments.of("sqs_event.json", SQSEvent.class)
52+
);
53+
}
54+
55+
@ParameterizedTest(name = "Serde {0} Event")
56+
@MethodSource("serdeArguments")
57+
public void testAPIGatewayProxyRequestEvent(final String json,
58+
final Class<?> eventClass) throws IOException {
59+
String expected = readEvent(json);
60+
String actual = deserializeSerializeJsonToString(expected, eventClass);
18961

19062
assertJsonEqual(expected, actual);
19163
}
@@ -213,5 +85,4 @@ private String bytesToString(byte[] bytes) {
21385
private void assertJsonEqual(String expected, String actual) throws IOException {
21486
assertEquals(OBJECT_MAPPER.readTree(expected), OBJECT_MAPPER.readTree(actual));
21587
}
216-
21788
}

0 commit comments

Comments
 (0)