Skip to content

Commit 8c59e59

Browse files
Upgrade depenedencies and minor refactoring (awslabs#20)
1 parent 7c826fc commit 8c59e59

File tree

8 files changed

+83
-73
lines changed

8 files changed

+83
-73
lines changed

.github/dependabot.yml

+10
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

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ You can download release builds through the [releases section of this](https://g
2424
<dependency>
2525
<groupId>software.amazon.payloadoffloading</groupId>
2626
<artifactId>payloadoffloading-common</artifactId>
27-
<version>2.1.2</version>
27+
<version>2.1.3</version>
2828
</dependency>
2929
```
3030

pom.xml

+24-25
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>2.1.2</version>
9+
<version>2.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>
@@ -36,7 +36,7 @@
3636
</developers>
3737

3838
<properties>
39-
<aws-java-sdk.version>2.16.73</aws-java-sdk.version>
39+
<aws-java-sdk.version>2.20.30</aws-java-sdk.version>
4040
</properties>
4141

4242
<dependencies>
@@ -50,29 +50,27 @@
5050
<artifactId>utils</artifactId>
5151
<version>${aws-java-sdk.version}</version>
5252
</dependency>
53-
5453
<dependency>
55-
<groupId>junit</groupId>
56-
<artifactId>junit</artifactId>
57-
<version>4.13.1</version>
58-
<scope>test</scope>
54+
<groupId>com.fasterxml.jackson.core</groupId>
55+
<artifactId>jackson-core</artifactId>
56+
<version>2.14.2</version>
5957
</dependency>
6058
<dependency>
61-
<groupId>org.mockito</groupId>
62-
<artifactId>mockito-core</artifactId>
63-
<version>3.3.3</version>
64-
<scope>test</scope>
59+
<groupId>com.fasterxml.jackson.core</groupId>
60+
<artifactId>jackson-databind</artifactId>
61+
<version>2.14.2</version>
6562
</dependency>
63+
6664
<dependency>
67-
<groupId>org.hamcrest</groupId>
68-
<artifactId>hamcrest-all</artifactId>
69-
<version>1.3</version>
65+
<groupId>org.junit.jupiter</groupId>
66+
<artifactId>junit-jupiter</artifactId>
67+
<version>5.9.2</version>
7068
<scope>test</scope>
7169
</dependency>
7270
<dependency>
73-
<groupId>pl.pragmatists</groupId>
74-
<artifactId>JUnitParams</artifactId>
75-
<version>1.1.1</version>
71+
<groupId>org.mockito</groupId>
72+
<artifactId>mockito-core</artifactId>
73+
<version>5.2.0</version>
7674
<scope>test</scope>
7775
</dependency>
7876
</dependencies>
@@ -83,7 +81,7 @@
8381
<plugin>
8482
<groupId>org.apache.maven.plugins</groupId>
8583
<artifactId>maven-compiler-plugin</artifactId>
86-
<version>3.8.1</version>
84+
<version>3.11.0</version>
8785
<configuration>
8886
<source>1.8</source>
8987
<target>1.8</target>
@@ -106,31 +104,32 @@
106104
</execution>
107105
</executions>
108106
</plugin>
107+
<plugin>
108+
<groupId>org.apache.maven.plugins</groupId>
109+
<artifactId>maven-surefire-plugin</artifactId>
110+
<version>3.0.0</version>
111+
</plugin>
109112
<plugin>
110113
<groupId>org.apache.maven.plugins</groupId>
111114
<artifactId>maven-javadoc-plugin</artifactId>
112-
<version>2.9.1</version>
115+
<version>3.5.0</version>
113116
<executions>
114117
<execution>
115118
<id>attach-javadocs</id>
116119
<goals>
117120
<goal>jar</goal>
118121
</goals>
119122
<configuration>
120-
<!--
121-
TODO-RS: Java 8 is more strict about some javadoc tags.
122-
We'll need to update quite a few to remove this workaround.
123-
-->
124123
<source>8</source>
125-
<additionalparam>-Xdoclint:none</additionalparam>
124+
<doclint>none</doclint>
126125
</configuration>
127126
</execution>
128127
</executions>
129128
</plugin>
130129
<plugin>
131130
<groupId>org.sonatype.plugins</groupId>
132131
<artifactId>nexus-staging-maven-plugin</artifactId>
133-
<version>1.6.7</version>
132+
<version>1.6.13</version>
134133
<extensions>true</extensions>
135134
<configuration>
136135
<serverId>ossrh</serverId>

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

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
package software.amazon.payloadoffloading;
22

3-
import org.junit.Test;
3+
import org.junit.jupiter.api.Test;
44
import software.amazon.awssdk.services.s3.model.PutObjectRequest;
55
import software.amazon.awssdk.services.s3.model.ServerSideEncryption;
66

7-
import static org.junit.Assert.assertEquals;
7+
import static org.junit.jupiter.api.Assertions.assertEquals;
8+
89

910
public class AwsManagedCmkTest {
1011

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package software.amazon.payloadoffloading;
22

3-
import org.junit.Test;
3+
import org.junit.jupiter.api.Test;
44
import software.amazon.awssdk.services.s3.model.PutObjectRequest;
55
import software.amazon.awssdk.services.s3.model.ServerSideEncryption;
66

7-
import static org.junit.Assert.assertEquals;
7+
import static org.junit.jupiter.api.Assertions.assertEquals;
88

99
public class CustomerKeyTest {
1010

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

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
package software.amazon.payloadoffloading;
22

3-
import org.junit.Test;
3+
import org.junit.jupiter.api.Test;
44
import software.amazon.awssdk.services.s3.S3Client;
55
import software.amazon.awssdk.services.s3.model.ObjectCannedACL;
66

7+
import static org.junit.jupiter.api.Assertions.assertEquals;
8+
import static org.junit.jupiter.api.Assertions.assertFalse;
9+
import static org.junit.jupiter.api.Assertions.assertNotNull;
10+
import static org.junit.jupiter.api.Assertions.assertNotSame;
11+
import static org.junit.jupiter.api.Assertions.assertNull;
12+
import static org.junit.jupiter.api.Assertions.assertTrue;
713
import static org.mockito.Mockito.mock;
8-
import static org.junit.Assert.*;
914

1015
/**
1116
* Tests the PayloadStorageConfiguration class.

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

+26-30
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
11
package software.amazon.payloadoffloading;
22

3-
import junitparams.JUnitParamsRunner;
4-
import org.hamcrest.Matchers;
5-
import org.junit.Before;
6-
import org.junit.Rule;
7-
import org.junit.Test;
8-
import org.junit.rules.ExpectedException;
9-
import org.junit.runner.RunWith;
3+
import org.junit.jupiter.api.BeforeEach;
4+
import org.junit.jupiter.api.Test;
105
import org.mockito.ArgumentCaptor;
116
import software.amazon.awssdk.core.exception.SdkClientException;
127
import software.amazon.awssdk.core.exception.SdkException;
138
import software.amazon.awssdk.services.s3.model.ObjectCannedACL;
149

15-
import static org.junit.Assert.*;
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;
1613
import static org.mockito.ArgumentMatchers.any;
17-
import static org.mockito.Mockito.*;
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;
1821

19-
@RunWith(JUnitParamsRunner.class)
2022
public class S3BackedPayloadStoreTest {
2123
private static final String S3_BUCKET_NAME = "test-bucket-name";
2224
private static final String ANY_PAYLOAD = "AnyPayload";
@@ -25,10 +27,7 @@ public class S3BackedPayloadStoreTest {
2527
private PayloadStore payloadStore;
2628
private S3Dao s3Dao;
2729

28-
@Rule
29-
public final ExpectedException exception = ExpectedException.none();
30-
31-
@Before
30+
@BeforeEach
3231
public void setup() {
3332
s3Dao = mock(S3Dao.class);
3433
payloadStore = new S3BackedPayloadStore(s3Dao, S3_BUCKET_NAME);
@@ -84,8 +83,8 @@ public void testStoreOriginalPayloadDoesAlwaysCreateNewObjects() {
8483
PayloadS3Pointer anyOtherExpectedPayloadPointer = new PayloadS3Pointer(S3_BUCKET_NAME, anyOtherS3Key);
8584
assertEquals(anyOtherExpectedPayloadPointer.toJson(), anyOtherActualPayloadPointer);
8685

87-
assertThat(anyS3Key, Matchers.not(anyOtherS3Key));
88-
assertThat(anyActualPayloadPointer, Matchers.not(anyOtherActualPayloadPointer));
86+
assertNotEquals(anyS3Key, anyOtherS3Key);
87+
assertNotEquals(anyActualPayloadPointer, anyOtherActualPayloadPointer);
8988
}
9089

9190
@Test
@@ -97,10 +96,8 @@ public void testStoreOriginalPayloadOnS3Failure() {
9796
any(String.class),
9897
any(String.class));
9998

100-
exception.expect(SdkException.class);
101-
exception.expectMessage("S3 Exception");
10299
//Any S3 Dao exception is thrown back as-is to clients
103-
payloadStore.storeOriginalPayload(ANY_PAYLOAD);
100+
assertThrows(SdkException.class, () -> payloadStore.storeOriginalPayload(ANY_PAYLOAD), "S3 Exception");
104101
}
105102

106103
@Test
@@ -120,21 +117,21 @@ public void testGetOriginalPayloadOnSuccess() {
120117

121118
@Test
122119
public void testGetOriginalPayloadIncorrectPointer() {
123-
exception.expect(SdkClientException.class);
124-
exception.expectMessage(INCORRECT_POINTER_EXCEPTION_MSG);
125120
//Any S3 Dao exception is thrown back as-is to clients
126-
payloadStore.getOriginalPayload("IncorrectPointer");
121+
assertThrows(SdkClientException.class, () -> payloadStore.getOriginalPayload("IncorrectPointer"),
122+
INCORRECT_POINTER_EXCEPTION_MSG);
127123
verifyNoInteractions(s3Dao);
128124
}
129125

130126
@Test
131127
public void testGetOriginalPayloadOnS3Failure() {
132-
when(s3Dao.getTextFromS3(any(String.class), any(String.class))).thenThrow(SdkException.create("S3 Exception", new Throwable()));
133-
exception.expect(SdkException.class);
134-
exception.expectMessage("S3 Exception");
135-
//Any S3 Dao exception is thrown back as-is to clients
128+
when(s3Dao.getTextFromS3(any(String.class), any(String.class)))
129+
.thenThrow(SdkException.create("S3 Exception", new Throwable()));
130+
136131
PayloadS3Pointer anyPointer = new PayloadS3Pointer(S3_BUCKET_NAME, ANY_S3_KEY);
137-
payloadStore.getOriginalPayload(anyPointer.toJson());
132+
//Any S3 Dao exception is thrown back as-is to clients
133+
assertThrows(SdkException.class, () -> payloadStore.getOriginalPayload(anyPointer.toJson()),
134+
"S3 Exception");
138135
}
139136

140137
@Test
@@ -152,9 +149,8 @@ public void testDeleteOriginalPayloadOnSuccess() {
152149

153150
@Test
154151
public void testDeleteOriginalPayloadIncorrectPointer() {
155-
exception.expect(SdkClientException.class);
156-
exception.expectMessage(INCORRECT_POINTER_EXCEPTION_MSG);
157-
payloadStore.deleteOriginalPayload("IncorrectPointer");
152+
assertThrows(SdkClientException.class, () -> payloadStore.deleteOriginalPayload("IncorrectPointer"),
153+
INCORRECT_POINTER_EXCEPTION_MSG);
158154
verifyNoInteractions(s3Dao);
159155
}
160156
}

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

+10-11
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,33 @@
33
import software.amazon.awssdk.core.sync.RequestBody;
44
import software.amazon.awssdk.services.s3.S3Client;
55
import software.amazon.awssdk.services.s3.model.ObjectCannedACL;
6-
import junitparams.JUnitParamsRunner;
7-
import org.junit.Before;
8-
import org.junit.Test;
9-
import org.junit.runner.RunWith;
6+
7+
import org.junit.jupiter.api.BeforeEach;
8+
import org.junit.jupiter.api.Test;
9+
1010
import org.mockito.ArgumentCaptor;
1111
import software.amazon.awssdk.services.s3.model.PutObjectRequest;
1212
import software.amazon.awssdk.services.s3.model.ServerSideEncryption;
1313

14-
import static org.junit.Assert.assertEquals;
15-
import static org.junit.Assert.assertNull;
14+
import static org.junit.jupiter.api.Assertions.assertEquals;
15+
import static org.junit.jupiter.api.Assertions.assertNull;
1616
import static org.mockito.ArgumentMatchers.any;
1717
import static org.mockito.Mockito.mock;
1818
import static org.mockito.Mockito.times;
1919
import static org.mockito.Mockito.verify;
2020

21-
@RunWith(JUnitParamsRunner.class)
2221
public class S3DaoTest {
2322

24-
private static String s3ServerSideEncryptionKMSKeyId = "test-customer-managed-kms-key-id";
23+
private static final String s3ServerSideEncryptionKMSKeyId = "test-customer-managed-kms-key-id";
2524
private static final String S3_BUCKET_NAME = "test-bucket-name";
2625
private static final String ANY_PAYLOAD = "AnyPayload";
2726
private static final String ANY_S3_KEY = "AnyS3key";
28-
private ServerSideEncryptionStrategy serverSideEncryptionStrategy = ServerSideEncryptionFactory.awsManagedCmk();
29-
private ObjectCannedACL objectCannedACL = ObjectCannedACL.PUBLIC_READ;
27+
private final ServerSideEncryptionStrategy serverSideEncryptionStrategy = ServerSideEncryptionFactory.awsManagedCmk();
28+
private final ObjectCannedACL objectCannedACL = ObjectCannedACL.PUBLIC_READ;
3029
private S3Client s3Client;
3130
private S3Dao dao;
3231

33-
@Before
32+
@BeforeEach
3433
public void setup() {
3534
s3Client = mock(S3Client.class);
3635
}

0 commit comments

Comments
 (0)