From 35cb525b7c8150242146181672e9a10ad192f72d Mon Sep 17 00:00:00 2001 From: naveenpaul1 Date: Tue, 4 Mar 2025 15:26:52 +0530 Subject: [PATCH] test update --- src/test/unit_tests/test_lifecycle.js | 56 ++++++++++++++++++++------- 1 file changed, 41 insertions(+), 15 deletions(-) diff --git a/src/test/unit_tests/test_lifecycle.js b/src/test/unit_tests/test_lifecycle.js index 348d542486..efcea137b9 100644 --- a/src/test/unit_tests/test_lifecycle.js +++ b/src/test/unit_tests/test_lifecycle.js @@ -229,31 +229,32 @@ mocha.describe('lifecycle', () => { mocha.describe('bucket-lifecycle-multipart-upload', function() { this.timeout(60000); - const key_counter = 1; - let obj_upload_id; - const part_size = 45; - const num_parts = 7; - const KEY = 'test-lifecycle-multipart'; - const key = `${KEY}-${key_counter}`; - const bucket = 'test-bucket-multipart'; + //const key_counter = 1; + //let obj_upload_id; + //const part_size = 45; + //const num_parts = 7; + //const KEY = 'test-lifecycle-multipart'; + //const key = `${KEY}-${key_counter}`; + //const bucket = 'test-bucket-multipart'; - mocha.before(async function() { - this.timeout(60000); + this.timeout(60000); + async function create_mock_multipart_upload(key, bucket, age, part_size, num_parts) { await rpc_client.bucket.create_bucket({ name: bucket }); const content_type = 'test/test'; const size = num_parts * part_size; const data = generator.update(Buffer.alloc(size)); const { obj_id } = await rpc_client.object.create_object_upload({ bucket, key, content_type }); - obj_upload_id = obj_id; + //obj_upload_id = obj_id; const mp_list_before = await rpc_client.object.list_multiparts({ obj_id, bucket, key }); coretest.log('list_multiparts before', mp_list_before); assert.strictEqual(mp_list_before.multiparts.length, 0); + const multiparts_ids = []; const get_part_slice = i => data.slice(i * part_size, (i + 1) * part_size); - const upload_multipart = (i, mp_data, split, finish) => - object_io.upload_multipart({ + const upload_multipart = async (i, mp_data, split, finish) => { + const resp = await object_io.upload_multipart({ client: rpc_client, obj_id, bucket, @@ -262,15 +263,40 @@ mocha.describe('lifecycle', () => { size: mp_data.length, source_stream: readable_buffer(mp_data, split, finish), }); + multiparts_ids.push(resp.multipart_id); + }; // upload the real multiparts we want to complete with await Promise.all(_.times(num_parts, i => upload_multipart(i, get_part_slice(i)) )); - }); - mocha.it('lifecyle - listMultiPart verify', async () => { - const mp_list_after = await rpc_client.object.list_multiparts({ obj_id: obj_upload_id, bucket, key }); + + // go back in time + const create_time = new Date(); + create_time.setDate(create_time.getDate() - age); + const update = { + create_time, + }; + + console.log('create_mock_multipart_upload bucket', bucket, 'key', key, 'update', util.inspect(update)); + const id = new mongodb.ObjectId(obj_id); + console.log('create_mock_multipart_upload id', id, 'obj_id', obj_id); + + const update_reesult = await MDStore.instance().update_multiparts_by_ids(multiparts_ids, update); + console.log('update_multipart_by_id', update_reesult); + + const find_multiparts_result = await MDStore.instance().find_all_multiparts_of_object(id); + console.log('update_multipart_by_id', find_multiparts_result); + + const mp_list_after = await rpc_client.object.list_multiparts({ obj_id, bucket, key }); coretest.log('list_multiparts after', mp_list_after); assert.strictEqual(mp_list_after.multiparts.length, num_parts); + } + + mocha.it('lifecyle - listMultiPart verify', async () => { + await create_mock_multipart_upload('test-lifecycle-multipart', 'test-bucket-multipart', 3, 45, 7); + /*const mp_list_after = await rpc_client.object.list_multiparts({ obj_id: obj_upload_id, bucket, key }); + coretest.log('list_multiparts after', mp_list_after); + assert.strictEqual(mp_list_after.multiparts.length, num_parts);*/ }); });