55package aws.sdk.kotlin.e2etest
66
77import aws.sdk.kotlin.services.s3.S3Client
8+ import aws.sdk.kotlin.services.s3.model.DeleteObjectRequest
89import aws.sdk.kotlin.services.s3.model.GetObjectRequest
910import aws.sdk.kotlin.services.s3.model.PutObjectRequest
11+ import aws.sdk.kotlin.services.s3.presigners.presignDeleteObject
1012import aws.sdk.kotlin.services.s3.presigners.presignGetObject
1113import aws.sdk.kotlin.services.s3.presigners.presignPutObject
1214import aws.sdk.kotlin.testing.PRINTABLE_CHARS
@@ -50,6 +52,7 @@ class S3PresignerTest {
5052 withAllEngines { engine ->
5153 val httpClient = SdkHttpClient (engine)
5254
55+ // PUT
5356 val unsignedPutRequest = PutObjectRequest {
5457 bucket = testBucket
5558 key = keyName
@@ -58,6 +61,7 @@ class S3PresignerTest {
5861
5962 S3TestUtils .responseCodeFromPut(presignedPutRequest, contents)
6063
64+ // GET
6165 val unsignedGetRequest = GetObjectRequest {
6266 bucket = testBucket
6367 key = keyName
@@ -69,6 +73,17 @@ class S3PresignerTest {
6973 call.complete()
7074 assertEquals(200 , call.response.status.value)
7175 assertEquals(contents, body)
76+
77+ // DELETE
78+ val unsignedDeleteRequest = DeleteObjectRequest {
79+ bucket = testBucket
80+ key = keyName
81+ }
82+ val presignedDeleteObject = client.presignDeleteObject(unsignedDeleteRequest, 60 .seconds)
83+
84+ val deleteCall = httpClient.call(presignedDeleteObject)
85+ deleteCall.complete()
86+ assertEquals(204 , deleteCall.response.status.value)
7287 }
7388 }
7489
0 commit comments