mcdev 5.1.0 → 5.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +4 -4
- package/.fork/custom-commands.json +12 -0
- package/.github/ISSUE_TEMPLATE/bug.yml +2 -0
- package/.github/PULL_REQUEST_TEMPLATE/pr_template_release.md +19 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +2 -2
- package/.github/workflows/coverage-develop-branch.yml +0 -2
- package/.github/workflows/coverage-main-branch.yml +0 -2
- package/.github/workflows/coverage.yml +0 -2
- package/.husky/post-checkout +1 -0
- package/.husky/post-merge +1 -0
- package/.vscode/extensions.json +4 -0
- package/docs/dist/documentation.md +1034 -296
- package/lib/Deployer.js +25 -25
- package/lib/MetadataTypeDefinitions.js +2 -1
- package/lib/MetadataTypeInfo.js +2 -1
- package/lib/Retriever.js +1 -1
- package/lib/cli.js +165 -10
- package/lib/index.js +398 -95
- package/lib/metadataTypes/Asset.js +10 -11
- package/lib/metadataTypes/AttributeGroup.js +76 -2
- package/lib/metadataTypes/AttributeSet.js +367 -0
- package/lib/metadataTypes/Automation.js +483 -137
- package/lib/metadataTypes/DataExtension.js +465 -68
- package/lib/metadataTypes/DataExtensionField.js +31 -14
- package/lib/metadataTypes/Event.js +2 -3
- package/lib/metadataTypes/Folder.js +1 -1
- package/lib/metadataTypes/Journey.js +13 -7
- package/lib/metadataTypes/MetadataType.js +212 -54
- package/lib/metadataTypes/MobileKeyword.js +9 -9
- package/lib/metadataTypes/MobileMessage.js +5 -5
- package/lib/metadataTypes/Query.js +26 -10
- package/lib/metadataTypes/Script.js +3 -3
- package/lib/metadataTypes/TransactionalEmail.js +94 -17
- package/lib/metadataTypes/TransactionalMessage.js +3 -2
- package/lib/metadataTypes/TransactionalSMS.js +5 -5
- package/lib/metadataTypes/TriggeredSend.js +25 -50
- package/lib/metadataTypes/User.js +7 -4
- package/lib/metadataTypes/Verification.js +230 -0
- package/lib/metadataTypes/definitions/AttributeGroup.definition.js +119 -108
- package/lib/metadataTypes/definitions/{SetDefinition.definition.js → AttributeSet.definition.js} +123 -43
- package/lib/metadataTypes/definitions/Automation.definition.js +23 -15
- package/lib/metadataTypes/definitions/ImportFile.definition.js +36 -6
- package/lib/metadataTypes/definitions/TransactionalEmail.definition.js +19 -1
- package/lib/metadataTypes/definitions/TriggeredSend.definition.js +1 -0
- package/lib/metadataTypes/definitions/Verification.definition.js +88 -0
- package/lib/util/cache.js +9 -4
- package/lib/util/cli.js +40 -0
- package/lib/util/file.js +2 -2
- package/lib/util/init.js +84 -0
- package/lib/util/util.js +121 -13
- package/package.json +13 -13
- package/test/mockRoot/.mcdevrc.json +1 -1
- package/test/mockRoot/deploy/testInstance/_ParentBU_/dataExtension/testExisting_dataExtensionShared.dataExtension-meta.json +59 -0
- package/test/mockRoot/deploy/testInstance/_ParentBU_/dataExtension/testNew_dataExtensionShared.dataExtension-meta.json +23 -0
- package/test/mockRoot/deploy/testInstance/testBU/automation/testExisting_automation.automation-meta.json +1 -2
- package/test/mockRoot/deploy/testInstance/testBU/automation/testNew_automation.automation-meta.json +9 -6
- package/test/mockRoot/deploy/testInstance/testBU/dataExtension/testExisting_dataExtension.dataExtension-meta.json +1 -0
- package/test/mockRoot/deploy/testInstance/testBU/dataExtract/testExisting_dataExtract.dataExtract-meta.json +35 -0
- package/test/mockRoot/deploy/testInstance/testBU/dataExtract/testNew_dataExtract.dataExtract-meta.json +35 -0
- package/test/mockRoot/deploy/testInstance/testBU/fileTransfer/testExisting_fileTransfer.fileTransfer-meta.json +17 -0
- package/test/mockRoot/deploy/testInstance/testBU/fileTransfer/testNew_fileTransfer.fileTransfer-meta.json +17 -0
- package/test/mockRoot/deploy/testInstance/testBU/importFile/testExisting_importFile.importFile-meta.json +29 -0
- package/test/mockRoot/deploy/testInstance/testBU/importFile/testNew_importFile.importFile-meta.json +29 -0
- package/test/mockRoot/deploy/testInstance/testBU/query/testExisting_query_fixKeys.query-meta.json +11 -0
- package/test/mockRoot/deploy/testInstance/testBU/query/testExisting_query_fixKeys.query-meta.sql +6 -0
- package/test/mockRoot/deploy/testInstance/testBU/script/testExisting_script.script-meta.json +6 -0
- package/test/mockRoot/deploy/testInstance/testBU/script/testExisting_script.script-meta.ssjs +1 -0
- package/test/mockRoot/deploy/testInstance/testBU/script/testNew_script.script-meta.json +6 -0
- package/test/mockRoot/deploy/testInstance/testBU/script/testNew_script.script-meta.ssjs +1 -0
- package/test/mockRoot/deploy/testInstance/testBU/transactionalEmail/testExisting_temail.transactionalEmail-meta.json +3 -4
- package/test/mockRoot/deploy/testInstance/testBU/transactionalEmail/testNew_temail.transactionalEmail-meta.json +1 -6
- package/test/mockRoot/deploy/testInstance/testBU/triggeredSend/testExisting_triggeredSend.triggeredSend-meta.json +29 -0
- package/test/mockRoot/deploy/testInstance/testBU/triggeredSend/testNew_triggeredSend.triggeredSend-meta.json +29 -0
- package/test/mockRoot/deploy/testInstance/testBU/verification/testExisting_39f6a488-20eb-4ba0-b0b9.verification-meta.json +11 -0
- package/test/mockRoot/deploy/testInstance/testBU/verification/testNew_39f6a488-20eb-4ba0-b0b9.verification-meta.json +11 -0
- package/test/resourceFactory.js +77 -12
- package/test/resources/1111111/accountUser/retrieve-ActiveFlag=falseANDCustomerKey=testExisting_userANDEmaillike@-response.xml +27 -0
- package/test/resources/1111111/accountUser/retrieve-ActiveFlag=falseANDEmaillike@-response.xml +156 -0
- package/test/resources/1111111/accountUser/retrieve-ActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-response.xml +87 -0
- package/test/resources/1111111/accountUser/retrieve-ActiveFlag=trueANDEmaillike@-response.xml +156 -0
- package/test/resources/1111111/accountUser/retrieve-CustomerKey=testExisting_userANDActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-response.xml +27 -0
- package/test/resources/1111111/accountUserAccount/retrieve-AccountUser.AccountUserID=700301950-response.xml +60 -0
- package/test/resources/1111111/data/v1/customobjectdata/key/testExisting_dataExtensionShared/rowset/get-response.json +13 -0
- package/test/resources/1111111/dataExtension/create-expected.json +23 -0
- package/test/resources/1111111/dataExtension/create-response.xml +59 -0
- package/test/resources/1111111/dataExtension/retrieve-expected.json +55 -0
- package/test/resources/1111111/dataExtension/retrieve-expected.md +18 -0
- package/test/resources/1111111/dataExtension/retrieve-response.xml +27 -1
- package/test/resources/1111111/dataExtension/update-expected.json +55 -0
- package/test/resources/1111111/dataExtension/update-response.xml +57 -0
- package/test/resources/1111111/dataExtensionField/retrieve-CustomerKey=[testExisting_dataExtensionShared].[TriggerUpdate_randomNumber_]-response.xml +45 -0
- package/test/resources/1111111/dataExtensionField/retrieve-DataExtension.CustomerKey=testExisting_dataExtensionShared-response.xml +98 -0
- package/test/resources/1111111/dataExtensionField/retrieve-DataExtension.CustomerKey=testNew_dataExtensionSharedORDataExtension.CustomerKey=testExisting_dataExtensionShared-response.xml +98 -0
- package/test/resources/1111111/dataExtensionField/retrieve-response.xml +98 -0
- package/test/resources/1111111/dataExtensionTemplate/retrieve-response.xml +303 -0
- package/test/resources/1111111/dataFolder/retrieve-ContentType=synchronizeddataextensionORContentType=shared_salesforcedataextensionORContentType=shared_dataextensionORContentType=shared_dataORContentType=salesforcedataextensionORContentType=dataextensionORContentType=hidden-response.xml +387 -0
- package/test/resources/1111111/dataFolder/retrieve-response.xml +353 -9
- package/test/resources/1111111/user/retrieve-expected.md +4 -2
- package/test/resources/9999999/attributeGroup/retrieve-expected.json +25 -0
- package/test/resources/9999999/attributeSet/retrieve-expected.json +143 -0
- package/test/resources/9999999/automation/build-expected.json +5 -2
- package/test/resources/9999999/automation/create-expected.json +11 -8
- package/test/resources/9999999/automation/create-testNew_automation-expected.md +5 -4
- package/test/resources/9999999/automation/patch_fixKeys-pause-expected.json +44 -0
- package/test/resources/9999999/automation/patch_fixKeys-schedule-expected.json +44 -0
- package/test/resources/9999999/automation/perform-08afb0e2-b00a-4c88-ad2e-1f7f8788c560-response.xml +42 -0
- package/test/resources/9999999/automation/perform-08afb0e2-b00a-4c88-fixKey_pause-response.xml +42 -0
- package/test/resources/9999999/automation/perform-08afb0e2-b00a-4c88-fixKey_schedule-response.xml +42 -0
- package/test/resources/9999999/automation/perform-a8afb0e2-b00a-4c88-ad2e-1f7f8788c560-response.xml +42 -0
- package/test/resources/9999999/automation/retrieve-expected.json +5 -2
- package/test/resources/9999999/automation/retrieve-testExisting_automation-expected.md +3 -2
- package/test/resources/9999999/automation/schedule-08afb0e2-b00a-4c88-ad2e-1f7f8788c560-response.xml +52 -0
- package/test/resources/9999999/automation/schedule-08afb0e2-b00a-4c88-ad2e-pause-response.xml +38 -0
- package/test/resources/9999999/automation/schedule-08afb0e2-b00a-4c88-fixKey_pause-response.xml +52 -0
- package/test/resources/9999999/automation/schedule-08afb0e2-b00a-4c88-fixKey_schedule-response.xml +52 -0
- package/test/resources/9999999/automation/schedule-a8afb0e2-b00a-4c88-ad2e-1f7f8788c560-response.xml +52 -0
- package/test/resources/9999999/automation/template-expected.json +5 -2
- package/test/resources/9999999/automation/update-expected.json +1 -2
- package/test/resources/9999999/automation/update-testExisting_automation-expected.md +2 -2
- package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-ad2e-1f7f8788c560/get-response.json +7 -0
- package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-ad2e-pause/get-response.json +85 -0
- package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-ad2e-pause/patch-response.json +85 -0
- package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-fixKey_pause/get-response.json +85 -0
- package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-fixKey_pause/patch-response.json +85 -0
- package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-fixKey_schedule/get-response.json +85 -0
- package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-fixKey_schedule/patch-response.json +85 -0
- package/test/resources/9999999/automation/v1/automations/a8afb0e2-b00a-4c88-ad2e-1f7f8788c560/get-response.json +1 -1
- package/test/resources/9999999/automation/v1/automations/post-response.json +27 -19
- package/test/resources/9999999/automation/v1/dataextracts/56c5370a-f988-4f36-b0ee-0f876573f6d7/patch-response.json +38 -0
- package/test/resources/9999999/automation/v1/dataextracts/post-response.json +38 -0
- package/test/resources/9999999/automation/v1/dataextracttypes/get-response.json +50 -0
- package/test/resources/9999999/automation/v1/dataverifications/post-response.json +12 -0
- package/test/resources/9999999/automation/v1/dataverifications/testExisting_39f6a488-20eb-4ba0-b0b9/delete-response.json +0 -0
- package/test/resources/9999999/automation/v1/dataverifications/testExisting_39f6a488-20eb-4ba0-b0b9/get-response.json +12 -0
- package/test/resources/9999999/automation/v1/dataverifications/testExisting_39f6a488-20eb-4ba0-b0b9/patch-response.json +12 -0
- package/test/resources/9999999/automation/v1/filetransfers/72c328ac-f5b0-4e37-91d3-a775666f15a6/patch-response.json +18 -0
- package/test/resources/9999999/automation/v1/filetransfers/post-response.json +18 -0
- package/test/resources/9999999/automation/v1/ftplocations/get-response.json +18 -0
- package/test/resources/9999999/automation/v1/imports/9d16f42c-2260-ed11-b849-48df37d1de8b/patch-response.json +31 -0
- package/test/resources/9999999/automation/v1/imports/get-response.json +1 -1
- package/test/resources/9999999/automation/v1/imports/post-response.json +30 -0
- package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dae/actions/start/post-response.txt +1 -0
- package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat_fixKeys/get-response.json +17 -0
- package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat_fixKeys/patch-response.json +18 -0
- package/test/resources/9999999/automation/v1/queries/get-response.json +18 -1
- package/test/resources/9999999/automation/v1/scripts/39f6a488-20eb-4ba0-b0b9-023725b574e4/patch-response.json +10 -0
- package/test/resources/9999999/automation/v1/scripts/get-response.json +12 -2
- package/test/resources/9999999/automation/v1/scripts/post-response.json +10 -0
- package/test/resources/9999999/dataExtension/build-expected.json +16 -0
- package/test/resources/9999999/dataExtension/delete-response.xml +42 -0
- package/test/resources/9999999/dataExtension/retrieve-Name=testExisting_dataExtension-response.xml +52 -0
- package/test/resources/9999999/dataExtension/retrieve-expected.json +16 -0
- package/test/resources/9999999/dataExtension/retrieve-expected.md +3 -1
- package/test/resources/9999999/dataExtension/template-expected.json +16 -0
- package/test/resources/9999999/dataExtension/update-expected.json +17 -1
- package/test/resources/9999999/dataExtensionField/retrieve-CustomerKey=[testExisting_dataExtension].[LastName]-response.xml +44 -0
- package/test/resources/9999999/dataExtensionField/retrieve-DataExtension.CustomerKey=testExisting_dataExtension-response.xml +133 -0
- package/test/resources/9999999/dataExtensionField/retrieve-DataExtension.CustomerKey=testNew_dataExtensionORDataExtension.CustomerKey=testExisting_dataExtension-response.xml +99 -0
- package/test/resources/9999999/dataExtensionField/retrieve-response.xml +36 -1
- package/test/resources/9999999/dataExtract/build-expected.json +35 -0
- package/test/resources/9999999/dataExtract/get-expected.json +39 -0
- package/test/resources/9999999/dataExtract/patch-expected.json +37 -0
- package/test/resources/9999999/dataExtract/post-expected.json +37 -0
- package/test/resources/9999999/dataExtract/template-expected.json +35 -0
- package/test/resources/9999999/dataFolder/retrieve-ContentType=contextual_suppression_listORContentType=publicationORContentType=suppression_listORContentType=mysubsORContentType=list-response.xml +136 -0
- package/test/resources/9999999/dataFolder/retrieve-ContentType=ssjsactivity-response.xml +48 -0
- package/test/resources/9999999/dataFolder/retrieve-ContentType=synchronizeddataextensionORContentType=shared_salesforcedataextensionORContentType=shared_dataextensionORContentType=shared_dataORContentType=salesforcedataextensionORContentType=dataextensionORContentType=hidden-response.xml +117 -0
- package/test/resources/9999999/dataFolder/retrieve-ContentType=triggered_send_journeybuilderORContentType=triggered_sendORContentType=hidden-response.xml +276 -0
- package/test/resources/9999999/dataFolder/retrieve-response.xml +23 -0
- package/test/resources/9999999/email/retrieve-response.xml +203 -0
- package/test/resources/9999999/fileTransfer/build-expected.json +15 -0
- package/test/resources/9999999/fileTransfer/get-expected.json +17 -0
- package/test/resources/9999999/fileTransfer/patch-expected.json +17 -0
- package/test/resources/9999999/fileTransfer/post-expected.json +17 -0
- package/test/resources/9999999/fileTransfer/template-expected.json +15 -0
- package/test/resources/9999999/hub/v1/contacts/schema/attributeGroups/get-response.json +628 -0
- package/test/resources/9999999/hub/v1/contacts/schema/setDefinitions/get-response.json +20194 -0
- package/test/resources/9999999/importFile/build-expected.json +27 -0
- package/test/resources/9999999/importFile/get-expected.json +29 -0
- package/test/resources/9999999/importFile/patch-expected.json +29 -0
- package/test/resources/9999999/importFile/post-expected.json +29 -0
- package/test/resources/9999999/importFile/template-expected.json +27 -0
- package/test/resources/9999999/interaction/v1/interactions/233d4413-922c-4568-85a5-e5cc77efc3be/delete-response.json +1 -0
- package/test/resources/9999999/legacy/v1/beta/bulk/automations/automation/definition/get-response.json +1 -1
- package/test/resources/9999999/messaging/v1/email/definitions/post-response.json +1 -1
- package/test/resources/9999999/messaging/v1/email/definitions/testExisting_temail/delete-response.json +6 -0
- package/test/resources/9999999/program/retrieve-CustomerKey=testExisting_automation_fixKey_pause-response.xml +32 -0
- package/test/resources/9999999/program/retrieve-CustomerKey=testExisting_automation_fixKey_schedule-response.xml +32 -0
- package/test/resources/9999999/program/retrieve-CustomerKey=testExisting_automation_fixedKey_paused-response.xml +32 -0
- package/test/resources/9999999/program/retrieve-CustomerKey=testExisting_automation_fixedKey_scheduled-response.xml +32 -0
- package/test/resources/9999999/program/retrieve-CustomerKey=testExisting_automation_pause-response.xml +30 -0
- package/test/resources/9999999/program/retrieve-response.xml +21 -3
- package/test/resources/9999999/query/patch_fixKeys-expected.json +11 -0
- package/test/resources/9999999/query/patch_fixKeys-expected.sql +6 -0
- package/test/resources/9999999/queryDefinition/retrieve-CustomerKey=testExisting_query_fixKeysANDStatus=Active-response.xml +30 -0
- package/test/resources/9999999/queryDefinition/retrieve-CustomerKey=testExisting_query_fixedKeysANDStatus=Active-response.xml +30 -0
- package/test/resources/9999999/queryDefinition/retrieve-CustomerKey=testNew_queryANDStatus=Active-response.xml +30 -0
- package/test/resources/9999999/script/build-expected.json +6 -0
- package/test/resources/9999999/script/build-expected.ssjs +1 -0
- package/test/resources/9999999/script/get-expected.json +8 -0
- package/test/resources/9999999/script/get-expected.ssjs +1 -0
- package/test/resources/9999999/script/get_noScriptTag-expected.html +1 -0
- package/test/resources/9999999/script/get_noScriptTag-expected.json +8 -0
- package/test/resources/9999999/script/patch-expected.json +8 -0
- package/test/resources/9999999/script/patch-expected.ssjs +1 -0
- package/test/resources/9999999/script/post-expected.json +8 -0
- package/test/resources/9999999/script/post-expected.ssjs +1 -0
- package/test/resources/9999999/script/template-expected.json +6 -0
- package/test/resources/9999999/script/template-expected.ssjs +1 -0
- package/test/resources/9999999/transactionalEmail/build-expected.json +3 -7
- package/test/resources/9999999/transactionalEmail/get-expected.json +3 -7
- package/test/resources/9999999/transactionalEmail/patch-expected.json +3 -7
- package/test/resources/9999999/transactionalEmail/post-expected.json +3 -7
- package/test/resources/9999999/transactionalEmail/template-expected.json +3 -7
- package/test/resources/9999999/triggeredSend/build-expected.json +29 -0
- package/test/resources/9999999/triggeredSend/get-expected.json +29 -0
- package/test/resources/9999999/triggeredSend/patch-expected.json +29 -0
- package/test/resources/9999999/triggeredSend/post-expected.json +29 -0
- package/test/resources/9999999/triggeredSend/template-expected.json +29 -0
- package/test/resources/9999999/triggeredSendDefinition/create-response.xml +75 -0
- package/test/resources/9999999/triggeredSendDefinition/delete-response.xml +36 -0
- package/test/resources/9999999/triggeredSendDefinition/{retrieve-response.xml → retrieve-TriggeredSendStatusINNew,Active,Inactive,Moved,Canceled-response.xml} +4 -4
- package/test/resources/9999999/triggeredSendDefinition/update-response.xml +74 -0
- package/test/resources/9999999/verification/build-expected.json +11 -0
- package/test/resources/9999999/verification/get-expected.json +11 -0
- package/test/resources/9999999/verification/patch-expected.json +11 -0
- package/test/resources/9999999/verification/post-expected.json +11 -0
- package/test/resources/9999999/verification/template-expected.json +11 -0
- package/test/type.attributeGroup.test.js +55 -0
- package/test/type.attributeSet.test.js +55 -0
- package/test/type.automation.test.js +650 -17
- package/test/type.dataExtension.test.js +205 -46
- package/test/type.dataExtract.test.js +194 -0
- package/test/type.fileTransfer.test.js +192 -0
- package/test/type.importFile.test.js +193 -0
- package/test/type.journey.test.js +38 -11
- package/test/type.mobileKeyword.test.js +6 -5
- package/test/type.mobileMessage.test.js +6 -4
- package/test/type.query.test.js +470 -17
- package/test/type.script.test.js +372 -0
- package/test/type.transactionalEmail.test.js +12 -11
- package/test/type.transactionalPush.test.js +2 -4
- package/test/type.transactionalSMS.test.js +2 -4
- package/test/type.triggeredSend.test.js +154 -0
- package/test/type.user.test.js +22 -10
- package/test/type.verification.test.js +173 -0
- package/test/utils.js +11 -2
- package/types/mcdev.d.js +14 -0
- package/lib/metadataTypes/SetDefinition.js +0 -37
- /package/test/resources/1111111/accountUser/{retrieve-response.xml → retrieve-ActiveFlag=trueANDCustomerKey=testExisting_userANDEmaillike@-response.xml} +0 -0
- /package/test/resources/1111111/accountUserAccount/{retrieve-response.xml → retrieve-AccountUser.AccountUserIDIN700301950,700301951,7471228-response.xml} +0 -0
- /package/test/resources/1111111/businessUnit/{retrieve-response.xml → retrieve-ID=1111111-response.xml} +0 -0
- /package/test/resources/1111111/list/{retrieve-response.xml → retrieve-CustomerKey=All SubscribersORListName=All Subscribers-response.xml} +0 -0
- /package/test/resources/1111111/role/{retrieve-response.xml → retrieve-IsPrivate=false-response.xml} +0 -0
- /package/test/resources/9999999/emailSendDefinition/{retrieve-response.xml → retrieve-IsPlatformObject=falseANDDescriptionnotEqualsSFSendDefinition-response.xml} +0 -0
- /package/test/resources/9999999/queryDefinition/{retrieve-response.xml → retrieve-CustomerKey=testExisting_queryANDStatus=Active-response.xml} +0 -0
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
const chai = require('chai');
|
|
2
|
+
const chaiFiles = require('chai-files');
|
|
3
|
+
const assert = chai.assert;
|
|
4
|
+
chai.use(chaiFiles);
|
|
5
|
+
const cache = require('../lib/util/cache');
|
|
6
|
+
const testUtils = require('./utils');
|
|
7
|
+
const handler = require('../lib/index');
|
|
8
|
+
|
|
9
|
+
describe('type: importFile', () => {
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
testUtils.mockSetup();
|
|
12
|
+
});
|
|
13
|
+
afterEach(() => {
|
|
14
|
+
testUtils.mockReset();
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
describe('Retrieve ================', () => {
|
|
18
|
+
it('Should retrieve a importFile', async () => {
|
|
19
|
+
// WHEN
|
|
20
|
+
await handler.retrieve('testInstance/testBU', ['importFile']);
|
|
21
|
+
// THEN
|
|
22
|
+
assert.equal(process.exitCode, false, 'retrieve should not have thrown an error');
|
|
23
|
+
// get results from cache
|
|
24
|
+
const result = cache.getCache();
|
|
25
|
+
assert.equal(
|
|
26
|
+
result.importFile ? Object.keys(result.importFile).length : 0,
|
|
27
|
+
1,
|
|
28
|
+
'only one importFile expected'
|
|
29
|
+
);
|
|
30
|
+
assert.deepEqual(
|
|
31
|
+
await testUtils.getActualJson('testExisting_importFile', 'importFile'),
|
|
32
|
+
await testUtils.getExpectedJson('9999999', 'importFile', 'get'),
|
|
33
|
+
'returned JSON was not equal expected'
|
|
34
|
+
);
|
|
35
|
+
assert.equal(
|
|
36
|
+
testUtils.getAPIHistoryLength(),
|
|
37
|
+
10,
|
|
38
|
+
'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
|
|
39
|
+
);
|
|
40
|
+
return;
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
describe('Deploy ================', () => {
|
|
44
|
+
beforeEach(() => {
|
|
45
|
+
testUtils.mockSetup(true);
|
|
46
|
+
});
|
|
47
|
+
it('Should create & upsert a importFile', async () => {
|
|
48
|
+
// WHEN
|
|
49
|
+
|
|
50
|
+
await handler.deploy('testInstance/testBU', ['importFile']);
|
|
51
|
+
// THEN
|
|
52
|
+
assert.equal(process.exitCode, false, 'deploy should not have thrown an error');
|
|
53
|
+
// get results from cache
|
|
54
|
+
const result = cache.getCache();
|
|
55
|
+
assert.equal(
|
|
56
|
+
result.importFile ? Object.keys(result.importFile).length : 0,
|
|
57
|
+
2,
|
|
58
|
+
'two importFiles expected'
|
|
59
|
+
);
|
|
60
|
+
// confirm created item
|
|
61
|
+
assert.deepEqual(
|
|
62
|
+
await testUtils.getActualJson('testNew_importFile', 'importFile'),
|
|
63
|
+
await testUtils.getExpectedJson('9999999', 'importFile', 'post'),
|
|
64
|
+
'returned new-JSON was not equal expected for insert importFile'
|
|
65
|
+
);
|
|
66
|
+
// confirm updated item
|
|
67
|
+
assert.deepEqual(
|
|
68
|
+
await testUtils.getActualJson('testExisting_importFile', 'importFile'),
|
|
69
|
+
await testUtils.getExpectedJson('9999999', 'importFile', 'patch'),
|
|
70
|
+
'returned existing-JSON was not equal expected for update importFile'
|
|
71
|
+
);
|
|
72
|
+
// check number of API calls
|
|
73
|
+
assert.equal(
|
|
74
|
+
testUtils.getAPIHistoryLength(),
|
|
75
|
+
12,
|
|
76
|
+
'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
|
|
77
|
+
);
|
|
78
|
+
return;
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
describe('Templating ================', () => {
|
|
82
|
+
it('Should create a importFile template via retrieveAsTemplate and build it', async () => {
|
|
83
|
+
// buildTemplate
|
|
84
|
+
const result = await handler.retrieveAsTemplate(
|
|
85
|
+
'testInstance/testBU',
|
|
86
|
+
'importFile',
|
|
87
|
+
['testExisting_importFile'],
|
|
88
|
+
'testSourceMarket'
|
|
89
|
+
);
|
|
90
|
+
assert.equal(process.exitCode, false, 'buildTemplate should not have thrown an error');
|
|
91
|
+
assert.equal(
|
|
92
|
+
result.importFile ? Object.keys(result.importFile).length : 0,
|
|
93
|
+
1,
|
|
94
|
+
'only one importFile expected'
|
|
95
|
+
);
|
|
96
|
+
assert.deepEqual(
|
|
97
|
+
await testUtils.getActualTemplateJson('testExisting_importFile', 'importFile'),
|
|
98
|
+
await testUtils.getExpectedJson('9999999', 'importFile', 'template'),
|
|
99
|
+
'returned template JSON was not equal expected'
|
|
100
|
+
);
|
|
101
|
+
// buildDefinition
|
|
102
|
+
await handler.buildDefinition(
|
|
103
|
+
'testInstance/testBU',
|
|
104
|
+
'importFile',
|
|
105
|
+
'testExisting_importFile',
|
|
106
|
+
'testTargetMarket'
|
|
107
|
+
);
|
|
108
|
+
assert.equal(
|
|
109
|
+
process.exitCode,
|
|
110
|
+
false,
|
|
111
|
+
'buildDefinition should not have thrown an error'
|
|
112
|
+
);
|
|
113
|
+
assert.deepEqual(
|
|
114
|
+
await testUtils.getActualDeployJson('testTemplated_importFile', 'importFile'),
|
|
115
|
+
await testUtils.getExpectedJson('9999999', 'importFile', 'build'),
|
|
116
|
+
'returned deployment JSON was not equal expected'
|
|
117
|
+
);
|
|
118
|
+
assert.equal(
|
|
119
|
+
testUtils.getAPIHistoryLength(),
|
|
120
|
+
10,
|
|
121
|
+
'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
|
|
122
|
+
);
|
|
123
|
+
return;
|
|
124
|
+
});
|
|
125
|
+
it('Should create a importFile template via buildTemplate and build it', async () => {
|
|
126
|
+
// download first before we test buildTemplate
|
|
127
|
+
await handler.retrieve('testInstance/testBU', ['importFile']);
|
|
128
|
+
// buildTemplate
|
|
129
|
+
const result = await handler.buildTemplate(
|
|
130
|
+
'testInstance/testBU',
|
|
131
|
+
'importFile',
|
|
132
|
+
['testExisting_importFile'],
|
|
133
|
+
'testSourceMarket'
|
|
134
|
+
);
|
|
135
|
+
assert.equal(process.exitCode, false, 'buildTemplate should not have thrown an error');
|
|
136
|
+
assert.equal(
|
|
137
|
+
result.importFile ? Object.keys(result.importFile).length : 0,
|
|
138
|
+
1,
|
|
139
|
+
'only one importFile expected'
|
|
140
|
+
);
|
|
141
|
+
assert.deepEqual(
|
|
142
|
+
await testUtils.getActualTemplateJson('testExisting_importFile', 'importFile'),
|
|
143
|
+
await testUtils.getExpectedJson('9999999', 'importFile', 'template'),
|
|
144
|
+
'returned template JSON was not equal expected'
|
|
145
|
+
);
|
|
146
|
+
// buildDefinition
|
|
147
|
+
await handler.buildDefinition(
|
|
148
|
+
'testInstance/testBU',
|
|
149
|
+
'importFile',
|
|
150
|
+
'testExisting_importFile',
|
|
151
|
+
'testTargetMarket'
|
|
152
|
+
);
|
|
153
|
+
assert.equal(
|
|
154
|
+
process.exitCode,
|
|
155
|
+
false,
|
|
156
|
+
'buildDefinition should not have thrown an error'
|
|
157
|
+
);
|
|
158
|
+
assert.deepEqual(
|
|
159
|
+
await testUtils.getActualDeployJson('testTemplated_importFile', 'importFile'),
|
|
160
|
+
await testUtils.getExpectedJson('9999999', 'importFile', 'build'),
|
|
161
|
+
'returned deployment JSON was not equal expected'
|
|
162
|
+
);
|
|
163
|
+
assert.equal(
|
|
164
|
+
testUtils.getAPIHistoryLength(),
|
|
165
|
+
10,
|
|
166
|
+
'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
|
|
167
|
+
);
|
|
168
|
+
return;
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
describe('Delete ================', () => {
|
|
172
|
+
it('Should NOT delete the item', async () => {
|
|
173
|
+
// WHEN
|
|
174
|
+
const isDeleted = await handler.deleteByKey(
|
|
175
|
+
'testInstance/testBU',
|
|
176
|
+
'importFile',
|
|
177
|
+
'testExisting_fileTranfer'
|
|
178
|
+
);
|
|
179
|
+
// THEN
|
|
180
|
+
assert.equal(
|
|
181
|
+
process.exitCode,
|
|
182
|
+
1,
|
|
183
|
+
'deleteByKey should have thrown an error due to lack of support'
|
|
184
|
+
);
|
|
185
|
+
assert.equal(
|
|
186
|
+
isDeleted,
|
|
187
|
+
false,
|
|
188
|
+
'deleteByKey should have returned false due to lack of support'
|
|
189
|
+
);
|
|
190
|
+
return;
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
});
|
|
@@ -141,17 +141,44 @@ describe('type: journey', () => {
|
|
|
141
141
|
});
|
|
142
142
|
});
|
|
143
143
|
describe('Delete ================', () => {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
144
|
+
it('Should NOT delete the item due to missing version', async () => {
|
|
145
|
+
// WHEN
|
|
146
|
+
const isDeleted = await handler.deleteByKey(
|
|
147
|
+
'testInstance/testBU',
|
|
148
|
+
'journey',
|
|
149
|
+
'testExisting_interaction'
|
|
150
|
+
);
|
|
151
|
+
// THEN
|
|
152
|
+
assert.equal(process.exitCode, true, 'delete should have thrown an error');
|
|
152
153
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
154
|
+
assert.equal(isDeleted, false, 'should not have deleted the item');
|
|
155
|
+
return;
|
|
156
|
+
});
|
|
157
|
+
it('Should NOT delete the item due to unknown version', async () => {
|
|
158
|
+
// WHEN
|
|
159
|
+
const isDeleted = await handler.deleteByKey(
|
|
160
|
+
'testInstance/testBU',
|
|
161
|
+
'journey',
|
|
162
|
+
'testExisting_interaction/2'
|
|
163
|
+
);
|
|
164
|
+
// THEN
|
|
165
|
+
assert.equal(process.exitCode, true, 'delete should have thrown an error');
|
|
166
|
+
|
|
167
|
+
assert.equal(isDeleted, false, 'should not have deleted the item');
|
|
168
|
+
return;
|
|
169
|
+
});
|
|
170
|
+
it('Should delete the item with version', async () => {
|
|
171
|
+
// WHEN
|
|
172
|
+
const isDeleted = await handler.deleteByKey(
|
|
173
|
+
'testInstance/testBU',
|
|
174
|
+
'journey',
|
|
175
|
+
'testExisting_interaction/1'
|
|
176
|
+
);
|
|
177
|
+
// THEN
|
|
178
|
+
assert.equal(process.exitCode, false, 'delete should not have thrown an error');
|
|
179
|
+
|
|
180
|
+
assert.equal(isDeleted, true, 'should have deleted the item');
|
|
181
|
+
return;
|
|
182
|
+
});
|
|
156
183
|
});
|
|
157
184
|
});
|
|
@@ -120,7 +120,6 @@ describe('type: mobileKeyword', () => {
|
|
|
120
120
|
);
|
|
121
121
|
return;
|
|
122
122
|
});
|
|
123
|
-
it('Should change the key during update via --changeKeyValue');
|
|
124
123
|
});
|
|
125
124
|
describe('Templating ================', () => {
|
|
126
125
|
it('Should create a mobileKeyword template via retrieveAsTemplate and build it', async () => {
|
|
@@ -246,13 +245,15 @@ describe('type: mobileKeyword', () => {
|
|
|
246
245
|
describe('Delete ================', () => {
|
|
247
246
|
it('Should delete the item', async () => {
|
|
248
247
|
// WHEN
|
|
249
|
-
const
|
|
250
|
-
'
|
|
251
|
-
|
|
248
|
+
const isDeleted = await handler.deleteByKey(
|
|
249
|
+
'testInstance/testBU',
|
|
250
|
+
'mobileKeyword',
|
|
251
|
+
'4912312345678.TESTEXISTING_KEYWORD'
|
|
252
|
+
);
|
|
252
253
|
// THEN
|
|
253
254
|
assert.equal(process.exitCode, false, 'delete should not have thrown an error');
|
|
254
255
|
|
|
255
|
-
assert.equal(
|
|
256
|
+
assert.equal(isDeleted, true, 'should have deleted the item');
|
|
256
257
|
return;
|
|
257
258
|
});
|
|
258
259
|
});
|
|
@@ -163,13 +163,15 @@ describe('type: mobileMessage', () => {
|
|
|
163
163
|
describe('Delete ================', () => {
|
|
164
164
|
it('Should delete the item', async () => {
|
|
165
165
|
// WHEN
|
|
166
|
-
const
|
|
167
|
-
'
|
|
168
|
-
|
|
166
|
+
const isDeleted = await handler.deleteByKey(
|
|
167
|
+
'testInstance/testBU',
|
|
168
|
+
'mobileMessage',
|
|
169
|
+
'NTIzOjc4OjA'
|
|
170
|
+
);
|
|
169
171
|
// THEN
|
|
170
172
|
assert.equal(process.exitCode, false, 'delete should not have thrown an error');
|
|
171
173
|
|
|
172
|
-
assert.equal(
|
|
174
|
+
assert.equal(isDeleted, true, 'should have deleted the item');
|
|
173
175
|
return;
|
|
174
176
|
});
|
|
175
177
|
});
|