From f94e627312159b81acd908238b70f2a98aac6f73 Mon Sep 17 00:00:00 2001 From: shirady <57721533+shirady@users.noreply.github.com> Date: Tue, 17 Sep 2024 09:07:17 +0300 Subject: [PATCH] NC | NSFS | Versioning | Delete Objects | Add a Test | GPFS Signed-off-by: shirady <57721533+shirady@users.noreply.github.com> --- .../unit_tests/test_nsfs_versioning_gpfs.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/test/unit_tests/test_nsfs_versioning_gpfs.js b/src/test/unit_tests/test_nsfs_versioning_gpfs.js index 34f84645d3..62a95e6eee 100644 --- a/src/test/unit_tests/test_nsfs_versioning_gpfs.js +++ b/src/test/unit_tests/test_nsfs_versioning_gpfs.js @@ -196,6 +196,16 @@ mocha.describe('namespace_fs gpfs- versioning', async function() { assert.equal(head_res.version_id, latest_version_id); }); + mocha.it('delete objects - versioning enabled - use delete_multiple_objects to delete a single non-existing key', async function() { + // 1. put bucket versioning enabled + await ns_obj.set_bucket_versioning('ENABLED', dummy_object_sdk); + // 2. delete objects (a single non existing key) + const objects = [{ key: 'non-existing-key', version_id: undefined }]; + const delete_objects_res = await delete_multiple_objects(dummy_object_sdk, ns_obj, gpfs_bucket, objects); + assert.equal(delete_objects_res.created_delete_marker, true); + assert.ok(delete_objects_res.created_version_id !== undefined); + }); + }); async function put_object(dummy_object_sdk, ns, bucket, key) { @@ -229,6 +239,15 @@ async function delete_object(dummy_object_sdk, ns, bucket, key, version_id) { return delete_res; } +async function delete_multiple_objects(dummy_object_sdk, ns, bucket, objects) { + const delete_objects_res = await ns.delete_multiple_objects({ + bucket, + objects + }, dummy_object_sdk); + console.log('delete_multiple_objects response', util.inspect(delete_objects_res)); + return delete_objects_res; +} + async function stat_and_get_all(full_path, key) { const key_path = path.join(full_path, key);