Skip to content

Commit 1357938

Browse files
authored
Fix flaky test pause_fileChanged_resumeShouldStartFromBeginning (#7341)
1 parent e27e6f7 commit 1357938

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

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

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,13 @@
3131
import org.junit.jupiter.params.ParameterizedTest;
3232
import org.junit.jupiter.params.provider.Arguments;
3333
import org.junit.jupiter.params.provider.MethodSource;
34+
import software.amazon.awssdk.core.ResponseInputStream;
3435
import software.amazon.awssdk.core.retry.backoff.FixedDelayBackoffStrategy;
36+
import software.amazon.awssdk.core.sync.ResponseTransformer;
3537
import software.amazon.awssdk.core.waiters.AsyncWaiter;
3638
import software.amazon.awssdk.core.waiters.Waiter;
3739
import software.amazon.awssdk.core.waiters.WaiterAcceptor;
40+
import software.amazon.awssdk.services.s3.model.GetObjectResponse;
3841
import software.amazon.awssdk.services.s3.model.ListMultipartUploadsResponse;
3942
import software.amazon.awssdk.services.s3.model.ListPartsResponse;
4043
import software.amazon.awssdk.services.s3.model.NoSuchUploadException;
@@ -43,6 +46,7 @@
4346
import software.amazon.awssdk.transfer.s3.model.ResumableFileUpload;
4447
import software.amazon.awssdk.transfer.s3.model.UploadFileRequest;
4548
import software.amazon.awssdk.transfer.s3.progress.LoggingTransferListener;
49+
import software.amazon.awssdk.transfer.s3.util.ChecksumUtils;
4650
import software.amazon.awssdk.utils.Logger;
4751

4852
public class S3TransferManagerUploadPauseResumeIntegrationTest extends S3IntegrationTestBase {
@@ -167,7 +171,12 @@ void pause_fileChanged_resumeShouldStartFromBeginning(S3TransferManager uploadTm
167171
FileUpload resumedUpload = resumeTm.resumeUploadFile(resumableFileUpload);
168172
resumedUpload.completionFuture().join();
169173
verifyMultipartUploadIdNotExist(resumableFileUpload);
170-
assertThat(resumedUpload.progress().snapshot().totalBytes()).hasValue(bytes.length);
174+
175+
// Verify via S3 checksum instead of progress snapshot, which may be empty for cross-TM resume
176+
ResponseInputStream<GetObjectResponse> obj =
177+
s3.getObject(r -> r.bucket(BUCKET).key(KEY), ResponseTransformer.toInputStream());
178+
assertThat(ChecksumUtils.computeCheckSum(bytes))
179+
.isEqualTo(ChecksumUtils.computeCheckSum(obj));
171180
} finally {
172181
Files.write(largeFile.toPath(), originalBytes);
173182
}

0 commit comments

Comments
 (0)