Skip to content

Commit d6e7a7b

Browse files
authored
Merge pull request #2756 from nikeee/deleteobjects-quiet
Support quiet parameter in DeleteObjects
2 parents c3de364 + 7d86ac2 commit d6e7a7b

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

server/src/main/java/com/adobe/testing/s3mock/service/ObjectService.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,9 @@ public DeleteResult deleteObjects(String bucketName, Delete delete) {
150150
// ignore result of delete object.
151151
deleteObject(bucketName, object.key(), object.versionId());
152152
// add deleted object even if it does not exist S3 does the same.
153-
response.addDeletedObject(DeletedS3Object.from(object));
153+
if (!delete.quiet()) {
154+
response.addDeletedObject(DeletedS3Object.from(object));
155+
}
154156
} catch (IllegalStateException e) {
155157
response.addError(
156158
new Error("InternalError",

server/src/test/kotlin/com/adobe/testing/s3mock/service/ObjectServiceTest.kt

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,33 @@ internal class ObjectServiceTest : ServiceTestBase() {
7979
assertThat(deleted.deletedObjects).hasSize(2)
8080
}
8181

82+
@Test
83+
fun testDeleteObjects_quiet() {
84+
val bucketName = "bucket"
85+
val key = "key"
86+
val key2 = "key2"
87+
givenBucketWithContents(
88+
bucketName, "", listOf(
89+
givenS3Object(key),
90+
givenS3Object(key2)
91+
)
92+
)
93+
val delete = Delete(
94+
listOf(
95+
givenS3ObjectIdentifier(key),
96+
givenS3ObjectIdentifier(key2)
97+
),
98+
true
99+
)
100+
101+
whenever(objectStore.deleteObject(any(), any(), isNull()))
102+
.thenReturn(true)
103+
whenever(bucketStore.removeFromBucket(key, bucketName)).thenReturn(true)
104+
whenever(bucketStore.removeFromBucket(key2, bucketName)).thenReturn(true)
105+
val deleted = iut.deleteObjects(bucketName, delete)
106+
assertThat(deleted.deletedObjects).hasSize(0)
107+
}
108+
82109
private fun givenS3ObjectIdentifier(key: String?) = S3ObjectIdentifier(key, null, null, null, null)
83110

84111
@Test

0 commit comments

Comments
 (0)