in services/s3/e2eTest/S3TestUtils.kt [73:103]
suspend fun deleteBucketAndAllContents(client: S3Client, bucketName: String) {
try {
println("Deleting S3 bucket: $bucketName")
var resp = client.listObjectsV2 { bucket = bucketName }
do {
val objects = resp.contents
val truncated = resp.isTruncated
objects?.forEach {
client.deleteObject {
bucket = bucketName
key = it.key
}
}
if (truncated) {
resp = client.listObjectsV2 {
bucket = bucketName
continuationToken = resp.continuationToken
}
}
} while (truncated)
client.deleteBucket { bucket = bucketName }
} catch (ex: Exception) {
println("Failed to delete bucket: $bucketName")
throw ex
}
}