Skip to content

Commit 7867048

Browse files
committed
Added integ test
1 parent 083499a commit 7867048

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerUploadIntegrationTest.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package software.amazon.awssdk.transfer.s3;
1717

1818
import static org.assertj.core.api.Assertions.assertThat;
19+
import static org.junit.jupiter.api.Assumptions.assumeTrue;
1920
import static software.amazon.awssdk.testutils.service.S3BucketUtils.temporaryBucketName;
2021

2122
import java.io.IOException;
@@ -215,4 +216,31 @@ void upload_file_Interupted_CancelsTheListener(S3TransferManager tm) {
215216
assertThat(transferListener.getRatioTransferredList().get(transferListener.getRatioTransferredList().size() - 1))
216217
.isNotEqualTo(100.0);
217218
}
219+
220+
@ParameterizedTest
221+
@MethodSource("transferManagers")
222+
void upload_asyncRequestBody_ReportsProgressCorrectly(S3TransferManager tm) throws IOException {
223+
String content = RandomStringUtils.randomAscii(OBJ_SIZE);
224+
CaptureTransferListener transferListener = new CaptureTransferListener();
225+
226+
Upload upload =
227+
tm.upload(UploadRequest.builder()
228+
.putObjectRequest(b -> b.bucket(TEST_BUCKET).key(TEST_KEY))
229+
.requestBody(AsyncRequestBody.fromString(content))
230+
.addTransferListener(LoggingTransferListener.create())
231+
.addTransferListener(transferListener)
232+
.build());
233+
234+
upload.completionFuture().join();
235+
ResponseInputStream<GetObjectResponse> obj = s3.getObject(r -> r.bucket(TEST_BUCKET).key(TEST_KEY),
236+
ResponseTransformer.toInputStream());
237+
238+
assertThat(ChecksumUtils.computeCheckSum(content.getBytes(StandardCharsets.UTF_8)))
239+
.isEqualTo(ChecksumUtils.computeCheckSum(obj));
240+
241+
assertListenerForSuccessfulTransferComplete(transferListener);
242+
243+
// ensure intermediate progress is reported
244+
assertThat(transferListener.getRatioTransferredList()).hasSizeGreaterThan(2);
245+
}
218246
}

0 commit comments

Comments
 (0)