@@ -208,6 +208,16 @@ mocha.describe('namespace_fs gpfs- versioning', async function() {
208
208
assert . equal ( delete_res . version_id , put_res2 . version_id ) ;
209
209
} ) ;
210
210
211
+ mocha . it ( 'delete objects - versioning enabled - use delete_multiple_objects to delete a single non-existing key' , async function ( ) {
212
+ // 1. put bucket versioning enabled
213
+ await ns_obj . set_bucket_versioning ( 'ENABLED' , dummy_object_sdk ) ;
214
+ // 2. delete objects (a single non existing key)
215
+ const objects = [ { key : 'non-existing-key' , version_id : undefined } ] ;
216
+ const delete_objects_res = await delete_multiple_objects ( dummy_object_sdk , ns_obj , gpfs_bucket , objects ) ;
217
+ assert . equal ( delete_objects_res . created_delete_marker , true ) ;
218
+ assert . ok ( delete_objects_res . created_version_id !== undefined ) ;
219
+ } ) ;
220
+
211
221
} ) ;
212
222
213
223
async function put_object ( dummy_object_sdk , ns , bucket , key ) {
@@ -241,6 +251,15 @@ async function delete_object(dummy_object_sdk, ns, bucket, key, version_id) {
241
251
return delete_res ;
242
252
}
243
253
254
+ async function delete_multiple_objects ( dummy_object_sdk , ns , bucket , objects ) {
255
+ const delete_objects_res = await ns . delete_multiple_objects ( {
256
+ bucket,
257
+ objects
258
+ } , dummy_object_sdk ) ;
259
+ console . log ( 'delete_multiple_objects response' , util . inspect ( delete_objects_res ) ) ;
260
+ return delete_objects_res ;
261
+ }
262
+
244
263
245
264
async function stat_and_get_all ( full_path , key ) {
246
265
const key_path = path . join ( full_path , key ) ;
0 commit comments