27
27
import static org .assertj .core .api .Assertions .assertThatExceptionOfType ;
28
28
import static org .junit .jupiter .api .Assertions .assertTimeoutPreemptively ;
29
29
import static org .mockito .Mockito .mock ;
30
+ import static org .mockito .Mockito .timeout ;
30
31
import static org .mockito .Mockito .times ;
31
32
33
+ import com .github .tomakehurst .wiremock .client .WireMock ;
32
34
import com .github .tomakehurst .wiremock .junit5 .WireMockRuntimeInfo ;
33
35
import com .github .tomakehurst .wiremock .junit5 .WireMockTest ;
34
36
import java .io .IOException ;
37
39
import java .util .concurrent .CancellationException ;
38
40
import java .util .concurrent .CompletionException ;
39
41
import org .junit .jupiter .api .BeforeAll ;
42
+ import org .junit .jupiter .api .BeforeEach ;
40
43
import org .junit .jupiter .api .Test ;
41
44
import org .junit .jupiter .params .ParameterizedTest ;
42
45
import org .junit .jupiter .params .provider .ValueSource ;
@@ -79,6 +82,11 @@ public static void init(WireMockRuntimeInfo wm) throws IOException {
79
82
testFile = new RandomTempFile (TEST_KEY , OBJ_SIZE );
80
83
}
81
84
85
+ @ BeforeEach
86
+ void resetWireMock () {
87
+ WireMock .reset ();
88
+ }
89
+
82
90
private static S3AsyncClient s3AsyncClient (boolean multipartEnabled ) {
83
91
return S3AsyncClient .builder ()
84
92
.multipartEnabled (multipartEnabled )
@@ -90,7 +98,7 @@ private static S3AsyncClient s3AsyncClient(boolean multipartEnabled) {
90
98
}
91
99
92
100
private static void assertMockOnFailure (TransferListener transferListenerMock ) {
93
- Mockito .verify (transferListenerMock , times (1 )).transferFailed (ArgumentMatchers .any ());
101
+ Mockito .verify (transferListenerMock , timeout ( 1000 ). times (1 )).transferFailed (ArgumentMatchers .any ());
94
102
Mockito .verify (transferListenerMock , times (1 )).transferInitiated (ArgumentMatchers .any ());
95
103
Mockito .verify (transferListenerMock , times (0 )).transferComplete (ArgumentMatchers .any ());
96
104
}
@@ -207,9 +215,8 @@ void listeners_reports_ProgressWhenSuccess(boolean multipartEnabled) {
207
215
assertThat (transferListener .isTransferInitiated ()).isTrue ();
208
216
Mockito .verify (transferListenerMock , times (0 )).transferFailed (ArgumentMatchers .any ());
209
217
Mockito .verify (transferListenerMock , times (1 )).transferInitiated (ArgumentMatchers .any ());
210
- Mockito .verify (transferListenerMock , times (1 )).transferComplete (ArgumentMatchers .any ());
218
+ Mockito .verify (transferListenerMock , timeout ( 1000 ). times (1 )).transferComplete (ArgumentMatchers .any ());
211
219
212
- // when false, the generic S3 TM will read 16KiB chunks, so OBJ_SIZE / 16KiB = 16MiB / 16KiB = 1024
213
220
int numTimesBytesTransferred = multipartEnabled ? 2 : 1024 ;
214
221
Mockito .verify (transferListenerMock , times (numTimesBytesTransferred )).bytesTransferred (ArgumentMatchers .any ());
215
222
}
0 commit comments