Skip to content

Commit 26620bb

Browse files
author
Anirav Kareddy
committed
added the logic to some other flaky test cases according to the spreadsheet that I created
1 parent f128870 commit 26620bb

File tree

2 files changed

+26
-4
lines changed

2 files changed

+26
-4
lines changed

src/test/java/software/amazon/encryption/s3/S3EncryptionClientMultipartUploadTest.java

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import org.apache.commons.io.IOUtils;
66
import org.bouncycastle.jce.provider.BouncyCastleProvider;
77
import org.junit.jupiter.api.BeforeAll;
8+
import org.junit.jupiter.api.BeforeEach;
9+
import org.junit.jupiter.api.RepeatedTest;
810
import org.junit.jupiter.api.Test;
911
import software.amazon.awssdk.core.ResponseBytes;
1012
import software.amazon.awssdk.core.ResponseInputStream;
@@ -52,23 +54,30 @@
5254

5355
public class S3EncryptionClientMultipartUploadTest {
5456
private static Provider PROVIDER;
57+
private static boolean testCasePassed = false;
5558

5659
@BeforeAll
5760
public static void setUp() throws NoSuchAlgorithmException {
5861
Security.addProvider(new BouncyCastleProvider());
5962
PROVIDER = Security.getProvider("BC");
6063
}
6164

62-
@Test
65+
@BeforeEach
66+
public void resetTestCasePassedFlag() {
67+
testCasePassed = false;
68+
}
69+
70+
@RepeatedTest(3)
6371
public void multipartPutObjectAsync() throws IOException {
72+
if(testCasePassed) {
73+
return;
74+
}
6475
final String objectKey = appendTestSuffix("multipart-put-object-async");
6576

6677
final long fileSizeLimit = 1024 * 1024 * 100;
6778
final InputStream inputStream = new BoundedInputStream(fileSizeLimit);
6879
final InputStream objectStreamForResult = new BoundedInputStream(fileSizeLimit);
6980

70-
71-
7281
S3AsyncClient v3Client = S3AsyncEncryptionClient.builder()
7382
.kmsKeyId(KMS_KEY_ID)
7483
.enableMultipartPutObject(true)
@@ -100,6 +109,8 @@ public void multipartPutObjectAsync() throws IOException {
100109

101110
deleteObject(BUCKET, objectKey, v3Client);
102111
v3Client.close();
112+
113+
testCasePassed = true;
103114
}
104115

105116
@Test
@@ -131,8 +142,11 @@ public void multipartPutObjectAsyncLargeObjectFails() {
131142
singleThreadExecutor.shutdown();
132143
}
133144

134-
@Test
145+
@RepeatedTest(3)
135146
public void multipartPutObject() throws IOException {
147+
if(testCasePassed) {
148+
return;
149+
}
136150
final String objectKey = appendTestSuffix("multipart-put-object");
137151

138152
final long fileSizeLimit = 1024 * 1024 * 100;
@@ -164,6 +178,8 @@ public void multipartPutObject() throws IOException {
164178

165179
v3Client.deleteObject(builder -> builder.bucket(BUCKET).key(objectKey));
166180
v3Client.close();
181+
182+
testCasePassed = true;
167183
}
168184

169185
/*

src/test/java/software/amazon/encryption/s3/examples/MultipartUploadExampleTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,18 @@
66
import static org.junit.jupiter.api.Assertions.fail;
77

88
public class MultipartUploadExampleTest {
9+
private static boolean testCasePassed = false;
910

1011
@Test
1112
public void testMultipartUploadExamples() {
13+
if(testCasePassed) {
14+
return;
15+
}
16+
1217
final String bucket = S3EncryptionClientTestResources.BUCKET;
1318
try {
1419
MultipartUploadExample.main(new String[]{bucket});
20+
testCasePassed = true;
1521
} catch (Throwable exception) {
1622
exception.printStackTrace();
1723
fail("Multipart Example Test Failed!!", exception);

0 commit comments

Comments
 (0)