Skip to content

Commit 62d7ae5

Browse files
ADU-21Luke Du
and
Luke Du
authored
Upgrade Junit4 to 5 (#23)
Co-authored-by: Luke Du <[email protected]>
1 parent 4dbb1c8 commit 62d7ae5

File tree

6 files changed

+73
-86
lines changed

6 files changed

+73
-86
lines changed

.github/dependabot.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "maven"
4+
directory: "/"
5+
schedule:
6+
interval: "weekly"
7+
- package-ecosystem: "github-actions"
8+
directory: "/"
9+
schedule:
10+
interval: "weekly"

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ You can download release builds through the [releases section of this](https://g
2323
<dependency>
2424
<groupId>software.amazon.payloadoffloading</groupId>
2525
<artifactId>payloadoffloading-common</artifactId>
26-
<version>1.1.2</version>
26+
<version>1.1.3</version>
2727
<type>jar</type>
2828
</dependency>
2929
```

pom.xml

Lines changed: 15 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>software.amazon.payloadoffloading</groupId>
88
<artifactId>payloadoffloading-common</artifactId>
9-
<version>1.1.2</version>
9+
<version>1.1.3</version>
1010
<packaging>jar</packaging>
1111
<name>Payload offloading common library for AWS</name>
1212
<description>Common library between extended Amazon AWS clients to save payloads up to 2GB on Amazon S3.</description>
@@ -46,27 +46,15 @@
4646
<version>${aws-java-sdk.version}</version>
4747
</dependency>
4848
<dependency>
49-
<groupId>junit</groupId>
50-
<artifactId>junit</artifactId>
51-
<version>4.12</version>
49+
<groupId>org.junit.jupiter</groupId>
50+
<artifactId>junit-jupiter</artifactId>
51+
<version>5.9.2</version>
5252
<scope>test</scope>
5353
</dependency>
5454
<dependency>
5555
<groupId>org.mockito</groupId>
5656
<artifactId>mockito-core</artifactId>
57-
<version>3.3.3</version>
58-
<scope>test</scope>
59-
</dependency>
60-
<dependency>
61-
<groupId>org.hamcrest</groupId>
62-
<artifactId>hamcrest-all</artifactId>
63-
<version>1.3</version>
64-
<scope>test</scope>
65-
</dependency>
66-
<dependency>
67-
<groupId>pl.pragmatists</groupId>
68-
<artifactId>JUnitParams</artifactId>
69-
<version>1.1.1</version>
57+
<version>5.2.0</version>
7058
<scope>test</scope>
7159
</dependency>
7260
</dependencies>
@@ -77,7 +65,7 @@
7765
<plugin>
7866
<groupId>org.apache.maven.plugins</groupId>
7967
<artifactId>maven-compiler-plugin</artifactId>
80-
<version>3.8.1</version>
68+
<version>3.11.0</version>
8169
<configuration>
8270
<source>1.8</source>
8371
<target>1.8</target>
@@ -100,30 +88,32 @@
10088
</execution>
10189
</executions>
10290
</plugin>
91+
<plugin>
92+
<groupId>org.apache.maven.plugins</groupId>
93+
<artifactId>maven-surefire-plugin</artifactId>
94+
<version>3.0.0</version>
95+
</plugin>
10396
<plugin>
10497
<groupId>org.apache.maven.plugins</groupId>
10598
<artifactId>maven-javadoc-plugin</artifactId>
106-
<version>2.9.1</version>
99+
<version>3.5.0</version>
107100
<executions>
108101
<execution>
109102
<id>attach-javadocs</id>
110103
<goals>
111104
<goal>jar</goal>
112105
</goals>
113106
<configuration>
114-
<!--
115-
TODO-RS: Java 8 is more strict about some javadoc tags.
116-
We'll need to update quite a few to remove this workaround.
117-
-->
118-
<additionalparam>-Xdoclint:none</additionalparam>
107+
<source>8</source>
108+
<doclint>none</doclint>
119109
</configuration>
120110
</execution>
121111
</executions>
122112
</plugin>
123113
<plugin>
124114
<groupId>org.sonatype.plugins</groupId>
125115
<artifactId>nexus-staging-maven-plugin</artifactId>
126-
<version>1.6.7</version>
116+
<version>1.6.13</version>
127117
<extensions>true</extensions>
128118
<configuration>
129119
<serverId>ossrh</serverId>

src/test/java/software/amazon/payloadoffloading/PayloadStorageConfigurationTest.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,16 @@
33
import com.amazonaws.services.s3.AmazonS3;
44
import com.amazonaws.services.s3.model.CannedAccessControlList;
55
import com.amazonaws.services.s3.model.SSEAwsKeyManagementParams;
6-
import org.junit.Before;
7-
import org.junit.Test;
8-
6+
import org.junit.jupiter.api.BeforeEach;
7+
import org.junit.jupiter.api.Test;
8+
9+
import static org.junit.jupiter.api.Assertions.assertEquals;
10+
import static org.junit.jupiter.api.Assertions.assertFalse;
11+
import static org.junit.jupiter.api.Assertions.assertNotNull;
12+
import static org.junit.jupiter.api.Assertions.assertNotSame;
13+
import static org.junit.jupiter.api.Assertions.assertNull;
14+
import static org.junit.jupiter.api.Assertions.assertTrue;
915
import static org.mockito.Mockito.mock;
10-
import static org.junit.Assert.*;
1116

1217
/**
1318
* Tests the PayloadStorageConfiguration class.
@@ -19,7 +24,7 @@ public class PayloadStorageConfigurationTest {
1924
private SSEAwsKeyManagementParams sseAwsKeyManagementParams;
2025
private CannedAccessControlList cannedAccessControlList;
2126

22-
@Before
27+
@BeforeEach
2328
public void setup() {
2429
sseAwsKeyManagementParams = new SSEAwsKeyManagementParams(s3ServerSideEncryptionKMSKeyId);
2530
cannedAccessControlList = CannedAccessControlList.BucketOwnerFullControl;
@@ -54,7 +59,7 @@ public void testCopyConstructor() {
5459

5560
@Test
5661
public void testPayloadSupportEnabled() {
57-
AmazonS3 s3 = mock(AmazonS3.class);
62+
AmazonS3 s3 = mock(AmazonS3.class);
5863
PayloadStorageConfiguration payloadStorageConfiguration = new PayloadStorageConfiguration();
5964
payloadStorageConfiguration.setPayloadSupportEnabled(s3, s3BucketName);
6065

@@ -91,7 +96,7 @@ public void testSseAwsKeyManagementParams() {
9196

9297
payloadStorageConfiguration.setSSEAwsKeyManagementParams(sseAwsKeyManagementParams);
9398
assertEquals(s3ServerSideEncryptionKMSKeyId, payloadStorageConfiguration.getSSEAwsKeyManagementParams()
94-
.getAwsKmsKeyId());
99+
.getAwsKmsKeyId());
95100
}
96101

97102
@Test

src/test/java/software/amazon/payloadoffloading/S3BackedPayloadStoreTest.java

Lines changed: 27 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,22 @@
33
import com.amazonaws.AmazonClientException;
44
import com.amazonaws.services.s3.model.CannedAccessControlList;
55
import com.amazonaws.services.s3.model.SSEAwsKeyManagementParams;
6-
import junitparams.JUnitParamsRunner;
7-
import org.hamcrest.Matchers;
8-
import org.junit.Before;
9-
import org.junit.Rule;
10-
import org.junit.Test;
11-
import org.junit.rules.ExpectedException;
12-
import org.junit.runner.RunWith;
6+
import org.junit.jupiter.api.BeforeEach;
7+
import org.junit.jupiter.api.Test;
138
import org.mockito.ArgumentCaptor;
149

15-
import static org.junit.Assert.*;
16-
import static org.mockito.Mockito.*;
10+
import static org.junit.jupiter.api.Assertions.assertEquals;
11+
import static org.junit.jupiter.api.Assertions.assertNotEquals;
12+
import static org.junit.jupiter.api.Assertions.assertThrows;
13+
import static org.mockito.Mockito.any;
14+
import static org.mockito.Mockito.doThrow;
15+
import static org.mockito.Mockito.eq;
16+
import static org.mockito.Mockito.mock;
17+
import static org.mockito.Mockito.times;
18+
import static org.mockito.Mockito.verify;
19+
import static org.mockito.Mockito.verifyNoInteractions;
20+
import static org.mockito.Mockito.when;
1721

18-
@RunWith(JUnitParamsRunner.class)
1922
public class S3BackedPayloadStoreTest {
2023
private static final String S3_BUCKET_NAME = "test-bucket-name";
2124
private static final String S3_SERVER_SIDE_ENCRYPTION_KMS_KEY_ID = "test-customer-managed-kms-key-id";
@@ -26,10 +29,8 @@ public class S3BackedPayloadStoreTest {
2629
private PayloadStore payloadStore;
2730
private S3Dao s3Dao;
2831

29-
@Rule
30-
public final ExpectedException exception = ExpectedException.none();
3132

32-
@Before
33+
@BeforeEach
3334
public void setup() {
3435
s3Dao = mock(S3Dao.class);
3536
payloadStore = new S3BackedPayloadStore(s3Dao, S3_BUCKET_NAME);
@@ -43,8 +44,7 @@ public void testStoreOriginalPayloadOnSuccess() {
4344
ArgumentCaptor<SSEAwsKeyManagementParams> sseArgsCaptor = ArgumentCaptor.forClass(SSEAwsKeyManagementParams.class);
4445
ArgumentCaptor<CannedAccessControlList> cannedArgsCaptor = ArgumentCaptor.forClass(CannedAccessControlList.class);
4546

46-
verify(s3Dao, times(1)).storeTextInS3(eq(S3_BUCKET_NAME), keyCaptor.capture(),
47-
eq(ANY_PAYLOAD), eq(ANY_PAYLOAD_LENGTH));
47+
verify(s3Dao, times(1)).storeTextInS3(eq(S3_BUCKET_NAME), keyCaptor.capture(), eq(ANY_PAYLOAD), eq(ANY_PAYLOAD_LENGTH));
4848

4949
PayloadS3Pointer expectedPayloadPointer = new PayloadS3Pointer(S3_BUCKET_NAME, keyCaptor.getValue());
5050
assertEquals(expectedPayloadPointer.toJson(), actualPayloadPointer);
@@ -54,8 +54,7 @@ public void testStoreOriginalPayloadOnSuccess() {
5454
public void testStoreOriginalPayloadWithS3KeyOnSuccess() {
5555
String actualPayloadPointer = payloadStore.storeOriginalPayload(ANY_PAYLOAD, ANY_PAYLOAD_LENGTH, ANY_S3_KEY);
5656

57-
verify(s3Dao, times(1)).storeTextInS3(eq(S3_BUCKET_NAME), eq(ANY_S3_KEY),
58-
eq(ANY_PAYLOAD), eq(ANY_PAYLOAD_LENGTH));
57+
verify(s3Dao, times(1)).storeTextInS3(eq(S3_BUCKET_NAME), eq(ANY_S3_KEY), eq(ANY_PAYLOAD), eq(ANY_PAYLOAD_LENGTH));
5958

6059
PayloadS3Pointer expectedPayloadPointer = new PayloadS3Pointer(S3_BUCKET_NAME, ANY_S3_KEY);
6160
assertEquals(expectedPayloadPointer.toJson(), actualPayloadPointer);
@@ -64,17 +63,14 @@ public void testStoreOriginalPayloadWithS3KeyOnSuccess() {
6463
@Test
6564
public void testStoreOriginalPayloadDoesAlwaysCreateNewObjects() {
6665
//Store any payload
67-
String anyActualPayloadPointer = payloadStore
68-
.storeOriginalPayload(ANY_PAYLOAD, ANY_PAYLOAD_LENGTH);
66+
String anyActualPayloadPointer = payloadStore.storeOriginalPayload(ANY_PAYLOAD, ANY_PAYLOAD_LENGTH);
6967

7068
//Store any other payload and validate that the pointers are different
71-
String anyOtherActualPayloadPointer = payloadStore
72-
.storeOriginalPayload(ANY_PAYLOAD, ANY_PAYLOAD_LENGTH);
69+
String anyOtherActualPayloadPointer = payloadStore.storeOriginalPayload(ANY_PAYLOAD, ANY_PAYLOAD_LENGTH);
7370

7471
ArgumentCaptor<String> anyOtherKeyCaptor = ArgumentCaptor.forClass(String.class);
7572

76-
verify(s3Dao, times(2)).storeTextInS3(eq(S3_BUCKET_NAME), anyOtherKeyCaptor.capture(),
77-
eq(ANY_PAYLOAD), eq(ANY_PAYLOAD_LENGTH));
73+
verify(s3Dao, times(2)).storeTextInS3(eq(S3_BUCKET_NAME), anyOtherKeyCaptor.capture(), eq(ANY_PAYLOAD), eq(ANY_PAYLOAD_LENGTH));
7874

7975
String anyS3Key = anyOtherKeyCaptor.getAllValues().get(0);
8076
String anyOtherS3Key = anyOtherKeyCaptor.getAllValues().get(1);
@@ -85,24 +81,16 @@ public void testStoreOriginalPayloadDoesAlwaysCreateNewObjects() {
8581
PayloadS3Pointer anyOtherExpectedPayloadPointer = new PayloadS3Pointer(S3_BUCKET_NAME, anyOtherS3Key);
8682
assertEquals(anyOtherExpectedPayloadPointer.toJson(), anyOtherActualPayloadPointer);
8783

88-
assertThat(anyS3Key, Matchers.not(anyOtherS3Key));
89-
assertThat(anyActualPayloadPointer, Matchers.not(anyOtherActualPayloadPointer));
84+
assertNotEquals(anyS3Key, anyOtherS3Key);
85+
assertNotEquals(anyActualPayloadPointer, anyOtherActualPayloadPointer);
9086
}
9187

9288
@Test
9389
public void testStoreOriginalPayloadOnS3Failure() {
94-
doThrow(new AmazonClientException("S3 Exception"))
95-
.when(s3Dao)
96-
.storeTextInS3(
97-
any(String.class),
98-
any(String.class),
99-
any(String.class),
100-
any(Long.class));
101-
102-
exception.expect(AmazonClientException.class);
103-
exception.expectMessage("S3 Exception");
90+
doThrow(new AmazonClientException("S3 Exception")).when(s3Dao).storeTextInS3(any(String.class), any(String.class), any(String.class), any(Long.class));
91+
10492
//Any S3 Dao exception is thrown back as-is to clients
105-
payloadStore.storeOriginalPayload(ANY_PAYLOAD, ANY_PAYLOAD_LENGTH);
93+
assertThrows(AmazonClientException.class, () -> payloadStore.storeOriginalPayload(ANY_PAYLOAD, ANY_PAYLOAD_LENGTH), "S3 Exception");
10694
}
10795

10896
@Test
@@ -122,21 +110,17 @@ public void testGetOriginalPayloadOnSuccess() {
122110

123111
@Test
124112
public void testGetOriginalPayloadIncorrectPointer() {
125-
exception.expect(AmazonClientException.class);
126-
exception.expectMessage(INCORRECT_POINTER_EXCEPTION_MSG);
127113
//Any S3 Dao exception is thrown back as-is to clients
128-
payloadStore.getOriginalPayload("IncorrectPointer");
114+
assertThrows(AmazonClientException.class, () -> payloadStore.getOriginalPayload("IncorrectPointer"), INCORRECT_POINTER_EXCEPTION_MSG);
129115
verifyNoInteractions(s3Dao);
130116
}
131117

132118
@Test
133119
public void testGetOriginalPayloadOnS3Failure() {
134120
when(s3Dao.getTextFromS3(any(String.class), any(String.class))).thenThrow(new AmazonClientException("S3 Exception"));
135-
exception.expect(AmazonClientException.class);
136-
exception.expectMessage("S3 Exception");
137121
//Any S3 Dao exception is thrown back as-is to clients
138122
PayloadS3Pointer anyPointer = new PayloadS3Pointer(S3_BUCKET_NAME, ANY_S3_KEY);
139-
payloadStore.getOriginalPayload(anyPointer.toJson());
123+
assertThrows(AmazonClientException.class, () -> payloadStore.getOriginalPayload(anyPointer.toJson()), "S3 Exception");
140124
}
141125

142126
@Test
@@ -154,9 +138,7 @@ public void testDeleteOriginalPayloadOnSuccess() {
154138

155139
@Test
156140
public void testDeleteOriginalPayloadIncorrectPointer() {
157-
exception.expect(AmazonClientException.class);
158-
exception.expectMessage(INCORRECT_POINTER_EXCEPTION_MSG);
159-
payloadStore.deleteOriginalPayload("IncorrectPointer");
141+
assertThrows(AmazonClientException.class, () -> payloadStore.deleteOriginalPayload("IncorrectPointer"), INCORRECT_POINTER_EXCEPTION_MSG);
160142
verifyNoInteractions(s3Dao);
161143
}
162144
}

src/test/java/software/amazon/payloadoffloading/S3DaoTest.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@
44
import com.amazonaws.services.s3.model.CannedAccessControlList;
55
import com.amazonaws.services.s3.model.PutObjectRequest;
66
import com.amazonaws.services.s3.model.SSEAwsKeyManagementParams;
7-
import junitparams.JUnitParamsRunner;
8-
import org.junit.Before;
9-
import org.junit.Test;
10-
import org.junit.runner.RunWith;
7+
import org.junit.jupiter.api.BeforeEach;
8+
import org.junit.jupiter.api.Test;
119
import org.mockito.ArgumentCaptor;
1210

13-
import static org.junit.Assert.*;
14-
import static org.mockito.Mockito.*;
11+
import static org.junit.jupiter.api.Assertions.assertEquals;
12+
import static org.junit.jupiter.api.Assertions.assertNull;
13+
import static org.mockito.Mockito.mock;
14+
import static org.mockito.Mockito.times;
15+
import static org.mockito.Mockito.verify;
1516

16-
@RunWith(JUnitParamsRunner.class)
1717
public class S3DaoTest {
1818

1919
private static String s3ServerSideEncryptionKMSKeyId = "test-customer-managed-kms-key-id";
@@ -26,7 +26,7 @@ public class S3DaoTest {
2626
private AmazonS3 s3Client;
2727
private S3Dao dao;
2828

29-
@Before
29+
@BeforeEach
3030
public void setup() {
3131
s3Client = mock(AmazonS3.class);
3232
sseAwsKeyManagementParams = new SSEAwsKeyManagementParams(s3ServerSideEncryptionKMSKeyId);

0 commit comments

Comments
 (0)