32
32
import software .amazon .awssdk .core .ResponseBytes ;
33
33
import software .amazon .awssdk .core .async .AsyncRequestBody ;
34
34
import software .amazon .awssdk .core .async .AsyncResponseTransformer ;
35
+ import software .amazon .awssdk .core .async .ResponsePublisher ;
35
36
import software .amazon .awssdk .services .s3 .internal .crt .S3CrtAsyncClient ;
36
37
import software .amazon .awssdk .services .s3 .model .CopyObjectRequest ;
37
38
import software .amazon .awssdk .services .s3 .model .CopyObjectResponse ;
48
49
import software .amazon .awssdk .transfer .s3 .model .DownloadDirectoryRequest ;
49
50
import software .amazon .awssdk .transfer .s3 .model .DownloadFileRequest ;
50
51
import software .amazon .awssdk .transfer .s3 .S3TransferManager ;
52
+ import software .amazon .awssdk .transfer .s3 .model .DownloadRequest ;
51
53
import software .amazon .awssdk .transfer .s3 .model .UploadDirectoryRequest ;
52
54
import software .amazon .awssdk .transfer .s3 .model .UploadFileRequest ;
53
55
@@ -206,13 +208,13 @@ void download_cancel_shouldForwardCancellation() {
206
208
CompletableFuture <GetObjectResponse > s3CrtFuture = new CompletableFuture <>();
207
209
when (mockS3Crt .getObject (any (GetObjectRequest .class ), any (AsyncResponseTransformer .class )))
208
210
.thenReturn (s3CrtFuture );
211
+ DownloadRequest <ResponseBytes <GetObjectResponse >> downloadRequest =
212
+ DownloadRequest .builder ()
213
+ .getObjectRequest (g -> g .bucket ("bucket" ).key ("key" ))
214
+ .responseTransformer (AsyncResponseTransformer .toBytes ()).build ();
209
215
210
216
CompletableFuture <CompletedDownload <ResponseBytes <GetObjectResponse >>> future =
211
- tm .download (d -> d
212
- .getObjectRequest (g -> g .bucket ("bucket" )
213
- .key ("key" ))
214
- .responseTransformer (AsyncResponseTransformer .toBytes ()))
215
- .completionFuture ();
217
+ tm .download (downloadRequest ).completionFuture ();
216
218
future .cancel (true );
217
219
assertThat (s3CrtFuture ).isCancelled ();
218
220
}
@@ -236,8 +238,14 @@ void objectLambdaArnBucketProvided_shouldThrowException() {
236
238
.completionFuture ().join ())
237
239
.hasMessageContaining ("support S3 Object Lambda resources" ).hasCauseInstanceOf (IllegalArgumentException .class );
238
240
239
- assertThatThrownBy (() -> tm .download (b -> b .getObjectRequest (p -> p .bucket (objectLambdaArn ).key ("key" ))
240
- .responseTransformer (AsyncResponseTransformer .toBytes ()))
241
+
242
+ DownloadRequest <ResponseBytes <GetObjectResponse >> downloadRequest =
243
+ DownloadRequest .builder ()
244
+ .getObjectRequest (g -> g .bucket (objectLambdaArn ).key ("key" ))
245
+ .responseTransformer (AsyncResponseTransformer .toBytes ())
246
+ .build ();
247
+
248
+ assertThatThrownBy (() -> tm .download (downloadRequest )
241
249
.completionFuture ().join ())
242
250
.hasMessageContaining ("support S3 Object Lambda resources" ).hasCauseInstanceOf (IllegalArgumentException .class );
243
251
@@ -280,9 +288,12 @@ void mrapArnProvided_shouldThrowException() {
280
288
.completionFuture ().join ())
281
289
.hasMessageContaining ("multi-region access point ARN" ).hasCauseInstanceOf (IllegalArgumentException .class );
282
290
283
- assertThatThrownBy (() -> tm .download (b -> b .getObjectRequest (p -> p .bucket (mrapArn ).key ("key" ))
284
- .responseTransformer (AsyncResponseTransformer .toBytes ()))
285
- .completionFuture ().join ())
291
+ DownloadRequest <ResponseBytes <GetObjectResponse >> downloadRequest =
292
+ DownloadRequest .builder ()
293
+ .getObjectRequest (g -> g .bucket (mrapArn ).key ("key" ))
294
+ .responseTransformer (AsyncResponseTransformer .toBytes ()).build ();
295
+
296
+ assertThatThrownBy (() -> tm .download (downloadRequest ).completionFuture ().join ())
286
297
.hasMessageContaining ("multi-region access point ARN" ).hasCauseInstanceOf (IllegalArgumentException .class );
287
298
288
299
assertThatThrownBy (() -> tm .uploadDirectory (b -> b .bucket (mrapArn )
0 commit comments