diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000..e1d1cc7
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,10 @@
+version: 2
+updates:
+ - package-ecosystem: "maven"
+ directory: "/"
+ schedule:
+ interval: "weekly"
+ - package-ecosystem: "github-actions"
+ directory: "/"
+ schedule:
+ interval: "weekly"
diff --git a/README.md b/README.md
index 3f17447..be01e11 100644
--- a/README.md
+++ b/README.md
@@ -23,7 +23,7 @@ You can download release builds through the [releases section of this](https://g
software.amazon.payloadoffloading
payloadoffloading-common
- 1.1.2
+ 1.1.3
jar
```
diff --git a/pom.xml b/pom.xml
index 08c4eff..a7bc784 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
software.amazon.payloadoffloading
payloadoffloading-common
- 1.1.2
+ 1.1.3
jar
Payload offloading common library for AWS
Common library between extended Amazon AWS clients to save payloads up to 2GB on Amazon S3.
@@ -46,27 +46,15 @@
${aws-java-sdk.version}
- junit
- junit
- 4.12
+ org.junit.jupiter
+ junit-jupiter
+ 5.9.2
test
org.mockito
mockito-core
- 3.3.3
- test
-
-
- org.hamcrest
- hamcrest-all
- 1.3
- test
-
-
- pl.pragmatists
- JUnitParams
- 1.1.1
+ 5.2.0
test
@@ -77,7 +65,7 @@
org.apache.maven.plugins
maven-compiler-plugin
- 3.8.1
+ 3.11.0
1.8
1.8
@@ -100,10 +88,15 @@
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 3.0.0
+
org.apache.maven.plugins
maven-javadoc-plugin
- 2.9.1
+ 3.5.0
attach-javadocs
@@ -111,11 +104,8 @@
jar
-
- -Xdoclint:none
+ 8
+ none
@@ -123,7 +113,7 @@
org.sonatype.plugins
nexus-staging-maven-plugin
- 1.6.7
+ 1.6.13
true
ossrh
diff --git a/src/test/java/software/amazon/payloadoffloading/PayloadStorageConfigurationTest.java b/src/test/java/software/amazon/payloadoffloading/PayloadStorageConfigurationTest.java
index 1f1ee95..9083ef5 100644
--- a/src/test/java/software/amazon/payloadoffloading/PayloadStorageConfigurationTest.java
+++ b/src/test/java/software/amazon/payloadoffloading/PayloadStorageConfigurationTest.java
@@ -3,11 +3,16 @@
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.model.CannedAccessControlList;
import com.amazonaws.services.s3.model.SSEAwsKeyManagementParams;
-import org.junit.Before;
-import org.junit.Test;
-
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNotSame;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.mock;
-import static org.junit.Assert.*;
/**
* Tests the PayloadStorageConfiguration class.
@@ -19,7 +24,7 @@ public class PayloadStorageConfigurationTest {
private SSEAwsKeyManagementParams sseAwsKeyManagementParams;
private CannedAccessControlList cannedAccessControlList;
- @Before
+ @BeforeEach
public void setup() {
sseAwsKeyManagementParams = new SSEAwsKeyManagementParams(s3ServerSideEncryptionKMSKeyId);
cannedAccessControlList = CannedAccessControlList.BucketOwnerFullControl;
@@ -54,7 +59,7 @@ public void testCopyConstructor() {
@Test
public void testPayloadSupportEnabled() {
- AmazonS3 s3 = mock(AmazonS3.class);
+ AmazonS3 s3 = mock(AmazonS3.class);
PayloadStorageConfiguration payloadStorageConfiguration = new PayloadStorageConfiguration();
payloadStorageConfiguration.setPayloadSupportEnabled(s3, s3BucketName);
@@ -91,7 +96,7 @@ public void testSseAwsKeyManagementParams() {
payloadStorageConfiguration.setSSEAwsKeyManagementParams(sseAwsKeyManagementParams);
assertEquals(s3ServerSideEncryptionKMSKeyId, payloadStorageConfiguration.getSSEAwsKeyManagementParams()
- .getAwsKmsKeyId());
+ .getAwsKmsKeyId());
}
@Test
diff --git a/src/test/java/software/amazon/payloadoffloading/S3BackedPayloadStoreTest.java b/src/test/java/software/amazon/payloadoffloading/S3BackedPayloadStoreTest.java
index 1b0e282..3f4beac 100644
--- a/src/test/java/software/amazon/payloadoffloading/S3BackedPayloadStoreTest.java
+++ b/src/test/java/software/amazon/payloadoffloading/S3BackedPayloadStoreTest.java
@@ -3,19 +3,22 @@
import com.amazonaws.AmazonClientException;
import com.amazonaws.services.s3.model.CannedAccessControlList;
import com.amazonaws.services.s3.model.SSEAwsKeyManagementParams;
-import junitparams.JUnitParamsRunner;
-import org.hamcrest.Matchers;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.mockito.ArgumentCaptor;
-import static org.junit.Assert.*;
-import static org.mockito.Mockito.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoInteractions;
+import static org.mockito.Mockito.when;
-@RunWith(JUnitParamsRunner.class)
public class S3BackedPayloadStoreTest {
private static final String S3_BUCKET_NAME = "test-bucket-name";
private static final String S3_SERVER_SIDE_ENCRYPTION_KMS_KEY_ID = "test-customer-managed-kms-key-id";
@@ -26,10 +29,8 @@ public class S3BackedPayloadStoreTest {
private PayloadStore payloadStore;
private S3Dao s3Dao;
- @Rule
- public final ExpectedException exception = ExpectedException.none();
- @Before
+ @BeforeEach
public void setup() {
s3Dao = mock(S3Dao.class);
payloadStore = new S3BackedPayloadStore(s3Dao, S3_BUCKET_NAME);
@@ -43,8 +44,7 @@ public void testStoreOriginalPayloadOnSuccess() {
ArgumentCaptor sseArgsCaptor = ArgumentCaptor.forClass(SSEAwsKeyManagementParams.class);
ArgumentCaptor cannedArgsCaptor = ArgumentCaptor.forClass(CannedAccessControlList.class);
- verify(s3Dao, times(1)).storeTextInS3(eq(S3_BUCKET_NAME), keyCaptor.capture(),
- eq(ANY_PAYLOAD), eq(ANY_PAYLOAD_LENGTH));
+ verify(s3Dao, times(1)).storeTextInS3(eq(S3_BUCKET_NAME), keyCaptor.capture(), eq(ANY_PAYLOAD), eq(ANY_PAYLOAD_LENGTH));
PayloadS3Pointer expectedPayloadPointer = new PayloadS3Pointer(S3_BUCKET_NAME, keyCaptor.getValue());
assertEquals(expectedPayloadPointer.toJson(), actualPayloadPointer);
@@ -54,8 +54,7 @@ public void testStoreOriginalPayloadOnSuccess() {
public void testStoreOriginalPayloadWithS3KeyOnSuccess() {
String actualPayloadPointer = payloadStore.storeOriginalPayload(ANY_PAYLOAD, ANY_PAYLOAD_LENGTH, ANY_S3_KEY);
- verify(s3Dao, times(1)).storeTextInS3(eq(S3_BUCKET_NAME), eq(ANY_S3_KEY),
- eq(ANY_PAYLOAD), eq(ANY_PAYLOAD_LENGTH));
+ verify(s3Dao, times(1)).storeTextInS3(eq(S3_BUCKET_NAME), eq(ANY_S3_KEY), eq(ANY_PAYLOAD), eq(ANY_PAYLOAD_LENGTH));
PayloadS3Pointer expectedPayloadPointer = new PayloadS3Pointer(S3_BUCKET_NAME, ANY_S3_KEY);
assertEquals(expectedPayloadPointer.toJson(), actualPayloadPointer);
@@ -64,17 +63,14 @@ public void testStoreOriginalPayloadWithS3KeyOnSuccess() {
@Test
public void testStoreOriginalPayloadDoesAlwaysCreateNewObjects() {
//Store any payload
- String anyActualPayloadPointer = payloadStore
- .storeOriginalPayload(ANY_PAYLOAD, ANY_PAYLOAD_LENGTH);
+ String anyActualPayloadPointer = payloadStore.storeOriginalPayload(ANY_PAYLOAD, ANY_PAYLOAD_LENGTH);
//Store any other payload and validate that the pointers are different
- String anyOtherActualPayloadPointer = payloadStore
- .storeOriginalPayload(ANY_PAYLOAD, ANY_PAYLOAD_LENGTH);
+ String anyOtherActualPayloadPointer = payloadStore.storeOriginalPayload(ANY_PAYLOAD, ANY_PAYLOAD_LENGTH);
ArgumentCaptor anyOtherKeyCaptor = ArgumentCaptor.forClass(String.class);
- verify(s3Dao, times(2)).storeTextInS3(eq(S3_BUCKET_NAME), anyOtherKeyCaptor.capture(),
- eq(ANY_PAYLOAD), eq(ANY_PAYLOAD_LENGTH));
+ verify(s3Dao, times(2)).storeTextInS3(eq(S3_BUCKET_NAME), anyOtherKeyCaptor.capture(), eq(ANY_PAYLOAD), eq(ANY_PAYLOAD_LENGTH));
String anyS3Key = anyOtherKeyCaptor.getAllValues().get(0);
String anyOtherS3Key = anyOtherKeyCaptor.getAllValues().get(1);
@@ -85,24 +81,16 @@ public void testStoreOriginalPayloadDoesAlwaysCreateNewObjects() {
PayloadS3Pointer anyOtherExpectedPayloadPointer = new PayloadS3Pointer(S3_BUCKET_NAME, anyOtherS3Key);
assertEquals(anyOtherExpectedPayloadPointer.toJson(), anyOtherActualPayloadPointer);
- assertThat(anyS3Key, Matchers.not(anyOtherS3Key));
- assertThat(anyActualPayloadPointer, Matchers.not(anyOtherActualPayloadPointer));
+ assertNotEquals(anyS3Key, anyOtherS3Key);
+ assertNotEquals(anyActualPayloadPointer, anyOtherActualPayloadPointer);
}
@Test
public void testStoreOriginalPayloadOnS3Failure() {
- doThrow(new AmazonClientException("S3 Exception"))
- .when(s3Dao)
- .storeTextInS3(
- any(String.class),
- any(String.class),
- any(String.class),
- any(Long.class));
-
- exception.expect(AmazonClientException.class);
- exception.expectMessage("S3 Exception");
+ doThrow(new AmazonClientException("S3 Exception")).when(s3Dao).storeTextInS3(any(String.class), any(String.class), any(String.class), any(Long.class));
+
//Any S3 Dao exception is thrown back as-is to clients
- payloadStore.storeOriginalPayload(ANY_PAYLOAD, ANY_PAYLOAD_LENGTH);
+ assertThrows(AmazonClientException.class, () -> payloadStore.storeOriginalPayload(ANY_PAYLOAD, ANY_PAYLOAD_LENGTH), "S3 Exception");
}
@Test
@@ -122,21 +110,17 @@ public void testGetOriginalPayloadOnSuccess() {
@Test
public void testGetOriginalPayloadIncorrectPointer() {
- exception.expect(AmazonClientException.class);
- exception.expectMessage(INCORRECT_POINTER_EXCEPTION_MSG);
//Any S3 Dao exception is thrown back as-is to clients
- payloadStore.getOriginalPayload("IncorrectPointer");
+ assertThrows(AmazonClientException.class, () -> payloadStore.getOriginalPayload("IncorrectPointer"), INCORRECT_POINTER_EXCEPTION_MSG);
verifyNoInteractions(s3Dao);
}
@Test
public void testGetOriginalPayloadOnS3Failure() {
when(s3Dao.getTextFromS3(any(String.class), any(String.class))).thenThrow(new AmazonClientException("S3 Exception"));
- exception.expect(AmazonClientException.class);
- exception.expectMessage("S3 Exception");
//Any S3 Dao exception is thrown back as-is to clients
PayloadS3Pointer anyPointer = new PayloadS3Pointer(S3_BUCKET_NAME, ANY_S3_KEY);
- payloadStore.getOriginalPayload(anyPointer.toJson());
+ assertThrows(AmazonClientException.class, () -> payloadStore.getOriginalPayload(anyPointer.toJson()), "S3 Exception");
}
@Test
@@ -154,9 +138,7 @@ public void testDeleteOriginalPayloadOnSuccess() {
@Test
public void testDeleteOriginalPayloadIncorrectPointer() {
- exception.expect(AmazonClientException.class);
- exception.expectMessage(INCORRECT_POINTER_EXCEPTION_MSG);
- payloadStore.deleteOriginalPayload("IncorrectPointer");
+ assertThrows(AmazonClientException.class, () -> payloadStore.deleteOriginalPayload("IncorrectPointer"), INCORRECT_POINTER_EXCEPTION_MSG);
verifyNoInteractions(s3Dao);
}
}
\ No newline at end of file
diff --git a/src/test/java/software/amazon/payloadoffloading/S3DaoTest.java b/src/test/java/software/amazon/payloadoffloading/S3DaoTest.java
index eb1fdb8..e8d953e 100644
--- a/src/test/java/software/amazon/payloadoffloading/S3DaoTest.java
+++ b/src/test/java/software/amazon/payloadoffloading/S3DaoTest.java
@@ -4,16 +4,16 @@
import com.amazonaws.services.s3.model.CannedAccessControlList;
import com.amazonaws.services.s3.model.PutObjectRequest;
import com.amazonaws.services.s3.model.SSEAwsKeyManagementParams;
-import junitparams.JUnitParamsRunner;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.mockito.ArgumentCaptor;
-import static org.junit.Assert.*;
-import static org.mockito.Mockito.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
-@RunWith(JUnitParamsRunner.class)
public class S3DaoTest {
private static String s3ServerSideEncryptionKMSKeyId = "test-customer-managed-kms-key-id";
@@ -26,7 +26,7 @@ public class S3DaoTest {
private AmazonS3 s3Client;
private S3Dao dao;
- @Before
+ @BeforeEach
public void setup() {
s3Client = mock(AmazonS3.class);
sseAwsKeyManagementParams = new SSEAwsKeyManagementParams(s3ServerSideEncryptionKMSKeyId);