mcdev 7.0.4 → 7.1.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.
Files changed (335) hide show
  1. package/.github/ISSUE_TEMPLATE/bug.yml +1 -0
  2. package/.husky/post-checkout +1 -1
  3. package/.husky/post-merge +7 -1
  4. package/.husky/pre-commit +2 -0
  5. package/@types/lib/Builder.d.ts.map +1 -1
  6. package/@types/lib/Deployer.d.ts +3 -0
  7. package/@types/lib/Deployer.d.ts.map +1 -1
  8. package/@types/lib/index.d.ts +70 -19
  9. package/@types/lib/index.d.ts.map +1 -1
  10. package/@types/lib/metadataTypes/Asset.d.ts +53 -16
  11. package/@types/lib/metadataTypes/Asset.d.ts.map +1 -1
  12. package/@types/lib/metadataTypes/AttributeGroup.d.ts +3 -0
  13. package/@types/lib/metadataTypes/AttributeGroup.d.ts.map +1 -1
  14. package/@types/lib/metadataTypes/AttributeSet.d.ts +5 -0
  15. package/@types/lib/metadataTypes/AttributeSet.d.ts.map +1 -1
  16. package/@types/lib/metadataTypes/Automation.d.ts +11 -0
  17. package/@types/lib/metadataTypes/Automation.d.ts.map +1 -1
  18. package/@types/lib/metadataTypes/Campaign.d.ts +1 -0
  19. package/@types/lib/metadataTypes/Campaign.d.ts.map +1 -1
  20. package/@types/lib/metadataTypes/ContentArea.d.ts +1 -0
  21. package/@types/lib/metadataTypes/ContentArea.d.ts.map +1 -1
  22. package/@types/lib/metadataTypes/DataExtension.d.ts +5 -2
  23. package/@types/lib/metadataTypes/DataExtension.d.ts.map +1 -1
  24. package/@types/lib/metadataTypes/DataExtensionField.d.ts +3 -4
  25. package/@types/lib/metadataTypes/DataExtensionField.d.ts.map +1 -1
  26. package/@types/lib/metadataTypes/DataExtensionTemplate.d.ts +1 -0
  27. package/@types/lib/metadataTypes/DataExtensionTemplate.d.ts.map +1 -1
  28. package/@types/lib/metadataTypes/DataExtract.d.ts +1 -0
  29. package/@types/lib/metadataTypes/DataExtract.d.ts.map +1 -1
  30. package/@types/lib/metadataTypes/DataExtractType.d.ts +1 -0
  31. package/@types/lib/metadataTypes/DataExtractType.d.ts.map +1 -1
  32. package/@types/lib/metadataTypes/DeliveryProfile.d.ts +1 -0
  33. package/@types/lib/metadataTypes/DeliveryProfile.d.ts.map +1 -1
  34. package/@types/lib/metadataTypes/Discovery.d.ts +1 -0
  35. package/@types/lib/metadataTypes/Discovery.d.ts.map +1 -1
  36. package/@types/lib/metadataTypes/Email.d.ts +1 -0
  37. package/@types/lib/metadataTypes/Email.d.ts.map +1 -1
  38. package/@types/lib/metadataTypes/EmailSend.d.ts +8 -0
  39. package/@types/lib/metadataTypes/EmailSend.d.ts.map +1 -1
  40. package/@types/lib/metadataTypes/Event.d.ts +3 -0
  41. package/@types/lib/metadataTypes/Event.d.ts.map +1 -1
  42. package/@types/lib/metadataTypes/FileLocation.d.ts +1 -0
  43. package/@types/lib/metadataTypes/FileLocation.d.ts.map +1 -1
  44. package/@types/lib/metadataTypes/FileTransfer.d.ts +1 -0
  45. package/@types/lib/metadataTypes/FileTransfer.d.ts.map +1 -1
  46. package/@types/lib/metadataTypes/Filter.d.ts +1 -0
  47. package/@types/lib/metadataTypes/Filter.d.ts.map +1 -1
  48. package/@types/lib/metadataTypes/Folder.d.ts +39 -25
  49. package/@types/lib/metadataTypes/Folder.d.ts.map +1 -1
  50. package/@types/lib/metadataTypes/ImportFile.d.ts +5 -0
  51. package/@types/lib/metadataTypes/ImportFile.d.ts.map +1 -1
  52. package/@types/lib/metadataTypes/Journey.d.ts +42 -3
  53. package/@types/lib/metadataTypes/Journey.d.ts.map +1 -1
  54. package/@types/lib/metadataTypes/List.d.ts +1 -0
  55. package/@types/lib/metadataTypes/List.d.ts.map +1 -1
  56. package/@types/lib/metadataTypes/MetadataType.d.ts +50 -3
  57. package/@types/lib/metadataTypes/MetadataType.d.ts.map +1 -1
  58. package/@types/lib/metadataTypes/MobileCode.d.ts +1 -0
  59. package/@types/lib/metadataTypes/MobileCode.d.ts.map +1 -1
  60. package/@types/lib/metadataTypes/MobileKeyword.d.ts +9 -0
  61. package/@types/lib/metadataTypes/MobileKeyword.d.ts.map +1 -1
  62. package/@types/lib/metadataTypes/MobileMessage.d.ts +4 -0
  63. package/@types/lib/metadataTypes/MobileMessage.d.ts.map +1 -1
  64. package/@types/lib/metadataTypes/Query.d.ts +3 -0
  65. package/@types/lib/metadataTypes/Query.d.ts.map +1 -1
  66. package/@types/lib/metadataTypes/Role.d.ts +1 -0
  67. package/@types/lib/metadataTypes/Role.d.ts.map +1 -1
  68. package/@types/lib/metadataTypes/Script.d.ts +3 -1
  69. package/@types/lib/metadataTypes/Script.d.ts.map +1 -1
  70. package/@types/lib/metadataTypes/SendClassification.d.ts +3 -0
  71. package/@types/lib/metadataTypes/SendClassification.d.ts.map +1 -1
  72. package/@types/lib/metadataTypes/SenderProfile.d.ts +1 -6
  73. package/@types/lib/metadataTypes/SenderProfile.d.ts.map +1 -1
  74. package/@types/lib/metadataTypes/TransactionalEmail.d.ts +6 -0
  75. package/@types/lib/metadataTypes/TransactionalEmail.d.ts.map +1 -1
  76. package/@types/lib/metadataTypes/TransactionalMessage.d.ts +1 -0
  77. package/@types/lib/metadataTypes/TransactionalMessage.d.ts.map +1 -1
  78. package/@types/lib/metadataTypes/TransactionalPush.d.ts +3 -0
  79. package/@types/lib/metadataTypes/TransactionalPush.d.ts.map +1 -1
  80. package/@types/lib/metadataTypes/TransactionalSMS.d.ts +4 -0
  81. package/@types/lib/metadataTypes/TransactionalSMS.d.ts.map +1 -1
  82. package/@types/lib/metadataTypes/TriggeredSend.d.ts +6 -6
  83. package/@types/lib/metadataTypes/TriggeredSend.d.ts.map +1 -1
  84. package/@types/lib/metadataTypes/User.d.ts +1 -0
  85. package/@types/lib/metadataTypes/User.d.ts.map +1 -1
  86. package/@types/lib/metadataTypes/Verification.d.ts +3 -0
  87. package/@types/lib/metadataTypes/Verification.d.ts.map +1 -1
  88. package/@types/lib/metadataTypes/definitions/Asset.definition.d.ts +24 -14
  89. package/@types/lib/metadataTypes/definitions/AttributeGroup.definition.d.ts +3 -0
  90. package/@types/lib/metadataTypes/definitions/AttributeSet.definition.d.ts +5 -0
  91. package/@types/lib/metadataTypes/definitions/Automation.definition.d.ts +16 -0
  92. package/@types/lib/metadataTypes/definitions/Campaign.definition.d.ts +1 -0
  93. package/@types/lib/metadataTypes/definitions/ContentArea.definition.d.ts +1 -0
  94. package/@types/lib/metadataTypes/definitions/DataExtension.definition.d.ts +1 -0
  95. package/@types/lib/metadataTypes/definitions/DataExtensionField.definition.d.ts +1 -0
  96. package/@types/lib/metadataTypes/definitions/DataExtensionTemplate.definition.d.ts +1 -0
  97. package/@types/lib/metadataTypes/definitions/DataExtract.definition.d.ts +1 -0
  98. package/@types/lib/metadataTypes/definitions/DataExtractType.definition.d.ts +1 -0
  99. package/@types/lib/metadataTypes/definitions/DeliveryProfile.definition.d.ts +1 -0
  100. package/@types/lib/metadataTypes/definitions/Discovery.definition.d.ts +1 -0
  101. package/@types/lib/metadataTypes/definitions/Email.definition.d.ts +1 -0
  102. package/@types/lib/metadataTypes/definitions/EmailSend.definition.d.ts +8 -0
  103. package/@types/lib/metadataTypes/definitions/Event.definition.d.ts +3 -0
  104. package/@types/lib/metadataTypes/definitions/FileLocation.definition.d.ts +1 -0
  105. package/@types/lib/metadataTypes/definitions/FileTransfer.definition.d.ts +1 -0
  106. package/@types/lib/metadataTypes/definitions/Filter.definition.d.ts +1 -0
  107. package/@types/lib/metadataTypes/definitions/Folder.definition.d.ts +1 -0
  108. package/@types/lib/metadataTypes/definitions/ImportFile.definition.d.ts +5 -0
  109. package/@types/lib/metadataTypes/definitions/Journey.definition.d.ts +13 -0
  110. package/@types/lib/metadataTypes/definitions/List.definition.d.ts +1 -0
  111. package/@types/lib/metadataTypes/definitions/MobileCode.definition.d.ts +1 -0
  112. package/@types/lib/metadataTypes/definitions/MobileKeyword.definition.d.ts +9 -0
  113. package/@types/lib/metadataTypes/definitions/MobileMessage.definition.d.ts +4 -0
  114. package/@types/lib/metadataTypes/definitions/Query.definition.d.ts +3 -0
  115. package/@types/lib/metadataTypes/definitions/Role.definition.d.ts +1 -0
  116. package/@types/lib/metadataTypes/definitions/Script.definition.d.ts +1 -0
  117. package/@types/lib/metadataTypes/definitions/SendClassification.definition.d.ts +3 -0
  118. package/@types/lib/metadataTypes/definitions/SenderProfile.definition.d.ts +1 -0
  119. package/@types/lib/metadataTypes/definitions/TransactionalEmail.definition.d.ts +6 -0
  120. package/@types/lib/metadataTypes/definitions/TransactionalMessage.definition.d.ts +1 -0
  121. package/@types/lib/metadataTypes/definitions/TransactionalPush.definition.d.ts +3 -0
  122. package/@types/lib/metadataTypes/definitions/TransactionalSMS.definition.d.ts +4 -0
  123. package/@types/lib/metadataTypes/definitions/TriggeredSend.definition.d.ts +6 -0
  124. package/@types/lib/metadataTypes/definitions/User.definition.d.ts +1 -0
  125. package/@types/lib/metadataTypes/definitions/Verification.definition.d.ts +3 -0
  126. package/@types/lib/util/cache.d.ts +10 -0
  127. package/@types/lib/util/cache.d.ts.map +1 -1
  128. package/@types/lib/util/cli.d.ts +3 -6
  129. package/@types/lib/util/cli.d.ts.map +1 -1
  130. package/@types/lib/util/config.d.ts.map +1 -1
  131. package/@types/lib/util/devops.d.ts.map +1 -1
  132. package/@types/lib/util/init.config.d.ts.map +1 -1
  133. package/@types/lib/util/init.d.ts.map +1 -1
  134. package/@types/lib/util/init.git.d.ts.map +1 -1
  135. package/@types/lib/util/replaceContentBlockReference.d.ts +27 -4
  136. package/@types/lib/util/replaceContentBlockReference.d.ts.map +1 -1
  137. package/@types/lib/util/util.d.ts +32 -3
  138. package/@types/lib/util/util.d.ts.map +1 -1
  139. package/@types/types/mcdev.d.d.ts +87 -0
  140. package/@types/types/mcdev.d.d.ts.map +1 -1
  141. package/boilerplate/files/.vscode/settings.json +1 -0
  142. package/boilerplate/forcedUpdates.json +4 -0
  143. package/boilerplate/gitignore-template +0 -1
  144. package/lib/Builder.js +13 -8
  145. package/lib/Deployer.js +12 -7
  146. package/lib/cli.js +179 -14
  147. package/lib/index.js +538 -205
  148. package/lib/metadataTypes/Asset.js +455 -210
  149. package/lib/metadataTypes/Automation.js +34 -0
  150. package/lib/metadataTypes/DataExtension.js +33 -28
  151. package/lib/metadataTypes/DataExtensionField.js +2 -2
  152. package/lib/metadataTypes/Event.js +28 -2
  153. package/lib/metadataTypes/Folder.js +63 -48
  154. package/lib/metadataTypes/Journey.js +330 -56
  155. package/lib/metadataTypes/MetadataType.js +269 -57
  156. package/lib/metadataTypes/MobileKeyword.js +12 -1
  157. package/lib/metadataTypes/Script.js +4 -3
  158. package/lib/metadataTypes/SenderProfile.js +17 -5
  159. package/lib/metadataTypes/TriggeredSend.js +20 -5
  160. package/lib/metadataTypes/definitions/Asset.definition.js +10 -2
  161. package/lib/metadataTypes/definitions/AttributeGroup.definition.js +1 -0
  162. package/lib/metadataTypes/definitions/AttributeSet.definition.js +11 -0
  163. package/lib/metadataTypes/definitions/Automation.definition.js +9 -0
  164. package/lib/metadataTypes/definitions/Campaign.definition.js +1 -0
  165. package/lib/metadataTypes/definitions/ContentArea.definition.js +1 -0
  166. package/lib/metadataTypes/definitions/DataExtension.definition.js +1 -0
  167. package/lib/metadataTypes/definitions/DataExtensionField.definition.js +1 -0
  168. package/lib/metadataTypes/definitions/DataExtensionTemplate.definition.js +1 -0
  169. package/lib/metadataTypes/definitions/DataExtract.definition.js +2 -1
  170. package/lib/metadataTypes/definitions/DataExtractType.definition.js +1 -0
  171. package/lib/metadataTypes/definitions/DeliveryProfile.definition.js +1 -0
  172. package/lib/metadataTypes/definitions/Discovery.definition.js +1 -0
  173. package/lib/metadataTypes/definitions/Email.definition.js +1 -0
  174. package/lib/metadataTypes/definitions/EmailSend.definition.js +8 -0
  175. package/lib/metadataTypes/definitions/Event.definition.js +1 -0
  176. package/lib/metadataTypes/definitions/FileLocation.definition.js +1 -0
  177. package/lib/metadataTypes/definitions/FileTransfer.definition.js +4 -0
  178. package/lib/metadataTypes/definitions/Filter.definition.js +1 -0
  179. package/lib/metadataTypes/definitions/Folder.definition.js +10 -8
  180. package/lib/metadataTypes/definitions/ImportFile.definition.js +8 -1
  181. package/lib/metadataTypes/definitions/Journey.definition.js +28 -0
  182. package/lib/metadataTypes/definitions/List.definition.js +1 -0
  183. package/lib/metadataTypes/definitions/MobileCode.definition.js +1 -0
  184. package/lib/metadataTypes/definitions/MobileKeyword.definition.js +7 -0
  185. package/lib/metadataTypes/definitions/MobileMessage.definition.js +9 -0
  186. package/lib/metadataTypes/definitions/Query.definition.js +3 -0
  187. package/lib/metadataTypes/definitions/Role.definition.js +1 -0
  188. package/lib/metadataTypes/definitions/Script.definition.js +1 -0
  189. package/lib/metadataTypes/definitions/SendClassification.definition.js +4 -0
  190. package/lib/metadataTypes/definitions/SenderProfile.definition.js +1 -0
  191. package/lib/metadataTypes/definitions/TransactionalEmail.definition.js +7 -0
  192. package/lib/metadataTypes/definitions/TransactionalMessage.definition.js +1 -0
  193. package/lib/metadataTypes/definitions/TransactionalPush.definition.js +3 -0
  194. package/lib/metadataTypes/definitions/TransactionalSMS.definition.js +4 -0
  195. package/lib/metadataTypes/definitions/TriggeredSend.definition.js +10 -3
  196. package/lib/metadataTypes/definitions/User.definition.js +3 -0
  197. package/lib/metadataTypes/definitions/Verification.definition.js +1 -0
  198. package/lib/util/cache.js +35 -0
  199. package/lib/util/cli.js +96 -139
  200. package/lib/util/config.js +11 -19
  201. package/lib/util/devops.js +41 -41
  202. package/lib/util/init.config.js +6 -10
  203. package/lib/util/init.git.js +43 -57
  204. package/lib/util/init.js +35 -59
  205. package/lib/util/replaceContentBlockReference.js +107 -60
  206. package/lib/util/util.js +90 -4
  207. package/package.json +14 -13
  208. package/test/general.test.js +1117 -163
  209. package/test/mockRoot/.mcdevrc.json +1 -1
  210. package/test/mockRoot/deploy/testInstance/testBU/event/testNew_event_withExistingDE.event-meta.json +1 -0
  211. package/test/mockRoot/deploy/testInstance/testBU/event/testNew_event_withSchema.event-meta.json +1 -0
  212. package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/4912312345678.TESTNEW_KEYWORD.mobileKeyword-meta.json +1 -0
  213. package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/4912312345678.TESTNEW_KEYWORD_BLOCKED.mobileKeyword-meta.json +1 -0
  214. package/test/resourceFactory.js +43 -11
  215. package/test/resources/1111111/dataFolder/retrieve-ContentTypeINshared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-response.xml +364 -0
  216. package/test/resources/9999999/asset/{block-1157-retrieve-expected.html → build-asset_htmlblock-expected.html} +1 -1
  217. package/test/resources/9999999/asset/build-asset_htmlblock-expected.json +29 -0
  218. package/test/resources/9999999/asset/build-templatebasedemail-expected.json +65 -0
  219. package/test/resources/9999999/asset/resolveId-1295064-noPath-expected.json +3 -3
  220. package/test/resources/9999999/asset/resolveId-1295064-withPath-expected.json +3 -3
  221. package/test/resources/9999999/asset/retrieve-templatebasedemail-expected.json +65 -0
  222. package/test/resources/9999999/asset/template-emailTemplate-expected.json +20 -0
  223. package/test/resources/9999999/asset/template-templatebasedemail-expected.json +65 -0
  224. package/test/resources/9999999/asset/template-testExisting_asset_htmlblock-expected.json +29 -0
  225. package/test/resources/9999999/asset/testExisting_asset_htmlblock-retrieve-expected.html +23 -0
  226. package/test/resources/9999999/asset/{block-1157-retrieve-expected.json → testExisting_asset_htmlblock-retrieve-expected.json} +3 -3
  227. package/test/resources/9999999/asset/testExisting_asset_message-html-rcb-key-expected.html +6 -6
  228. package/test/resources/9999999/asset/testExisting_asset_message-preheader-rcb-id-expected.amp +1 -1
  229. package/test/resources/9999999/asset/testExisting_asset_message-preheader-rcb-key-expected.amp +4 -4
  230. package/test/resources/9999999/asset/testExisting_asset_message-preheader-rcb-name-expected.amp +1 -1
  231. package/test/resources/9999999/asset/testExisting_asset_message-text-rcb-key-expected.amp +4 -4
  232. package/test/resources/9999999/asset/v1/content/assets/1295064/get-response.json +4 -4
  233. package/test/resources/9999999/asset/v1/content/assets/1295065/get-response.json +60 -0
  234. package/test/resources/9999999/asset/v1/content/assets/1295066/get-response.json +60 -0
  235. package/test/resources/9999999/asset/v1/content/assets/5289/get-response.json +75 -0
  236. package/test/resources/9999999/asset/v1/content/assets/808714/get-response.json +3 -3
  237. package/test/resources/9999999/asset/v1/content/assets/950143/get-response.json +97 -0
  238. package/test/resources/9999999/asset/v1/content/assets/get-response-customerKey=testExisting_asset.json +1 -1
  239. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN195,196,197,198,199,200,201,202,203,210,211,212,213,3.json +78 -2
  240. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN205,206,230,232,1,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,14,193,194,15,195,196,197,198,199,200,201,202,203,210,211,212,213,3,207,208,209,5,214,4,215,216.json +370 -0
  241. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN205,206,230,232,1,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,14,193,194,15,195,196,197,198,199,200,201,202,203,210,211,212,213,3,215,216,217,218,219,220,221,222.json +243 -0
  242. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN205,206,230,232,1,207,208,209,5.json +229 -0
  243. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN205,206,230,232,1.json +98 -1
  244. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN217,218,219,220,221,222,223,224,225,226,227,228.json +7 -0
  245. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN223,224,225,226,227,228,214,4.json +35 -0
  246. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN223,224,225,226,227,228.json +7 -0
  247. package/test/resources/9999999/asset/v1/content/assets/query/{post-response-customerKey=mcdev-issue-1157.json → post-response-customerKey=testExisting_asset_htmlblock.json} +2 -2
  248. package/test/resources/9999999/automation/v1/queries/get-response-Name=testExisting_query.json +24 -0
  249. package/test/resources/9999999/automation/v1/scripts/get-response-name=testExisting_script.json +17 -0
  250. package/test/resources/9999999/automation/v1/scripts/get-response.json +2 -2
  251. package/test/resources/9999999/dataFolder/retrieve-ContentType=asset-shared-QAA-response.xml +70 -0
  252. package/test/resources/9999999/dataFolder/retrieve-ContentType=asset-shared-response.xml +70 -0
  253. package/test/resources/9999999/dataFolder/retrieve-ContentType=journey-response.xml +48 -0
  254. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-sha,automatio,dataexten,hidden,journey,list,mysubs,publicati,queryacti,salesforc,shared_da,shared_da,shared_sa,ssjsactiv,synchroni,triggered,triggered,useriniti-response.xml +519 -0
  255. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-sha,dataexten,salesforc,shared_da,shared_da,shared_sa,synchroni,automatio,useriniti,journey,mysubs,list,publicati,queryacti,ssjsactiv,triggered,triggered-response.xml +519 -0
  256. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-shared,journey-response.xml +92 -0
  257. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-shared,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-QAA-response.xml +115 -0
  258. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-shared,ssjsactivity-response.xml +92 -0
  259. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-shared-QAA-response.xml +70 -0
  260. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset-shared,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-QAA-response.xml +431 -0
  261. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINautomations,queryactivity-response.xml +70 -0
  262. package/test/resources/9999999/dataFolder/{retrieve-response.xml → retrieve-ContentTypeINdataextension,hidden,queryactivity,salesforcedataextension,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-response.xml} +32 -119
  263. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINdataextension,salesforcedataextension,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-QAA-response.xml +117 -0
  264. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINhidden,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-response.xml +46 -0
  265. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINshared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-QAA-response.xml +251 -0
  266. package/test/resources/9999999/dataFolder/retrieve-response-.xml +519 -0
  267. package/test/resources/9999999/event/build-expected.json +0 -1
  268. package/test/resources/9999999/event/get-expected.json +0 -1
  269. package/test/resources/9999999/event/post_withExistingDE-callout-expected.json +3 -0
  270. package/test/resources/9999999/event/post_withExistingDE-expected.json +2 -0
  271. package/test/resources/9999999/event/post_withSchema-callout-expected.json +3 -0
  272. package/test/resources/9999999/event/post_withSchema-expected.json +2 -0
  273. package/test/resources/9999999/event/put-callout-expected.json +3 -1
  274. package/test/resources/9999999/event/put-expected.json +2 -2
  275. package/test/resources/9999999/event/template-expected.json +0 -1
  276. package/test/resources/9999999/interaction/v1/eventDefinitions/key_testExisting_event/put-response.json +2 -1
  277. package/test/resources/9999999/interaction/v1/eventDefinitions/post_withExistingDE-response.json +2 -0
  278. package/test/resources/9999999/interaction/v1/eventDefinitions/post_withSchema-response.json +2 -0
  279. package/test/resources/9999999/interaction/v1/interactions/3c3f4112-9b43-43ca-8a89-aa0375b2c1a2/get-response.json +4 -4
  280. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_journey_Quicksend/get-response.json +4 -4
  281. package/test/resources/9999999/interaction/v1/interactions/publishAsync/3c3f4112-9b43-43ca-8a89-aa0375b2c1a2/post-response.json +4 -0
  282. package/test/resources/9999999/interaction/v1/interactions/publishStatus/45f06c0a-3ed2-48b2-a6a8-b5119253f01c/get-response-failed.json +34 -0
  283. package/test/resources/9999999/interaction/v1/interactions/publishStatus/45f06c0a-3ed2-48b2-a6a8-b5119253f01c/get-response-success.json +5 -0
  284. package/test/resources/9999999/interaction/v1/interactions/publishStatus/45f06c0a-3ed2-48b2-a6a8-b5119253f01c/get-response-successWarnings.json +36 -0
  285. package/test/resources/9999999/journey/build-expected.json +5 -5
  286. package/test/resources/9999999/journey/get-multistep-expected.json +1 -1
  287. package/test/resources/9999999/journey/get-quicksend-expected.json +5 -5
  288. package/test/resources/9999999/journey/get-quicksend-rcb-id-expected.json +1 -1
  289. package/test/resources/9999999/journey/get-quicksend-rcb-key-expected.json +7 -7
  290. package/test/resources/9999999/journey/get-quicksend-rcb-name-expected.json +1 -1
  291. package/test/resources/9999999/journey/post-expected.json +1 -1
  292. package/test/resources/9999999/journey/publish-callout-expected.json +1 -0
  293. package/test/resources/9999999/journey/put-expected.json +1 -1
  294. package/test/resources/9999999/journey/template-expected.json +5 -5
  295. package/test/resources/9999999/mobileKeyword/build-expected.json +1 -0
  296. package/test/resources/9999999/mobileKeyword/get-expected.json +1 -0
  297. package/test/resources/9999999/mobileKeyword/post-create-expected.json +1 -0
  298. package/test/resources/9999999/mobileKeyword/template-expected.json +1 -0
  299. package/test/resources/{1111111/accountUser/retrieve-CustomerKey=testExisting_userANDActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-response.xml → 9999999/queryDefinition/retrieve-CustomerKey=badANDStatus=Active-response.xml} +10 -11
  300. package/test/resources/9999999/script/get_ampincluded-rcb-key-expected.html +2 -2
  301. package/test/resources/9999999/script/get_ampscript-expected.html +1 -0
  302. package/test/resources/9999999/script/get_ampscript-rcb-id-expected.html +1 -0
  303. package/test/resources/9999999/script/get_ampscript-rcb-key-expected.html +3 -2
  304. package/test/resources/9999999/script/get_ampscript-rcb-name-expected.html +3 -0
  305. package/test/resources/9999999/script/get_mixed-expected.html +2 -2
  306. package/test/resources/9999999/script/get_mixed-rcb-key-expected.html +2 -2
  307. package/test/resources/9999999/senderProfile/get-rcb-key-expected.json +4 -4
  308. package/test/resources/9999999/senderProfile/retrieve-response.xml +1 -1
  309. package/test/resources/9999999/triggeredSend/get-rcb-key-expected.json +4 -4
  310. package/test/resources/9999999/triggeredSendDefinition/retrieve-TriggeredSendStatusINNew,Active,Inactive,Moved,Canceled-response.xml +1 -1
  311. package/test/type.asset.test.js +189 -39
  312. package/test/type.automation.test.js +134 -58
  313. package/test/type.dataExtract.test.js +4 -4
  314. package/test/type.emailSend.test.js +3 -3
  315. package/test/type.event.test.js +0 -2
  316. package/test/type.journey.test.js +322 -9
  317. package/test/type.query.test.js +33 -29
  318. package/test/type.script.test.js +61 -11
  319. package/test/type.senderProfile.test.js +36 -3
  320. package/test/type.transactionalEmail.test.js +3 -3
  321. package/test/type.triggeredSend.test.js +75 -6
  322. package/test/utils.js +13 -3
  323. package/types/mcdev.d.js +27 -1
  324. /package/test/resources/1111111/accountUser/{retrieve-ActiveFlag=falseANDCustomerKey=testExisting_userANDEmaillike@-response.xml → retrieve-ActiveFlag=falseANDCustomerKey=testExisting_userANDEmaillike@-QAA-response.xml} +0 -0
  325. /package/test/resources/1111111/accountUser/{retrieve-ActiveFlag=falseANDEmaillike@-response.xml → retrieve-ActiveFlag=falseANDEmaillike@-QAA-response.xml} +0 -0
  326. /package/test/resources/1111111/accountUser/{retrieve-ActiveFlag=trueANDCustomerKey=testExisting_userANDEmaillike@-response.xml → retrieve-ActiveFlag=trueANDCustomerKey=testExisting_userANDEmaillike@-QAA-response.xml} +0 -0
  327. /package/test/resources/1111111/accountUser/{retrieve-ActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-response.xml → retrieve-ActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-QAA-response.xml} +0 -0
  328. /package/test/resources/1111111/accountUser/{retrieve-ActiveFlag=trueANDEmaillike@-response.xml → retrieve-ActiveFlag=trueANDEmaillike@-QAA-response.xml} +0 -0
  329. /package/test/resources/1111111/businessUnit/{retrieve-ID=1111111-response.xml → retrieve-ID=1111111-QAA-response.xml} +0 -0
  330. /package/test/resources/1111111/dataFolder/{retrieve-ContentType=synchronizeddataextensionORContentType=shared_salesforcedataextensionORContentType=shared_dataextensionORContentType=shared_dataORContentType=salesforcedataextensionORContentType=dataextensionORContentType=hidden-response.xml → retrieve-ContentTypeINdataextension,hidden,salesforcedataextension,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-response.xml} +0 -0
  331. /package/test/resources/1111111/dataFolder/{retrieve-response.xml → retrieve-response-.xml} +0 -0
  332. /package/test/resources/9999999/dataFolder/{retrieve-ContentType=asset-sharedORContentType=asset-response.xml → retrieve-ContentTypeINasset,asset-shared-response.xml} +0 -0
  333. /package/test/resources/9999999/dataFolder/{retrieve-ContentType=contextual_suppression_listORContentType=publicationORContentType=suppression_listORContentType=mysubsORContentType=list-response.xml → retrieve-ContentTypeINcontextual_suppression_list,list,mysubs,publication,suppression_list-response.xml} +0 -0
  334. /package/test/resources/9999999/dataFolder/{retrieve-ContentType=synchronizeddataextensionORContentType=shared_salesforcedataextensionORContentType=shared_dataextensionORContentType=shared_dataORContentType=salesforcedataextensionORContentType=dataextensionORContentType=hidden-response.xml → retrieve-ContentTypeINdataextension,hidden,salesforcedataextension,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-response.xml} +0 -0
  335. /package/test/resources/9999999/dataFolder/{retrieve-ContentType=triggered_send_journeybuilderORContentType=triggered_sendORContentType=hidden-response.xml → retrieve-ContentTypeINhidden,triggered_send,triggered_send_journeybuilder-response.xml} +0 -0
@@ -46,7 +46,7 @@ describe('type: journey', () => {
46
46
  );
47
47
  assert.equal(
48
48
  testUtils.getAPIHistoryLength(),
49
- 26,
49
+ 23,
50
50
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
51
51
  );
52
52
  return;
@@ -75,7 +75,7 @@ describe('type: journey', () => {
75
75
  );
76
76
  assert.equal(
77
77
  testUtils.getAPIHistoryLength(),
78
- 21,
78
+ 18,
79
79
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
80
80
  );
81
81
  return;
@@ -105,7 +105,7 @@ describe('type: journey', () => {
105
105
  );
106
106
  assert.equal(
107
107
  testUtils.getAPIHistoryLength(),
108
- 21,
108
+ 18,
109
109
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
110
110
  );
111
111
  return;
@@ -131,7 +131,7 @@ describe('type: journey', () => {
131
131
  );
132
132
  assert.equal(
133
133
  testUtils.getAPIHistoryLength(),
134
- 23,
134
+ 20,
135
135
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
136
136
  );
137
137
  return;
@@ -160,7 +160,7 @@ describe('type: journey', () => {
160
160
  );
161
161
  assert.equal(
162
162
  testUtils.getAPIHistoryLength(),
163
- 21,
163
+ 18,
164
164
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
165
165
  );
166
166
  return;
@@ -229,11 +229,85 @@ describe('type: journey', () => {
229
229
 
230
230
  assert.equal(
231
231
  testUtils.getAPIHistoryLength(),
232
- 26,
232
+ 23,
233
233
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
234
234
  );
235
235
  return;
236
236
  });
237
+
238
+ it('Should create a journey template via buildTemplate with --dependencies', async () => {
239
+ // download first before we test buildTemplate
240
+ await handler.retrieve('testInstance/testBU', ['journey', 'asset']);
241
+
242
+ handler.setOptions({ dependencies: true, retrieve: true });
243
+
244
+ // GIVEN there is a template
245
+ const templatedItems = await handler.buildTemplate(
246
+ 'testInstance/testBU',
247
+ 'journey',
248
+ ['testExisting_journey_Quicksend', 'testExisting_journey_Multistep'],
249
+ 'testSourceMarket'
250
+ );
251
+ // WHEN
252
+ assert.equal(process.exitCode, 0, 'buildTemplate should not have thrown an error');
253
+
254
+ assert.deepEqual(
255
+ Object.keys(templatedItems),
256
+ [
257
+ 'journey',
258
+ 'event',
259
+ 'dataExtension',
260
+ 'senderProfile',
261
+ 'sendClassification',
262
+ 'asset',
263
+ ],
264
+ 'expected specific types to be templated'
265
+ );
266
+
267
+ // journey
268
+ assert.deepEqual(
269
+ templatedItems.journey.map((item) => item.key),
270
+ ['{{{prefix}}}journey_Quicksend', '{{{prefix}}}journey_Multistep'],
271
+ 'expected specific journeys to be templated'
272
+ );
273
+ // event
274
+ assert.deepEqual(
275
+ templatedItems.event.map((item) => item.eventDefinitionKey),
276
+ [
277
+ 'DEAudience-11be962d-064c-83d9-2804-7d1befc10325',
278
+ 'DEAudience-2e3c73b6-48cc-2ec0-5522-48636e1a236e',
279
+ ],
280
+ 'expected specific events to be templated'
281
+ );
282
+ // dataExtension
283
+ assert.deepEqual(
284
+ templatedItems.dataExtension.map((item) => item.CustomerKey),
285
+ [
286
+ '{{{prefix}}}journey_Quicksend',
287
+ '{{{prefix}}}journey_Multistep',
288
+ '{{{prefix}}}DomainExclusion',
289
+ ],
290
+ 'expected specific dataExtensions to be templated'
291
+ );
292
+ // senderProfile
293
+ assert.deepEqual(
294
+ templatedItems.senderProfile.map((item) => item.CustomerKey),
295
+ ['{{{prefix}}}senderProfile'],
296
+ 'expected specific assets to be templated'
297
+ );
298
+ // sendClassification
299
+ assert.deepEqual(
300
+ templatedItems.sendClassification.map((item) => item.CustomerKey),
301
+ ['{{{prefix}}}sendClassification'],
302
+ 'expected specific sendClassifications to be templated'
303
+ );
304
+ // asset
305
+ assert.deepEqual(
306
+ templatedItems.asset.map((item) => item.customerKey),
307
+ ['{{{prefix}}}asset_htmlblock', '{{{prefix}}}htmlblock1', '{{{prefix}}}htmlblock2'],
308
+ 'expected specific assets to be templated'
309
+ );
310
+ });
237
311
  });
238
312
 
239
313
  describe('Delete ================', () => {
@@ -323,7 +397,7 @@ describe('type: journey', () => {
323
397
 
324
398
  assert.equal(
325
399
  testUtils.getAPIHistoryLength(),
326
- 38,
400
+ 29,
327
401
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
328
402
  );
329
403
  return;
@@ -358,7 +432,7 @@ describe('type: journey', () => {
358
432
 
359
433
  assert.equal(
360
434
  testUtils.getAPIHistoryLength(),
361
- 38,
435
+ 29,
362
436
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
363
437
  );
364
438
  return;
@@ -393,7 +467,246 @@ describe('type: journey', () => {
393
467
 
394
468
  assert.equal(
395
469
  testUtils.getAPIHistoryLength(),
396
- 38,
470
+ 29,
471
+ 'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
472
+ );
473
+ return;
474
+ });
475
+ });
476
+
477
+ describe('Publish ================', () => {
478
+ it('Should publish a journey by key (auto-picks latest version)', async () => {
479
+ handler.setOptions({ skipStatusCheck: true });
480
+ // WHEN
481
+ const publish = await handler.publish(
482
+ 'testInstance/testBU',
483
+ ['journey'],
484
+ ['testExisting_journey_Quicksend']
485
+ );
486
+ // THEN
487
+ assert.equal(process.exitCode, 0, 'publish should not have thrown an error');
488
+ // retrieve result
489
+ assert.deepEqual(
490
+ publish['testInstance/testBU']?.journey,
491
+ ['testExisting_journey_Quicksend'],
492
+ 'should have published the right journey'
493
+ );
494
+
495
+ // get callouts
496
+ const publishCallout = testUtils.getRestCallout(
497
+ 'post',
498
+ '/interaction/v1/interactions/publishAsync/%'
499
+ );
500
+ // confirm created item
501
+ assert.deepEqual(
502
+ publishCallout,
503
+ await testUtils.getExpectedJson('9999999', 'journey', 'publish-callout'),
504
+ 'create-payload JSON was not equal expected'
505
+ );
506
+
507
+ assert.equal(
508
+ testUtils.getAPIHistoryLength(),
509
+ 2,
510
+ 'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
511
+ );
512
+ return;
513
+ });
514
+
515
+ it('Should publish a journey by id w/ version', async () => {
516
+ handler.setOptions({ skipStatusCheck: true });
517
+ // WHEN
518
+ const publish = await handler.publish(
519
+ 'testInstance/testBU',
520
+ ['journey'],
521
+ ['id:3c3f4112-9b43-43ca-8a89-aa0375b2c1a2/1']
522
+ );
523
+ // THEN
524
+ assert.equal(process.exitCode, 0, 'publish should not have thrown an error');
525
+ // retrieve result
526
+ assert.deepEqual(
527
+ publish['testInstance/testBU']?.journey,
528
+ ['id:3c3f4112-9b43-43ca-8a89-aa0375b2c1a2/1'],
529
+ 'should have published the right journey'
530
+ );
531
+
532
+ // get callouts
533
+ const publishCallout = testUtils.getRestCallout(
534
+ 'post',
535
+ '/interaction/v1/interactions/publishAsync/%'
536
+ );
537
+ // confirm created item
538
+ assert.deepEqual(
539
+ publishCallout,
540
+ await testUtils.getExpectedJson('9999999', 'journey', 'publish-callout'),
541
+ 'create-payload JSON was not equal expected'
542
+ );
543
+
544
+ assert.equal(
545
+ testUtils.getAPIHistoryLength(),
546
+ 1,
547
+ 'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
548
+ );
549
+ return;
550
+ });
551
+
552
+ it('Should publish a journey by id but w/o version (auto-picks latest version)', async () => {
553
+ handler.setOptions({ skipStatusCheck: true });
554
+ // WHEN
555
+ const publish = await handler.publish(
556
+ 'testInstance/testBU',
557
+ ['journey'],
558
+ ['id:3c3f4112-9b43-43ca-8a89-aa0375b2c1a2']
559
+ );
560
+ // THEN
561
+ assert.equal(process.exitCode, 0, 'publish should not have thrown an error');
562
+ // retrieve result
563
+ assert.deepEqual(
564
+ publish['testInstance/testBU']?.journey,
565
+ ['id:3c3f4112-9b43-43ca-8a89-aa0375b2c1a2'],
566
+ 'should have published the right journey'
567
+ );
568
+
569
+ // get callouts
570
+ const publishCallout = testUtils.getRestCallout(
571
+ 'post',
572
+ '/interaction/v1/interactions/publishAsync/%'
573
+ );
574
+ // confirm created item
575
+ assert.deepEqual(
576
+ publishCallout,
577
+ await testUtils.getExpectedJson('9999999', 'journey', 'publish-callout'),
578
+ 'create-payload JSON was not equal expected'
579
+ );
580
+
581
+ assert.equal(
582
+ testUtils.getAPIHistoryLength(),
583
+ 2,
584
+ 'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
585
+ );
586
+ return;
587
+ });
588
+
589
+ it('Should publish a journey by id w/ version with failing status check', async () => {
590
+ await testUtils.copyFile(
591
+ 'interaction/v1/interactions/publishStatus/45f06c0a-3ed2-48b2-a6a8-b5119253f01c/get-response-failed.json',
592
+ 'interaction/v1/interactions/publishStatus/45f06c0a-3ed2-48b2-a6a8-b5119253f01c/get-response.json'
593
+ );
594
+
595
+ handler.setOptions({ skipStatusCheck: false, _runningTest: true });
596
+ // WHEN
597
+ const publish = await handler.publish(
598
+ 'testInstance/testBU',
599
+ ['journey'],
600
+ ['id:3c3f4112-9b43-43ca-8a89-aa0375b2c1a2/1']
601
+ );
602
+ // THEN
603
+ assert.equal(process.exitCode, 1, 'publish should have thrown an error');
604
+ // retrieve result
605
+ assert.equal(
606
+ publish['testInstance/testBU']?.journey.length,
607
+ 0,
608
+ 'should have not published the journey'
609
+ );
610
+
611
+ // get callouts
612
+ const publishCallout = testUtils.getRestCallout(
613
+ 'post',
614
+ '/interaction/v1/interactions/publishAsync/%'
615
+ );
616
+ // confirm created item
617
+ assert.deepEqual(
618
+ publishCallout,
619
+ await testUtils.getExpectedJson('9999999', 'journey', 'publish-callout'),
620
+ 'create-payload JSON was not equal expected'
621
+ );
622
+
623
+ assert.equal(
624
+ testUtils.getAPIHistoryLength(),
625
+ 2,
626
+ 'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
627
+ );
628
+ return;
629
+ });
630
+
631
+ it('Should publish a journey by id w/ version with successful status check but with warnings', async () => {
632
+ await testUtils.copyFile(
633
+ 'interaction/v1/interactions/publishStatus/45f06c0a-3ed2-48b2-a6a8-b5119253f01c/get-response-successWarnings.json',
634
+ 'interaction/v1/interactions/publishStatus/45f06c0a-3ed2-48b2-a6a8-b5119253f01c/get-response.json'
635
+ );
636
+
637
+ handler.setOptions({ skipStatusCheck: false, _runningTest: true });
638
+ // WHEN
639
+ const publish = await handler.publish(
640
+ 'testInstance/testBU',
641
+ ['journey'],
642
+ ['id:3c3f4112-9b43-43ca-8a89-aa0375b2c1a2/1']
643
+ );
644
+ // THEN
645
+ assert.equal(process.exitCode, 0, 'publish should not have thrown an error');
646
+ // retrieve result
647
+ assert.deepEqual(
648
+ publish['testInstance/testBU']?.journey,
649
+ ['id:3c3f4112-9b43-43ca-8a89-aa0375b2c1a2/1'],
650
+ 'should have published the journey'
651
+ );
652
+
653
+ // get callouts
654
+ const publishCallout = testUtils.getRestCallout(
655
+ 'post',
656
+ '/interaction/v1/interactions/publishAsync/%'
657
+ );
658
+ // confirm created item
659
+ assert.deepEqual(
660
+ publishCallout,
661
+ await testUtils.getExpectedJson('9999999', 'journey', 'publish-callout'),
662
+ 'create-payload JSON was not equal expected'
663
+ );
664
+
665
+ assert.equal(
666
+ testUtils.getAPIHistoryLength(),
667
+ 2,
668
+ 'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
669
+ );
670
+ return;
671
+ });
672
+
673
+ it('Should publish a journey by id w/ version with successful status check', async () => {
674
+ await testUtils.copyFile(
675
+ 'interaction/v1/interactions/publishStatus/45f06c0a-3ed2-48b2-a6a8-b5119253f01c/get-response-success.json',
676
+ 'interaction/v1/interactions/publishStatus/45f06c0a-3ed2-48b2-a6a8-b5119253f01c/get-response.json'
677
+ );
678
+
679
+ handler.setOptions({ skipStatusCheck: false, _runningTest: true });
680
+ // WHEN
681
+ const publish = await handler.publish(
682
+ 'testInstance/testBU',
683
+ ['journey'],
684
+ ['id:3c3f4112-9b43-43ca-8a89-aa0375b2c1a2/1']
685
+ );
686
+ // THEN
687
+ assert.equal(process.exitCode, 0, 'publish should not have thrown an error');
688
+ // retrieve result
689
+ assert.deepEqual(
690
+ publish['testInstance/testBU']?.journey,
691
+ ['id:3c3f4112-9b43-43ca-8a89-aa0375b2c1a2/1'],
692
+ 'should have published the journey'
693
+ );
694
+
695
+ // get callouts
696
+ const publishCallout = testUtils.getRestCallout(
697
+ 'post',
698
+ '/interaction/v1/interactions/publishAsync/%'
699
+ );
700
+ // confirm created item
701
+ assert.deepEqual(
702
+ publishCallout,
703
+ await testUtils.getExpectedJson('9999999', 'journey', 'publish-callout'),
704
+ 'create-payload JSON was not equal expected'
705
+ );
706
+
707
+ assert.equal(
708
+ testUtils.getAPIHistoryLength(),
709
+ 2,
397
710
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
398
711
  );
399
712
  return;
@@ -48,7 +48,7 @@ describe('type: query', () => {
48
48
 
49
49
  assert.equal(
50
50
  testUtils.getAPIHistoryLength(),
51
- 6,
51
+ 5,
52
52
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
53
53
  );
54
54
  return;
@@ -76,7 +76,7 @@ describe('type: query', () => {
76
76
  );
77
77
  assert.equal(
78
78
  testUtils.getAPIHistoryLength(),
79
- 7,
79
+ 6,
80
80
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
81
81
  );
82
82
  return;
@@ -107,7 +107,7 @@ describe('type: query', () => {
107
107
  .exist;
108
108
  assert.equal(
109
109
  testUtils.getAPIHistoryLength(),
110
- 6,
110
+ 5,
111
111
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
112
112
  );
113
113
  return;
@@ -133,7 +133,7 @@ describe('type: query', () => {
133
133
  .exist;
134
134
  assert.equal(
135
135
  testUtils.getAPIHistoryLength(),
136
- 6,
136
+ 5,
137
137
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
138
138
  );
139
139
  return;
@@ -189,7 +189,7 @@ describe('type: query', () => {
189
189
  // check number of API calls
190
190
  assert.equal(
191
191
  testUtils.getAPIHistoryLength(),
192
- 8,
192
+ 7,
193
193
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
194
194
  );
195
195
  return;
@@ -221,7 +221,7 @@ describe('type: query', () => {
221
221
  // check number of API calls
222
222
  assert.equal(
223
223
  testUtils.getAPIHistoryLength(),
224
- 12,
224
+ 11,
225
225
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
226
226
  );
227
227
  return;
@@ -285,7 +285,7 @@ describe('type: query', () => {
285
285
  // check number of API calls
286
286
  assert.equal(
287
287
  testUtils.getAPIHistoryLength(),
288
- 14,
288
+ 12,
289
289
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
290
290
  );
291
291
  return;
@@ -339,7 +339,7 @@ describe('type: query', () => {
339
339
  // check number of API calls
340
340
  assert.equal(
341
341
  testUtils.getAPIHistoryLength(),
342
- 14,
342
+ 12,
343
343
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
344
344
  );
345
345
  return;
@@ -395,7 +395,7 @@ describe('type: query', () => {
395
395
  // check number of API calls
396
396
  assert.equal(
397
397
  testUtils.getAPIHistoryLength(),
398
- 14,
398
+ 12,
399
399
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
400
400
  );
401
401
  return;
@@ -471,7 +471,7 @@ describe('type: query', () => {
471
471
  // check number of API calls
472
472
  assert.equal(
473
473
  testUtils.getAPIHistoryLength(),
474
- 7,
474
+ 6,
475
475
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
476
476
  );
477
477
  return;
@@ -509,7 +509,7 @@ describe('type: query', () => {
509
509
  // check number of API calls
510
510
  assert.equal(
511
511
  testUtils.getAPIHistoryLength(),
512
- 16,
512
+ 14,
513
513
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
514
514
  );
515
515
  return;
@@ -560,7 +560,7 @@ describe('type: query', () => {
560
560
  // check number of API calls
561
561
  assert.equal(
562
562
  testUtils.getAPIHistoryLength(),
563
- 16,
563
+ 14,
564
564
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
565
565
  );
566
566
  return;
@@ -602,7 +602,7 @@ describe('type: query', () => {
602
602
  // check number of API calls
603
603
  assert.equal(
604
604
  testUtils.getAPIHistoryLength(),
605
- 18,
605
+ 16,
606
606
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
607
607
  );
608
608
  return;
@@ -640,7 +640,7 @@ describe('type: query', () => {
640
640
  // check number of API calls
641
641
  assert.equal(
642
642
  testUtils.getAPIHistoryLength(),
643
- 38,
643
+ 35,
644
644
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
645
645
  );
646
646
  return;
@@ -682,7 +682,7 @@ describe('type: query', () => {
682
682
  // check number of API calls
683
683
  assert.equal(
684
684
  testUtils.getAPIHistoryLength(),
685
- 40,
685
+ 37,
686
686
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
687
687
  );
688
688
  return;
@@ -719,7 +719,7 @@ describe('type: query', () => {
719
719
  // check number of API calls
720
720
  assert.equal(
721
721
  testUtils.getAPIHistoryLength(),
722
- 14,
722
+ 12,
723
723
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
724
724
  );
725
725
  return;
@@ -770,7 +770,7 @@ describe('type: query', () => {
770
770
 
771
771
  assert.equal(
772
772
  testUtils.getAPIHistoryLength(),
773
- 6,
773
+ 5,
774
774
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
775
775
  );
776
776
  return;
@@ -822,7 +822,7 @@ describe('type: query', () => {
822
822
 
823
823
  assert.equal(
824
824
  testUtils.getAPIHistoryLength(),
825
- 6,
825
+ 5,
826
826
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
827
827
  );
828
828
  return;
@@ -871,17 +871,19 @@ describe('type: query', () => {
871
871
 
872
872
  describe('Execute ================', () => {
873
873
  it('Should start a query by key', async () => {
874
- const executedKeys = await handler.execute('testInstance/testBU', 'query', [
875
- 'testExisting_query',
876
- ]);
874
+ const executedKeys = await handler.execute(
875
+ 'testInstance/testBU',
876
+ ['query'],
877
+ ['testExisting_query']
878
+ );
877
879
  assert.equal(process.exitCode, 0, 'execute should not have thrown an error');
878
880
  assert.equal(
879
- executedKeys['testInstance/testBU']?.length,
881
+ executedKeys['testInstance/testBU']?.query?.length,
880
882
  1,
881
883
  'returned number of keys does not correspond to number of expected fixed keys'
882
884
  );
883
885
  assert.equal(
884
- executedKeys['testInstance/testBU'][0],
886
+ executedKeys['testInstance/testBU']?.query[0],
885
887
  'testExisting_query',
886
888
  'returned keys do not correspond to expected fixed keys'
887
889
  );
@@ -890,15 +892,15 @@ describe('type: query', () => {
890
892
 
891
893
  it('Should start a query selected via --like', async () => {
892
894
  handler.setOptions({ like: { key: 'testExist%query' } });
893
- const executedKeys = await handler.execute('testInstance/testBU', 'query');
895
+ const executedKeys = await handler.execute('testInstance/testBU', ['query']);
894
896
  assert.equal(process.exitCode, 0, 'execute should not have thrown an error');
895
897
  assert.equal(
896
- executedKeys['testInstance/testBU']?.length,
898
+ executedKeys['testInstance/testBU']?.query?.length,
897
899
  1,
898
900
  'returned number of keys does not correspond to number of expected fixed keys'
899
901
  );
900
902
  assert.equal(
901
- executedKeys['testInstance/testBU'][0],
903
+ executedKeys['testInstance/testBU']?.query[0],
902
904
  'testExisting_query',
903
905
  'returned keys do not correspond to expected fixed keys'
904
906
  );
@@ -907,9 +909,11 @@ describe('type: query', () => {
907
909
 
908
910
  it('Should not start executing a query because key and --like was specified', async () => {
909
911
  handler.setOptions({ like: { key: 'testExisting%' } });
910
- const executedKeys = await handler.execute('testInstance/testBU', 'query', [
911
- 'testExisting_query',
912
- ]);
912
+ const executedKeys = await handler.execute(
913
+ 'testInstance/testBU',
914
+ ['query'],
915
+ ['testExisting_query']
916
+ );
913
917
  assert.equal(process.exitCode, 1, 'execute should have thrown an error');
914
918
  assert.equal(
915
919
  Object.keys(executedKeys).length,