33import com .amazonaws .AmazonClientException ;
44import com .amazonaws .services .s3 .model .CannedAccessControlList ;
55import 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 ;
138import 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 )
1922public 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}
0 commit comments