4141import static org .assertj .core .api .Assertions .assertThat ;
4242import static org .assertj .core .api .Assertions .assertThatThrownBy ;
4343import static org .mockito .ArgumentMatchers .any ;
44- import static org .mockito .Mockito .doNothing ;
4544import static org .mockito .Mockito .never ;
4645import static org .mockito .Mockito .times ;
4746import static org .mockito .Mockito .verify ;
@@ -72,7 +71,6 @@ class S3MultiPartOutputStreamTest {
7271 void sendAbortForAnyExceptionWhileWriting () {
7372 when (mockedS3 .initiateMultipartUpload (any (InitiateMultipartUploadRequest .class )))
7473 .thenReturn (newInitiateMultipartUploadResult ());
75- doNothing ().when (mockedS3 ).abortMultipartUpload (abortMultipartUploadRequestCaptor .capture ());
7674
7775 final RuntimeException testException = new RuntimeException ("test" );
7876 when (mockedS3 .uploadPart (any (UploadPartRequest .class )))
@@ -87,7 +85,7 @@ void sendAbortForAnyExceptionWhileWriting() {
8785
8886 verify (mockedS3 ).initiateMultipartUpload (any (InitiateMultipartUploadRequest .class ));
8987 verify (mockedS3 ).uploadPart (any (UploadPartRequest .class ));
90- verify (mockedS3 ).abortMultipartUpload (abortMultipartUploadRequestCaptor .getValue ());
88+ verify (mockedS3 ).abortMultipartUpload (abortMultipartUploadRequestCaptor .capture ());
9189
9290 assertAbortMultipartUploadRequest (abortMultipartUploadRequestCaptor .getValue ());
9391 }
@@ -96,7 +94,6 @@ void sendAbortForAnyExceptionWhileWriting() {
9694 void sendAbortForAnyExceptionWhenClose () throws Exception {
9795 when (mockedS3 .initiateMultipartUpload (any (InitiateMultipartUploadRequest .class )))
9896 .thenReturn (newInitiateMultipartUploadResult ());
99- doNothing ().when (mockedS3 ).abortMultipartUpload (abortMultipartUploadRequestCaptor .capture ());
10097
10198 when (mockedS3 .uploadPart (any (UploadPartRequest .class )))
10299 .thenThrow (RuntimeException .class );
@@ -113,7 +110,7 @@ void sendAbortForAnyExceptionWhenClose() throws Exception {
113110 .isInstanceOf (RuntimeException .class );
114111
115112 verify (mockedS3 , never ()).completeMultipartUpload (any (CompleteMultipartUploadRequest .class ));
116- verify (mockedS3 ).abortMultipartUpload (abortMultipartUploadRequestCaptor .getValue ());
113+ verify (mockedS3 ).abortMultipartUpload (abortMultipartUploadRequestCaptor .capture ());
117114
118115 assertAbortMultipartUploadRequest (abortMultipartUploadRequestCaptor .getValue ());
119116 }
@@ -122,18 +119,18 @@ void sendAbortForAnyExceptionWhenClose() throws Exception {
122119 void writesOneByte () throws Exception {
123120 when (mockedS3 .initiateMultipartUpload (any (InitiateMultipartUploadRequest .class )))
124121 .thenReturn (newInitiateMultipartUploadResult ());
125- when (mockedS3 .uploadPart (uploadPartRequestCaptor . capture ( )))
122+ when (mockedS3 .uploadPart (any ( UploadPartRequest . class )))
126123 .thenReturn (newUploadPartResult (1 , "SOME_ETAG" ));
127- when (mockedS3 .completeMultipartUpload (completeMultipartUploadRequestCaptor . capture ( )))
124+ when (mockedS3 .completeMultipartUpload (any ( CompleteMultipartUploadRequest . class )))
128125 .thenReturn (new CompleteMultipartUploadResult ());
129126
130127 try (final S3MultiPartOutputStream out = new S3MultiPartOutputStream (BUCKET_NAME , FILE_KEY , 100 , mockedS3 )) {
131128 out .write (1 );
132129 }
133130
134131 verify (mockedS3 ).initiateMultipartUpload (any (InitiateMultipartUploadRequest .class ));
135- verify (mockedS3 ).uploadPart (any ( UploadPartRequest . class ));
136- verify (mockedS3 ).completeMultipartUpload (any ( CompleteMultipartUploadRequest . class ));
132+ verify (mockedS3 ).uploadPart (uploadPartRequestCaptor . capture ( ));
133+ verify (mockedS3 ).completeMultipartUpload (completeMultipartUploadRequestCaptor . capture ( ));
137134
138135 assertUploadPartRequest (
139136 uploadPartRequestCaptor .getValue (),
@@ -153,12 +150,12 @@ void writesMultipleMessages() throws Exception {
153150
154151 when (mockedS3 .initiateMultipartUpload (any (InitiateMultipartUploadRequest .class )))
155152 .thenReturn (newInitiateMultipartUploadResult ());
156- when (mockedS3 .uploadPart (uploadPartRequestCaptor . capture ( )))
153+ when (mockedS3 .uploadPart (any ( UploadPartRequest . class )))
157154 .thenAnswer (a -> {
158155 final UploadPartRequest up = a .getArgument (0 );
159156 return newUploadPartResult (up .getPartNumber (), "SOME_TAG#" + up .getPartNumber ());
160157 });
161- when (mockedS3 .completeMultipartUpload (completeMultipartUploadRequestCaptor . capture ( )))
158+ when (mockedS3 .completeMultipartUpload (any ( CompleteMultipartUploadRequest . class )))
162159 .thenReturn (new CompleteMultipartUploadResult ());
163160
164161 final List <byte []> expectedMessagesList = new ArrayList <>();
@@ -172,8 +169,8 @@ void writesMultipleMessages() throws Exception {
172169 }
173170
174171 verify (mockedS3 ).initiateMultipartUpload (any (InitiateMultipartUploadRequest .class ));
175- verify (mockedS3 , times (3 )).uploadPart (any ( UploadPartRequest . class ));
176- verify (mockedS3 ).completeMultipartUpload (any ( CompleteMultipartUploadRequest . class ));
172+ verify (mockedS3 , times (3 )).uploadPart (uploadPartRequestCaptor . capture ( ));
173+ verify (mockedS3 ).completeMultipartUpload (completeMultipartUploadRequestCaptor . capture ( ));
177174
178175 final List <UploadPartRequest > uploadRequests = uploadPartRequestCaptor .getAllValues ();
179176 int counter = 0 ;
@@ -208,9 +205,9 @@ void writesTailMessages() throws Exception {
208205 up .setInputStream (new ByteArrayInputStream (up .getInputStream ().readAllBytes ()));
209206 uploadPartRequests .add (up );
210207
211- return newUploadPartResult (up .getPartNumber (), "SOME_TAG #" + up .getPartNumber ());
208+ return newUploadPartResult (up .getPartNumber (), "SOME_ETAG #" + up .getPartNumber ());
212209 });
213- when (mockedS3 .completeMultipartUpload (completeMultipartUploadRequestCaptor . capture ( )))
210+ when (mockedS3 .completeMultipartUpload (any ( CompleteMultipartUploadRequest . class )))
214211 .thenReturn (new CompleteMultipartUploadResult ());
215212
216213 final byte [] message = new byte [messageSize ];
@@ -235,6 +232,8 @@ void writesTailMessages() throws Exception {
235232 verify (mockedS3 ).initiateMultipartUpload (any (InitiateMultipartUploadRequest .class ));
236233 verify (mockedS3 , times (2 )).uploadPart (any (UploadPartRequest .class ));
237234 verify (mockedS3 ).completeMultipartUpload (completeMultipartUploadRequestCaptor .capture ());
235+ assertCompleteMultipartUploadRequest (completeMultipartUploadRequestCaptor .getValue (),
236+ List .of (new PartETag (1 , "SOME_ETAG#1" ), new PartETag (2 , "SOME_ETAG#2" )));
238237 }
239238
240239 private static InitiateMultipartUploadResult newInitiateMultipartUploadResult () {
0 commit comments