Skip to content

Commit fa9db76

Browse files
authored
Fix flaky S3 multipart PUT test (#6631)
* Fix flaky S3 multipart PUT test * Fix flaky S3 multipart PUT test
1 parent 5b2e5e0 commit fa9db76

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/multipart/S3MultipartClientPutObjectWiremockTest.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@
1818
import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
1919
import static com.github.tomakehurst.wiremock.client.WireMock.anyUrl;
2020
import static com.github.tomakehurst.wiremock.client.WireMock.delete;
21+
import static com.github.tomakehurst.wiremock.client.WireMock.lessThanOrExactly;
2122
import static com.github.tomakehurst.wiremock.client.WireMock.matching;
23+
import static com.github.tomakehurst.wiremock.client.WireMock.moreThan;
2224
import static com.github.tomakehurst.wiremock.client.WireMock.post;
2325
import static com.github.tomakehurst.wiremock.client.WireMock.put;
2426
import static com.github.tomakehurst.wiremock.client.WireMock.putRequestedFor;
@@ -168,8 +170,11 @@ public void subscribe(Subscriber<? super ByteBuffer> s) {
168170
s3AsyncClient.putObject(b -> b.bucket(BUCKET).key(KEY), BufferedSplittableAsyncRequestBody.create(asyncRequestBody))
169171
.join();
170172

171-
verify(2, putRequestedFor(anyUrl()).withQueryParam("partNumber", matching(String.valueOf(1))));
172-
verify(2, putRequestedFor(anyUrl()).withQueryParam("partNumber", matching(String.valueOf(2))));
173+
verify(moreThan(1), putRequestedFor(anyUrl()).withQueryParam("partNumber", matching(String.valueOf(1))));
174+
verify(lessThanOrExactly(3), putRequestedFor(anyUrl()).withQueryParam("partNumber", matching(String.valueOf(1))));
175+
176+
verify(moreThan(1), putRequestedFor(anyUrl()).withQueryParam("partNumber", matching(String.valueOf(2))));
177+
verify(lessThanOrExactly(3), putRequestedFor(anyUrl()).withQueryParam("partNumber", matching(String.valueOf(2))));
173178
}
174179

175180
@ParameterizedTest
@@ -198,8 +203,11 @@ public void subscribe(Subscriber<? super ByteBuffer> s) {
198203
.hasCauseInstanceOf(NonRetryableException.class)
199204
.hasMessageContaining("Multiple subscribers detected.");
200205

201-
verify(1, putRequestedFor(anyUrl()).withQueryParam("partNumber", matching(String.valueOf(1))));
202-
verify(1, putRequestedFor(anyUrl()).withQueryParam("partNumber", matching(String.valueOf(1))));
206+
verify(moreThan(0), putRequestedFor(anyUrl()).withQueryParam("partNumber", matching(String.valueOf(1))));
207+
verify(lessThanOrExactly(2), putRequestedFor(anyUrl()).withQueryParam("partNumber", matching(String.valueOf(1))));
208+
209+
verify(moreThan(0), putRequestedFor(anyUrl()).withQueryParam("partNumber", matching(String.valueOf(2))));
210+
verify(lessThanOrExactly(2), putRequestedFor(anyUrl()).withQueryParam("partNumber", matching(String.valueOf(2))));
203211
}
204212

205213

0 commit comments

Comments
 (0)