mcdev 7.0.3 → 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 (380) hide show
  1. package/.github/ISSUE_TEMPLATE/bug.yml +2 -0
  2. package/.github/PULL_REQUEST_TEMPLATE/pr_template_release.md +1 -0
  3. package/.github/workflows/code-test.yml +48 -0
  4. package/.husky/post-checkout +1 -1
  5. package/.husky/post-merge +7 -1
  6. package/.husky/pre-commit +3 -1
  7. package/@types/lib/Builder.d.ts +13 -13
  8. package/@types/lib/Builder.d.ts.map +1 -1
  9. package/@types/lib/Deployer.d.ts +19 -16
  10. package/@types/lib/Deployer.d.ts.map +1 -1
  11. package/@types/lib/Retriever.d.ts +15 -15
  12. package/@types/lib/Retriever.d.ts.map +1 -1
  13. package/@types/lib/cli.d.ts +1 -1
  14. package/@types/lib/cli.d.ts.map +1 -1
  15. package/@types/lib/index.d.ts +102 -51
  16. package/@types/lib/index.d.ts.map +1 -1
  17. package/@types/lib/metadataTypes/Asset.d.ts +71 -59
  18. package/@types/lib/metadataTypes/Asset.d.ts.map +1 -1
  19. package/@types/lib/metadataTypes/AttributeGroup.d.ts +6 -8
  20. package/@types/lib/metadataTypes/AttributeGroup.d.ts.map +1 -1
  21. package/@types/lib/metadataTypes/AttributeSet.d.ts +10 -21
  22. package/@types/lib/metadataTypes/AttributeSet.d.ts.map +1 -1
  23. package/@types/lib/metadataTypes/Automation.d.ts +47 -49
  24. package/@types/lib/metadataTypes/Automation.d.ts.map +1 -1
  25. package/@types/lib/metadataTypes/Campaign.d.ts +12 -18
  26. package/@types/lib/metadataTypes/Campaign.d.ts.map +1 -1
  27. package/@types/lib/metadataTypes/ContentArea.d.ts +13 -31
  28. package/@types/lib/metadataTypes/ContentArea.d.ts.map +1 -1
  29. package/@types/lib/metadataTypes/DataExtension.d.ts +28 -33
  30. package/@types/lib/metadataTypes/DataExtension.d.ts.map +1 -1
  31. package/@types/lib/metadataTypes/DataExtensionField.d.ts +15 -22
  32. package/@types/lib/metadataTypes/DataExtensionField.d.ts.map +1 -1
  33. package/@types/lib/metadataTypes/DataExtensionTemplate.d.ts +12 -11
  34. package/@types/lib/metadataTypes/DataExtensionTemplate.d.ts.map +1 -1
  35. package/@types/lib/metadataTypes/DataExtract.d.ts +13 -28
  36. package/@types/lib/metadataTypes/DataExtract.d.ts.map +1 -1
  37. package/@types/lib/metadataTypes/DataExtractType.d.ts +11 -10
  38. package/@types/lib/metadataTypes/DataExtractType.d.ts.map +1 -1
  39. package/@types/lib/metadataTypes/DeliveryProfile.d.ts +11 -10
  40. package/@types/lib/metadataTypes/DeliveryProfile.d.ts.map +1 -1
  41. package/@types/lib/metadataTypes/Discovery.d.ts +11 -10
  42. package/@types/lib/metadataTypes/Discovery.d.ts.map +1 -1
  43. package/@types/lib/metadataTypes/Email.d.ts +14 -34
  44. package/@types/lib/metadataTypes/Email.d.ts.map +1 -1
  45. package/@types/lib/metadataTypes/EmailSend.d.ts +18 -10
  46. package/@types/lib/metadataTypes/EmailSend.d.ts.map +1 -1
  47. package/@types/lib/metadataTypes/Event.d.ts +22 -16
  48. package/@types/lib/metadataTypes/Event.d.ts.map +1 -1
  49. package/@types/lib/metadataTypes/FileLocation.d.ts +11 -10
  50. package/@types/lib/metadataTypes/FileLocation.d.ts.map +1 -1
  51. package/@types/lib/metadataTypes/FileTransfer.d.ts +12 -18
  52. package/@types/lib/metadataTypes/FileTransfer.d.ts.map +1 -1
  53. package/@types/lib/metadataTypes/Filter.d.ts +11 -10
  54. package/@types/lib/metadataTypes/Filter.d.ts.map +1 -1
  55. package/@types/lib/metadataTypes/Folder.d.ts +49 -35
  56. package/@types/lib/metadataTypes/Folder.d.ts.map +1 -1
  57. package/@types/lib/metadataTypes/ImportFile.d.ts +16 -15
  58. package/@types/lib/metadataTypes/ImportFile.d.ts.map +1 -1
  59. package/@types/lib/metadataTypes/Journey.d.ts +55 -35
  60. package/@types/lib/metadataTypes/Journey.d.ts.map +1 -1
  61. package/@types/lib/metadataTypes/List.d.ts +13 -12
  62. package/@types/lib/metadataTypes/List.d.ts.map +1 -1
  63. package/@types/lib/metadataTypes/MetadataType.d.ts +73 -26
  64. package/@types/lib/metadataTypes/MetadataType.d.ts.map +1 -1
  65. package/@types/lib/metadataTypes/MobileCode.d.ts +12 -20
  66. package/@types/lib/metadataTypes/MobileCode.d.ts.map +1 -1
  67. package/@types/lib/metadataTypes/MobileKeyword.d.ts +23 -14
  68. package/@types/lib/metadataTypes/MobileKeyword.d.ts.map +1 -1
  69. package/@types/lib/metadataTypes/MobileMessage.d.ts +18 -42
  70. package/@types/lib/metadataTypes/MobileMessage.d.ts.map +1 -1
  71. package/@types/lib/metadataTypes/Query.d.ts +15 -12
  72. package/@types/lib/metadataTypes/Query.d.ts.map +1 -1
  73. package/@types/lib/metadataTypes/Role.d.ts +12 -11
  74. package/@types/lib/metadataTypes/Role.d.ts.map +1 -1
  75. package/@types/lib/metadataTypes/Script.d.ts +18 -25
  76. package/@types/lib/metadataTypes/Script.d.ts.map +1 -1
  77. package/@types/lib/metadataTypes/SendClassification.d.ts +13 -10
  78. package/@types/lib/metadataTypes/SendClassification.d.ts.map +1 -1
  79. package/@types/lib/metadataTypes/SenderProfile.d.ts +12 -25
  80. package/@types/lib/metadataTypes/SenderProfile.d.ts.map +1 -1
  81. package/@types/lib/metadataTypes/TransactionalEmail.d.ts +18 -12
  82. package/@types/lib/metadataTypes/TransactionalEmail.d.ts.map +1 -1
  83. package/@types/lib/metadataTypes/TransactionalMessage.d.ts +12 -32
  84. package/@types/lib/metadataTypes/TransactionalMessage.d.ts.map +1 -1
  85. package/@types/lib/metadataTypes/TransactionalPush.d.ts +15 -21
  86. package/@types/lib/metadataTypes/TransactionalPush.d.ts.map +1 -1
  87. package/@types/lib/metadataTypes/TransactionalSMS.d.ts +16 -18
  88. package/@types/lib/metadataTypes/TransactionalSMS.d.ts.map +1 -1
  89. package/@types/lib/metadataTypes/TriggeredSend.d.ts +19 -24
  90. package/@types/lib/metadataTypes/TriggeredSend.d.ts.map +1 -1
  91. package/@types/lib/metadataTypes/User.d.ts +23 -40
  92. package/@types/lib/metadataTypes/User.d.ts.map +1 -1
  93. package/@types/lib/metadataTypes/Verification.d.ts +16 -13
  94. package/@types/lib/metadataTypes/Verification.d.ts.map +1 -1
  95. package/@types/lib/metadataTypes/definitions/Asset.definition.d.ts +24 -14
  96. package/@types/lib/metadataTypes/definitions/AttributeGroup.definition.d.ts +3 -0
  97. package/@types/lib/metadataTypes/definitions/AttributeSet.definition.d.ts +5 -0
  98. package/@types/lib/metadataTypes/definitions/Automation.definition.d.ts +16 -0
  99. package/@types/lib/metadataTypes/definitions/Campaign.definition.d.ts +1 -0
  100. package/@types/lib/metadataTypes/definitions/ContentArea.definition.d.ts +1 -0
  101. package/@types/lib/metadataTypes/definitions/DataExtension.definition.d.ts +1 -0
  102. package/@types/lib/metadataTypes/definitions/DataExtensionField.definition.d.ts +1 -0
  103. package/@types/lib/metadataTypes/definitions/DataExtensionTemplate.definition.d.ts +1 -0
  104. package/@types/lib/metadataTypes/definitions/DataExtract.definition.d.ts +1 -0
  105. package/@types/lib/metadataTypes/definitions/DataExtractType.definition.d.ts +1 -0
  106. package/@types/lib/metadataTypes/definitions/DeliveryProfile.definition.d.ts +1 -0
  107. package/@types/lib/metadataTypes/definitions/Discovery.definition.d.ts +1 -0
  108. package/@types/lib/metadataTypes/definitions/Email.definition.d.ts +1 -0
  109. package/@types/lib/metadataTypes/definitions/EmailSend.definition.d.ts +8 -0
  110. package/@types/lib/metadataTypes/definitions/Event.definition.d.ts +10 -1
  111. package/@types/lib/metadataTypes/definitions/FileLocation.definition.d.ts +1 -0
  112. package/@types/lib/metadataTypes/definitions/FileTransfer.definition.d.ts +1 -0
  113. package/@types/lib/metadataTypes/definitions/Filter.definition.d.ts +1 -0
  114. package/@types/lib/metadataTypes/definitions/Folder.definition.d.ts +1 -0
  115. package/@types/lib/metadataTypes/definitions/ImportFile.definition.d.ts +5 -0
  116. package/@types/lib/metadataTypes/definitions/Journey.definition.d.ts +13 -0
  117. package/@types/lib/metadataTypes/definitions/List.definition.d.ts +1 -0
  118. package/@types/lib/metadataTypes/definitions/MobileCode.definition.d.ts +1 -0
  119. package/@types/lib/metadataTypes/definitions/MobileKeyword.definition.d.ts +9 -0
  120. package/@types/lib/metadataTypes/definitions/MobileMessage.definition.d.ts +4 -0
  121. package/@types/lib/metadataTypes/definitions/Query.definition.d.ts +3 -0
  122. package/@types/lib/metadataTypes/definitions/Role.definition.d.ts +1 -0
  123. package/@types/lib/metadataTypes/definitions/Script.definition.d.ts +1 -0
  124. package/@types/lib/metadataTypes/definitions/SendClassification.definition.d.ts +3 -0
  125. package/@types/lib/metadataTypes/definitions/SenderProfile.definition.d.ts +1 -0
  126. package/@types/lib/metadataTypes/definitions/TransactionalEmail.definition.d.ts +6 -0
  127. package/@types/lib/metadataTypes/definitions/TransactionalMessage.definition.d.ts +1 -0
  128. package/@types/lib/metadataTypes/definitions/TransactionalPush.definition.d.ts +3 -0
  129. package/@types/lib/metadataTypes/definitions/TransactionalSMS.definition.d.ts +4 -0
  130. package/@types/lib/metadataTypes/definitions/TriggeredSend.definition.d.ts +6 -0
  131. package/@types/lib/metadataTypes/definitions/User.definition.d.ts +1 -0
  132. package/@types/lib/metadataTypes/definitions/Verification.definition.d.ts +3 -0
  133. package/@types/lib/util/auth.d.ts +19 -18
  134. package/@types/lib/util/auth.d.ts.map +1 -1
  135. package/@types/lib/util/businessUnit.d.ts +17 -17
  136. package/@types/lib/util/businessUnit.d.ts.map +1 -1
  137. package/@types/lib/util/cache.d.ts +34 -32
  138. package/@types/lib/util/cache.d.ts.map +1 -1
  139. package/@types/lib/util/cli.d.ts +30 -33
  140. package/@types/lib/util/cli.d.ts.map +1 -1
  141. package/@types/lib/util/config.d.ts +20 -20
  142. package/@types/lib/util/config.d.ts.map +1 -1
  143. package/@types/lib/util/devops.d.ts +21 -21
  144. package/@types/lib/util/devops.d.ts.map +1 -1
  145. package/@types/lib/util/file.d.ts +179 -18
  146. package/@types/lib/util/file.d.ts.map +1 -1
  147. package/@types/lib/util/init.config.d.ts +19 -19
  148. package/@types/lib/util/init.config.d.ts.map +1 -1
  149. package/@types/lib/util/init.d.ts +20 -20
  150. package/@types/lib/util/init.d.ts.map +1 -1
  151. package/@types/lib/util/init.git.d.ts +2 -2
  152. package/@types/lib/util/init.git.d.ts.map +1 -1
  153. package/@types/lib/util/init.npm.d.ts +2 -2
  154. package/@types/lib/util/init.npm.d.ts.map +1 -1
  155. package/@types/lib/util/replaceContentBlockReference.d.ts +55 -32
  156. package/@types/lib/util/replaceContentBlockReference.d.ts.map +1 -1
  157. package/@types/lib/util/util.d.ts +64 -39
  158. package/@types/lib/util/util.d.ts.map +1 -1
  159. package/@types/types/mcdev.d.d.ts +160 -52
  160. package/@types/types/mcdev.d.d.ts.map +1 -1
  161. package/boilerplate/files/.vscode/settings.json +1 -0
  162. package/boilerplate/forcedUpdates.json +4 -0
  163. package/boilerplate/gitignore-template +0 -1
  164. package/eslint.config.js +0 -1
  165. package/lib/Builder.js +13 -8
  166. package/lib/Deployer.js +13 -8
  167. package/lib/Retriever.js +4 -1
  168. package/lib/cli.js +384 -288
  169. package/lib/index.js +620 -241
  170. package/lib/metadataTypes/Asset.js +455 -209
  171. package/lib/metadataTypes/Automation.js +34 -0
  172. package/lib/metadataTypes/DataExtension.js +36 -31
  173. package/lib/metadataTypes/DataExtensionField.js +2 -3
  174. package/lib/metadataTypes/Event.js +227 -37
  175. package/lib/metadataTypes/Folder.js +64 -49
  176. package/lib/metadataTypes/Journey.js +340 -58
  177. package/lib/metadataTypes/MetadataType.js +272 -61
  178. package/lib/metadataTypes/MobileKeyword.js +12 -1
  179. package/lib/metadataTypes/Role.js +9 -7
  180. package/lib/metadataTypes/Script.js +4 -3
  181. package/lib/metadataTypes/SenderProfile.js +18 -5
  182. package/lib/metadataTypes/TransactionalEmail.js +2 -2
  183. package/lib/metadataTypes/TriggeredSend.js +21 -5
  184. package/lib/metadataTypes/User.js +31 -27
  185. package/lib/metadataTypes/definitions/Asset.definition.js +10 -2
  186. package/lib/metadataTypes/definitions/AttributeGroup.definition.js +1 -0
  187. package/lib/metadataTypes/definitions/AttributeSet.definition.js +11 -0
  188. package/lib/metadataTypes/definitions/Automation.definition.js +9 -0
  189. package/lib/metadataTypes/definitions/Campaign.definition.js +1 -0
  190. package/lib/metadataTypes/definitions/ContentArea.definition.js +1 -0
  191. package/lib/metadataTypes/definitions/DataExtension.definition.js +1 -0
  192. package/lib/metadataTypes/definitions/DataExtensionField.definition.js +1 -0
  193. package/lib/metadataTypes/definitions/DataExtensionTemplate.definition.js +1 -0
  194. package/lib/metadataTypes/definitions/DataExtract.definition.js +2 -1
  195. package/lib/metadataTypes/definitions/DataExtractType.definition.js +1 -0
  196. package/lib/metadataTypes/definitions/DeliveryProfile.definition.js +1 -0
  197. package/lib/metadataTypes/definitions/Discovery.definition.js +1 -0
  198. package/lib/metadataTypes/definitions/Email.definition.js +1 -0
  199. package/lib/metadataTypes/definitions/EmailSend.definition.js +8 -0
  200. package/lib/metadataTypes/definitions/Event.definition.js +9 -8
  201. package/lib/metadataTypes/definitions/FileLocation.definition.js +1 -0
  202. package/lib/metadataTypes/definitions/FileTransfer.definition.js +4 -0
  203. package/lib/metadataTypes/definitions/Filter.definition.js +1 -0
  204. package/lib/metadataTypes/definitions/Folder.definition.js +10 -8
  205. package/lib/metadataTypes/definitions/ImportFile.definition.js +8 -1
  206. package/lib/metadataTypes/definitions/Journey.definition.js +28 -0
  207. package/lib/metadataTypes/definitions/List.definition.js +1 -0
  208. package/lib/metadataTypes/definitions/MobileCode.definition.js +1 -0
  209. package/lib/metadataTypes/definitions/MobileKeyword.definition.js +7 -0
  210. package/lib/metadataTypes/definitions/MobileMessage.definition.js +9 -0
  211. package/lib/metadataTypes/definitions/Query.definition.js +3 -0
  212. package/lib/metadataTypes/definitions/Role.definition.js +1 -0
  213. package/lib/metadataTypes/definitions/Script.definition.js +1 -0
  214. package/lib/metadataTypes/definitions/SendClassification.definition.js +4 -0
  215. package/lib/metadataTypes/definitions/SenderProfile.definition.js +1 -0
  216. package/lib/metadataTypes/definitions/TransactionalEmail.definition.js +7 -0
  217. package/lib/metadataTypes/definitions/TransactionalMessage.definition.js +1 -0
  218. package/lib/metadataTypes/definitions/TransactionalPush.definition.js +3 -0
  219. package/lib/metadataTypes/definitions/TransactionalSMS.definition.js +4 -0
  220. package/lib/metadataTypes/definitions/TriggeredSend.definition.js +10 -3
  221. package/lib/metadataTypes/definitions/User.definition.js +3 -0
  222. package/lib/metadataTypes/definitions/Verification.definition.js +1 -0
  223. package/lib/util/auth.js +0 -1
  224. package/lib/util/cache.js +35 -0
  225. package/lib/util/cli.js +96 -140
  226. package/lib/util/config.js +11 -19
  227. package/lib/util/devops.js +42 -43
  228. package/lib/util/file.js +7 -10
  229. package/lib/util/init.config.js +6 -10
  230. package/lib/util/init.git.js +43 -57
  231. package/lib/util/init.js +35 -59
  232. package/lib/util/replaceContentBlockReference.js +110 -61
  233. package/lib/util/util.js +90 -4
  234. package/package.json +22 -19
  235. package/test/general.test.js +1144 -172
  236. package/test/mockRoot/.mcdevrc.json +1 -1
  237. package/test/mockRoot/deploy/testInstance/testBU/event/testExisting_event.event-meta.json +201 -0
  238. package/test/mockRoot/deploy/testInstance/testBU/event/testNew_event_withExistingDE.event-meta.json +233 -0
  239. package/test/mockRoot/deploy/testInstance/testBU/event/testNew_event_withSchema.event-meta.json +194 -0
  240. package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/4912312345678.TESTNEW_KEYWORD.mobileKeyword-meta.json +1 -0
  241. package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/4912312345678.TESTNEW_KEYWORD_BLOCKED.mobileKeyword-meta.json +1 -0
  242. package/test/resourceFactory.js +43 -11
  243. package/test/resources/1111111/dataFolder/retrieve-ContentTypeINshared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-response.xml +364 -0
  244. package/test/resources/9999999/asset/{block-1157-retrieve-expected.html → build-asset_htmlblock-expected.html} +1 -1
  245. package/test/resources/9999999/asset/build-asset_htmlblock-expected.json +29 -0
  246. package/test/resources/9999999/asset/build-templatebasedemail-expected.json +65 -0
  247. package/test/resources/9999999/asset/resolveId-1295064-noPath-expected.json +3 -3
  248. package/test/resources/9999999/asset/resolveId-1295064-withPath-expected.json +3 -3
  249. package/test/resources/9999999/asset/retrieve-templatebasedemail-expected.json +65 -0
  250. package/test/resources/9999999/asset/template-emailTemplate-expected.json +20 -0
  251. package/test/resources/9999999/asset/template-templatebasedemail-expected.json +65 -0
  252. package/test/resources/9999999/asset/template-testExisting_asset_htmlblock-expected.json +29 -0
  253. package/test/resources/9999999/asset/testExisting_asset_htmlblock-retrieve-expected.html +23 -0
  254. package/test/resources/9999999/asset/{block-1157-retrieve-expected.json → testExisting_asset_htmlblock-retrieve-expected.json} +3 -3
  255. package/test/resources/9999999/asset/testExisting_asset_message-html-rcb-key-expected.html +6 -6
  256. package/test/resources/9999999/asset/testExisting_asset_message-preheader-rcb-id-expected.amp +1 -1
  257. package/test/resources/9999999/asset/testExisting_asset_message-preheader-rcb-key-expected.amp +4 -4
  258. package/test/resources/9999999/asset/testExisting_asset_message-preheader-rcb-name-expected.amp +1 -1
  259. package/test/resources/9999999/asset/testExisting_asset_message-text-rcb-key-expected.amp +4 -4
  260. package/test/resources/9999999/asset/v1/content/assets/1295064/get-response.json +4 -4
  261. package/test/resources/9999999/asset/v1/content/assets/1295065/get-response.json +60 -0
  262. package/test/resources/9999999/asset/v1/content/assets/1295066/get-response.json +60 -0
  263. package/test/resources/9999999/asset/v1/content/assets/5289/get-response.json +75 -0
  264. package/test/resources/9999999/asset/v1/content/assets/808714/get-response.json +3 -3
  265. package/test/resources/9999999/asset/v1/content/assets/950143/get-response.json +97 -0
  266. package/test/resources/9999999/asset/v1/content/assets/get-response-customerKey=testExisting_asset.json +1 -1
  267. 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
  268. 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
  269. 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
  270. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN205,206,230,232,1,207,208,209,5.json +229 -0
  271. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN205,206,230,232,1.json +98 -1
  272. 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
  273. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN223,224,225,226,227,228,214,4.json +35 -0
  274. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN223,224,225,226,227,228.json +7 -0
  275. 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
  276. package/test/resources/9999999/automation/v1/queries/get-response-Name=testExisting_query.json +24 -0
  277. package/test/resources/9999999/automation/v1/scripts/get-response-name=testExisting_script.json +17 -0
  278. package/test/resources/9999999/automation/v1/scripts/get-response.json +2 -2
  279. package/test/resources/9999999/dataExtension/retrieve-CustomerKey=testNew_event_withSchema-response.xml +50 -0
  280. package/test/resources/9999999/dataExtension/retrieve-createdViaEvent-response.xml +50 -0
  281. package/test/resources/9999999/dataExtension/retrieve-response.xml +48 -0
  282. package/test/resources/9999999/dataExtension/retrieve_event_withSchema-expected.json +219 -0
  283. package/test/resources/9999999/dataExtension/update-afterCreatedViaEvent-response.xml +55 -0
  284. package/test/resources/9999999/dataExtension/update-callout-afterCreatedViaEvent-expected.xml +1 -0
  285. package/test/resources/9999999/dataExtensionField/retrieve-DataExtension.CustomerKey=testNew_event_withSchema-response.xml +461 -0
  286. package/test/resources/9999999/dataExtensionField/retrieve-DataExtension.CustomerKeyINtestExisting_dataExtension,testNew_dataExtension-response.xml +133 -0
  287. package/test/resources/9999999/dataExtensionField/retrieve-response.xml +870 -0
  288. package/test/resources/9999999/dataFolder/retrieve-ContentType=asset-shared-QAA-response.xml +70 -0
  289. package/test/resources/9999999/dataFolder/retrieve-ContentType=asset-shared-response.xml +70 -0
  290. package/test/resources/9999999/dataFolder/retrieve-ContentType=journey-response.xml +48 -0
  291. 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
  292. 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
  293. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-shared,journey-response.xml +92 -0
  294. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-shared,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-QAA-response.xml +115 -0
  295. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-shared,ssjsactivity-response.xml +92 -0
  296. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-shared-QAA-response.xml +70 -0
  297. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset-shared,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-QAA-response.xml +431 -0
  298. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINautomations,queryactivity-response.xml +70 -0
  299. package/test/resources/9999999/dataFolder/{retrieve-response.xml → retrieve-ContentTypeINdataextension,hidden,queryactivity,salesforcedataextension,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-response.xml} +32 -119
  300. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINdataextension,salesforcedataextension,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-QAA-response.xml +117 -0
  301. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINhidden,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-response.xml +46 -0
  302. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINshared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-QAA-response.xml +251 -0
  303. package/test/resources/9999999/dataFolder/retrieve-response-.xml +519 -0
  304. package/test/resources/9999999/event/build-expected.json +227 -0
  305. package/test/resources/9999999/event/get-expected.json +234 -0
  306. package/test/resources/9999999/event/post_withExistingDE-callout-expected.json +20 -0
  307. package/test/resources/9999999/event/post_withExistingDE-expected.json +23 -0
  308. package/test/resources/9999999/event/post_withSchema-callout-expected.json +199 -0
  309. package/test/resources/9999999/event/post_withSchema-expected.json +234 -0
  310. package/test/resources/9999999/event/put-callout-expected.json +204 -0
  311. package/test/resources/9999999/event/put-expected.json +233 -0
  312. package/test/resources/9999999/event/template-expected.json +227 -0
  313. package/test/resources/9999999/interaction/v1/eventDefinitions/get-response.json +252 -2
  314. package/test/resources/9999999/interaction/v1/eventDefinitions/key_testExisting_event/delete-response.txt +0 -0
  315. package/test/resources/9999999/interaction/v1/eventDefinitions/key_testExisting_event/put-response.json +242 -0
  316. package/test/resources/9999999/interaction/v1/eventDefinitions/post_withExistingDE-response.json +28 -0
  317. package/test/resources/9999999/interaction/v1/eventDefinitions/post_withSchema-response.json +243 -0
  318. package/test/resources/9999999/interaction/v1/interactions/0175b971-71a3-4d8e-98ac-48121f3fbf4f/delete-response.txt +1 -0
  319. package/test/resources/9999999/interaction/v1/interactions/3c3f4112-9b43-43ca-8a89-aa0375b2c1a2/get-response.json +4 -4
  320. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_journey_Quicksend/get-response.json +4 -4
  321. package/test/resources/9999999/interaction/v1/interactions/publishAsync/3c3f4112-9b43-43ca-8a89-aa0375b2c1a2/post-response.json +4 -0
  322. package/test/resources/9999999/interaction/v1/interactions/publishStatus/45f06c0a-3ed2-48b2-a6a8-b5119253f01c/get-response-failed.json +34 -0
  323. package/test/resources/9999999/interaction/v1/interactions/publishStatus/45f06c0a-3ed2-48b2-a6a8-b5119253f01c/get-response-success.json +5 -0
  324. package/test/resources/9999999/interaction/v1/interactions/publishStatus/45f06c0a-3ed2-48b2-a6a8-b5119253f01c/get-response-successWarnings.json +36 -0
  325. package/test/resources/9999999/journey/build-expected.json +5 -5
  326. package/test/resources/9999999/journey/get-multistep-expected.json +1 -1
  327. package/test/resources/9999999/journey/get-quicksend-expected.json +5 -5
  328. package/test/resources/9999999/journey/get-quicksend-rcb-id-expected.json +1 -1
  329. package/test/resources/9999999/journey/get-quicksend-rcb-key-expected.json +7 -7
  330. package/test/resources/9999999/journey/get-quicksend-rcb-name-expected.json +1 -1
  331. package/test/resources/9999999/journey/post-expected.json +1 -1
  332. package/test/resources/9999999/journey/publish-callout-expected.json +1 -0
  333. package/test/resources/9999999/journey/put-expected.json +1 -1
  334. package/test/resources/9999999/journey/template-expected.json +5 -5
  335. package/test/resources/9999999/mobileKeyword/build-expected.json +1 -0
  336. package/test/resources/9999999/mobileKeyword/get-expected.json +1 -0
  337. package/test/resources/9999999/mobileKeyword/post-create-expected.json +1 -0
  338. package/test/resources/9999999/mobileKeyword/template-expected.json +1 -0
  339. package/test/resources/{1111111/accountUser/retrieve-CustomerKey=testExisting_userANDActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-response.xml → 9999999/queryDefinition/retrieve-CustomerKey=badANDStatus=Active-response.xml} +10 -11
  340. package/test/resources/9999999/script/get_ampincluded-rcb-key-expected.html +2 -2
  341. package/test/resources/9999999/script/get_ampscript-expected.html +1 -0
  342. package/test/resources/9999999/script/get_ampscript-rcb-id-expected.html +1 -0
  343. package/test/resources/9999999/script/get_ampscript-rcb-key-expected.html +3 -2
  344. package/test/resources/9999999/script/get_ampscript-rcb-name-expected.html +3 -0
  345. package/test/resources/9999999/script/get_mixed-expected.html +2 -2
  346. package/test/resources/9999999/script/get_mixed-rcb-key-expected.html +2 -2
  347. package/test/resources/9999999/senderProfile/get-rcb-key-expected.json +4 -4
  348. package/test/resources/9999999/senderProfile/retrieve-response.xml +1 -1
  349. package/test/resources/9999999/triggeredSend/get-rcb-key-expected.json +4 -4
  350. package/test/resources/9999999/triggeredSendDefinition/retrieve-TriggeredSendStatusINNew,Active,Inactive,Moved,Canceled-response.xml +1 -1
  351. package/test/type.asset.test.js +189 -42
  352. package/test/type.automation.test.js +135 -59
  353. package/test/type.dataExtension.test.js +4 -4
  354. package/test/type.dataExtract.test.js +4 -4
  355. package/test/type.emailSend.test.js +3 -3
  356. package/test/type.event.test.js +286 -7
  357. package/test/type.journey.test.js +335 -9
  358. package/test/type.query.test.js +33 -29
  359. package/test/type.script.test.js +61 -11
  360. package/test/type.senderProfile.test.js +36 -3
  361. package/test/type.transactionalEmail.test.js +3 -3
  362. package/test/type.triggeredSend.test.js +75 -6
  363. package/test/type.user.test.js +1 -1
  364. package/test/utils.js +31 -9
  365. package/tsconfig.json +6 -1
  366. package/{jsconfig.json → tsconfig.npmScripts.json} +1 -1
  367. package/tsconfig.precommit.json +26 -0
  368. package/types/mcdev.d.js +39 -14
  369. /package/test/resources/1111111/accountUser/{retrieve-ActiveFlag=falseANDCustomerKey=testExisting_userANDEmaillike@-response.xml → retrieve-ActiveFlag=falseANDCustomerKey=testExisting_userANDEmaillike@-QAA-response.xml} +0 -0
  370. /package/test/resources/1111111/accountUser/{retrieve-ActiveFlag=falseANDEmaillike@-response.xml → retrieve-ActiveFlag=falseANDEmaillike@-QAA-response.xml} +0 -0
  371. /package/test/resources/1111111/accountUser/{retrieve-ActiveFlag=trueANDCustomerKey=testExisting_userANDEmaillike@-response.xml → retrieve-ActiveFlag=trueANDCustomerKey=testExisting_userANDEmaillike@-QAA-response.xml} +0 -0
  372. /package/test/resources/1111111/accountUser/{retrieve-ActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-response.xml → retrieve-ActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-QAA-response.xml} +0 -0
  373. /package/test/resources/1111111/accountUser/{retrieve-ActiveFlag=trueANDEmaillike@-response.xml → retrieve-ActiveFlag=trueANDEmaillike@-QAA-response.xml} +0 -0
  374. /package/test/resources/1111111/businessUnit/{retrieve-ID=1111111-response.xml → retrieve-ID=1111111-QAA-response.xml} +0 -0
  375. /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
  376. /package/test/resources/1111111/dataFolder/{retrieve-response.xml → retrieve-response-.xml} +0 -0
  377. /package/test/resources/9999999/dataFolder/{retrieve-ContentType=asset-sharedORContentType=asset-response.xml → retrieve-ContentTypeINasset,asset-shared-response.xml} +0 -0
  378. /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
  379. /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
  380. /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 ================', () => {
@@ -278,6 +352,19 @@ describe('type: journey', () => {
278
352
  assert.equal(isDeleted, true, 'should have deleted the item');
279
353
  return;
280
354
  });
355
+
356
+ it('Should delete 2 items with version', async () => {
357
+ // WHEN
358
+ const isDeleted = await handler.deleteByKey('testInstance/testBU', 'journey', [
359
+ 'testExisting_journey_Quicksend/1',
360
+ 'testExisting_journey_Multistep/1',
361
+ ]);
362
+ // THEN
363
+ assert.equal(process.exitCode, 0, 'delete should not have thrown an error');
364
+
365
+ assert.equal(isDeleted, true, 'should have deleted the item');
366
+ return;
367
+ });
281
368
  });
282
369
 
283
370
  describe('ReplaceContentBlockByX ================', () => {
@@ -310,7 +397,7 @@ describe('type: journey', () => {
310
397
 
311
398
  assert.equal(
312
399
  testUtils.getAPIHistoryLength(),
313
- 38,
400
+ 29,
314
401
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
315
402
  );
316
403
  return;
@@ -345,7 +432,7 @@ describe('type: journey', () => {
345
432
 
346
433
  assert.equal(
347
434
  testUtils.getAPIHistoryLength(),
348
- 38,
435
+ 29,
349
436
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
350
437
  );
351
438
  return;
@@ -380,7 +467,246 @@ describe('type: journey', () => {
380
467
 
381
468
  assert.equal(
382
469
  testUtils.getAPIHistoryLength(),
383
- 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,
384
710
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
385
711
  );
386
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,