diff --git a/lib/metadataTypes/Folder.js b/lib/metadataTypes/Folder.js index e4f43cd3e..87acf7fe7 100644 --- a/lib/metadataTypes/Folder.js +++ b/lib/metadataTypes/Folder.js @@ -714,7 +714,7 @@ class Folder extends MetadataType { ), options ); - return response.Results; + return response.Results ?? []; } /** diff --git a/test/resources/1111111/dataFolder/retrieve-ContentTypeINdataextension,hidden,queryactivity,salesforcedataextension,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-response.xml b/test/resources/1111111/dataFolder/retrieve-ContentTypeINdataextension,hidden,queryactivity,salesforcedataextension,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-response.xml new file mode 100644 index 000000000..c2d830483 --- /dev/null +++ b/test/resources/1111111/dataFolder/retrieve-ContentTypeINdataextension,hidden,queryactivity,salesforcedataextension,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-response.xml @@ -0,0 +1,26 @@ + + + + RetrieveResponse + urn:uuid:998a6923-b781-40be-abad-0506f0f97477 + urn:uuid:a5d518cc-9bfb-45f1-a4a7-5d11cc1a8d44 + http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous + + + 2025-09-05T16:29:03Z + 2025-09-05T16:34:03Z + + + + + + OK + ac40bccd-e8cd-4232-b1ee-e3cfbbfd0b89 + + + diff --git a/test/type.dataExtension.test.js b/test/type.dataExtension.test.js index 10802e197..7fd95951a 100644 --- a/test/type.dataExtension.test.js +++ b/test/type.dataExtension.test.js @@ -91,6 +91,47 @@ describe('type: dataExtension', () => { ); return; }); + + it('Should not fail if shared dataExtension cannot be retrieved', async () => { + // WHEN + await handler.retrieve('testInstance/_ParentBU_', ['dataExtension', 'query']); + // THEN + assert.equal(process.exitCode, 0, 'retrieve should not have thrown an error'); + // get results from cache + const result = cache.getCache(); + assert.equal( + result.dataExtension ? Object.keys(result.dataExtension).length : 0, + 1, + 'only one dataExtension expected' + ); + assert.deepEqual( + await testUtils.getActualJson( + 'testExisting_dataExtensionShared', + 'dataExtension', + '_ParentBU_' + ), + await testUtils.getExpectedJson('1111111', 'dataExtension', 'retrieve'), + + 'returned metadata was not equal expected' + ); + // check if MD file was created and equals expectations + expect( + await testUtils.getActualDoc( + 'testExisting_dataExtensionShared', + 'dataExtension', + '_ParentBU_' + ) + ).to.equal( + await testUtils.getExpectedFile('1111111', 'dataExtension', 'retrieve', 'md') + ); + + assert.equal( + testUtils.getAPIHistoryLength(), + 7, + 'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests' + ); + return; + }); }); describe('Deploy ================', () => {