mcdev 6.0.2 → 7.0.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 (602) hide show
  1. package/.beautyamp.json +13 -0
  2. package/.eslintrc.json +7 -1
  3. package/.github/ISSUE_TEMPLATE/bug.yml +1 -0
  4. package/.github/PULL_REQUEST_TEMPLATE/pr_template_release.md +10 -3
  5. package/.github/workflows/close_issues_on_merge.yml +1 -1
  6. package/.github/workflows/code-test.yml +51 -3
  7. package/.github/workflows/coverage-base-update.yml +1 -1
  8. package/.github/workflows/coverage-develop-branch.yml +1 -1
  9. package/.github/workflows/coverage-main-branch.yml +1 -1
  10. package/.github/workflows/coverage.yml +2 -2
  11. package/.github/workflows/npm-publish.yml +3 -2
  12. package/.github/workflows/pr-labeler.yml +1 -1
  13. package/.husky/commit-msg +0 -2
  14. package/.husky/post-checkout +0 -3
  15. package/.husky/post-merge +2 -7
  16. package/.husky/pre-commit +5 -5
  17. package/.prettierrc +0 -8
  18. package/.vscode/extensions.json +2 -0
  19. package/.vscode/settings.json +15 -3
  20. package/@types/lib/Builder.d.ts +97 -0
  21. package/@types/lib/Builder.d.ts.map +1 -0
  22. package/@types/lib/Deployer.d.ts +99 -0
  23. package/@types/lib/Deployer.d.ts.map +1 -0
  24. package/@types/lib/MetadataTypeDefinitions.d.ts +80 -0
  25. package/@types/lib/MetadataTypeDefinitions.d.ts.map +1 -0
  26. package/@types/lib/MetadataTypeInfo.d.ts +78 -0
  27. package/@types/lib/MetadataTypeInfo.d.ts.map +1 -0
  28. package/@types/lib/Retriever.d.ts +66 -0
  29. package/@types/lib/Retriever.d.ts.map +1 -0
  30. package/@types/lib/cli.d.ts +3 -0
  31. package/@types/lib/cli.d.ts.map +1 -0
  32. package/@types/lib/index.d.ts +383 -0
  33. package/@types/lib/index.d.ts.map +1 -0
  34. package/@types/lib/metadataTypes/Asset.d.ts +1082 -0
  35. package/@types/lib/metadataTypes/Asset.d.ts.map +1 -0
  36. package/@types/lib/metadataTypes/AttributeGroup.d.ts +290 -0
  37. package/@types/lib/metadataTypes/AttributeGroup.d.ts.map +1 -0
  38. package/@types/lib/metadataTypes/AttributeSet.d.ts +968 -0
  39. package/@types/lib/metadataTypes/AttributeSet.d.ts.map +1 -0
  40. package/@types/lib/metadataTypes/Automation.d.ts +921 -0
  41. package/@types/lib/metadataTypes/Automation.d.ts.map +1 -0
  42. package/@types/lib/metadataTypes/Campaign.d.ts +190 -0
  43. package/@types/lib/metadataTypes/Campaign.d.ts.map +1 -0
  44. package/@types/lib/metadataTypes/ContentArea.d.ts +250 -0
  45. package/@types/lib/metadataTypes/ContentArea.d.ts.map +1 -0
  46. package/@types/lib/metadataTypes/DataExtension.d.ts +571 -0
  47. package/@types/lib/metadataTypes/DataExtension.d.ts.map +1 -0
  48. package/@types/lib/metadataTypes/DataExtensionField.d.ts +236 -0
  49. package/@types/lib/metadataTypes/DataExtensionField.d.ts.map +1 -0
  50. package/@types/lib/metadataTypes/DataExtensionTemplate.d.ts +175 -0
  51. package/@types/lib/metadataTypes/DataExtensionTemplate.d.ts.map +1 -0
  52. package/@types/lib/metadataTypes/DataExtract.d.ts +217 -0
  53. package/@types/lib/metadataTypes/DataExtract.d.ts.map +1 -0
  54. package/@types/lib/metadataTypes/DataExtractType.d.ts +80 -0
  55. package/@types/lib/metadataTypes/DataExtractType.d.ts.map +1 -0
  56. package/@types/lib/metadataTypes/DeliveryProfile.d.ts +102 -0
  57. package/@types/lib/metadataTypes/DeliveryProfile.d.ts.map +1 -0
  58. package/@types/lib/metadataTypes/Discovery.d.ts +189 -0
  59. package/@types/lib/metadataTypes/Discovery.d.ts.map +1 -0
  60. package/@types/lib/metadataTypes/Email.d.ts +384 -0
  61. package/@types/lib/metadataTypes/Email.d.ts.map +1 -0
  62. package/@types/lib/metadataTypes/EmailSend.d.ts +652 -0
  63. package/@types/lib/metadataTypes/EmailSend.d.ts.map +1 -0
  64. package/@types/lib/metadataTypes/Event.d.ts +958 -0
  65. package/@types/lib/metadataTypes/Event.d.ts.map +1 -0
  66. package/@types/lib/metadataTypes/FileLocation.d.ts +101 -0
  67. package/@types/lib/metadataTypes/FileLocation.d.ts.map +1 -0
  68. package/@types/lib/metadataTypes/FileTransfer.d.ts +228 -0
  69. package/@types/lib/metadataTypes/FileTransfer.d.ts.map +1 -0
  70. package/@types/lib/metadataTypes/Filter.d.ts +145 -0
  71. package/@types/lib/metadataTypes/Filter.d.ts.map +1 -0
  72. package/@types/lib/metadataTypes/Folder.d.ts +287 -0
  73. package/@types/lib/metadataTypes/Folder.d.ts.map +1 -0
  74. package/@types/lib/metadataTypes/ImportFile.d.ts +409 -0
  75. package/@types/lib/metadataTypes/ImportFile.d.ts.map +1 -0
  76. package/@types/lib/metadataTypes/Journey.d.ts +541 -0
  77. package/@types/lib/metadataTypes/Journey.d.ts.map +1 -0
  78. package/@types/lib/metadataTypes/List.d.ts +191 -0
  79. package/@types/lib/metadataTypes/List.d.ts.map +1 -0
  80. package/@types/lib/metadataTypes/MetadataType.d.ts +680 -0
  81. package/@types/lib/metadataTypes/MetadataType.d.ts.map +1 -0
  82. package/@types/lib/metadataTypes/MobileCode.d.ts +225 -0
  83. package/@types/lib/metadataTypes/MobileCode.d.ts.map +1 -0
  84. package/@types/lib/metadataTypes/MobileKeyword.d.ts +432 -0
  85. package/@types/lib/metadataTypes/MobileKeyword.d.ts.map +1 -0
  86. package/@types/lib/metadataTypes/MobileMessage.d.ts +931 -0
  87. package/@types/lib/metadataTypes/MobileMessage.d.ts.map +1 -0
  88. package/@types/lib/metadataTypes/Query.d.ts +299 -0
  89. package/@types/lib/metadataTypes/Query.d.ts.map +1 -0
  90. package/@types/lib/metadataTypes/Role.d.ts +164 -0
  91. package/@types/lib/metadataTypes/Role.d.ts.map +1 -0
  92. package/@types/lib/metadataTypes/Script.d.ts +305 -0
  93. package/@types/lib/metadataTypes/Script.d.ts.map +1 -0
  94. package/@types/lib/metadataTypes/SendClassification.d.ts +221 -0
  95. package/@types/lib/metadataTypes/SendClassification.d.ts.map +1 -0
  96. package/@types/lib/metadataTypes/SenderProfile.d.ts +257 -0
  97. package/@types/lib/metadataTypes/SenderProfile.d.ts.map +1 -0
  98. package/@types/lib/metadataTypes/TransactionalEmail.d.ts +230 -0
  99. package/@types/lib/metadataTypes/TransactionalEmail.d.ts.map +1 -0
  100. package/@types/lib/metadataTypes/TransactionalMessage.d.ts +163 -0
  101. package/@types/lib/metadataTypes/TransactionalMessage.d.ts.map +1 -0
  102. package/@types/lib/metadataTypes/TransactionalPush.d.ts +175 -0
  103. package/@types/lib/metadataTypes/TransactionalPush.d.ts.map +1 -0
  104. package/@types/lib/metadataTypes/TransactionalSMS.d.ts +205 -0
  105. package/@types/lib/metadataTypes/TransactionalSMS.d.ts.map +1 -0
  106. package/@types/lib/metadataTypes/TriggeredSend.d.ts +671 -0
  107. package/@types/lib/metadataTypes/TriggeredSend.d.ts.map +1 -0
  108. package/@types/lib/metadataTypes/User.d.ts +677 -0
  109. package/@types/lib/metadataTypes/User.d.ts.map +1 -0
  110. package/@types/lib/metadataTypes/Verification.d.ts +188 -0
  111. package/@types/lib/metadataTypes/Verification.d.ts.map +1 -0
  112. package/@types/lib/metadataTypes/definitions/Asset.definition.d.ts +692 -0
  113. package/@types/lib/metadataTypes/definitions/Asset.definition.d.ts.map +1 -0
  114. package/@types/lib/metadataTypes/definitions/AttributeGroup.definition.d.ts +246 -0
  115. package/@types/lib/metadataTypes/definitions/AttributeGroup.definition.d.ts.map +1 -0
  116. package/@types/lib/metadataTypes/definitions/AttributeSet.definition.d.ts +893 -0
  117. package/@types/lib/metadataTypes/definitions/AttributeSet.definition.d.ts.map +1 -0
  118. package/@types/lib/metadataTypes/definitions/Automation.definition.d.ts +616 -0
  119. package/@types/lib/metadataTypes/definitions/Automation.definition.d.ts.map +1 -0
  120. package/@types/lib/metadataTypes/definitions/Campaign.definition.d.ts +126 -0
  121. package/@types/lib/metadataTypes/definitions/Campaign.definition.d.ts.map +1 -0
  122. package/@types/lib/metadataTypes/definitions/ContentArea.definition.d.ts +182 -0
  123. package/@types/lib/metadataTypes/definitions/ContentArea.definition.d.ts.map +1 -0
  124. package/@types/lib/metadataTypes/definitions/DataExtension.definition.d.ts +237 -0
  125. package/@types/lib/metadataTypes/definitions/DataExtension.definition.d.ts.map +1 -0
  126. package/@types/lib/metadataTypes/definitions/DataExtensionField.definition.d.ts +121 -0
  127. package/@types/lib/metadataTypes/definitions/DataExtensionField.definition.d.ts.map +1 -0
  128. package/@types/lib/metadataTypes/definitions/DataExtensionTemplate.definition.d.ts +133 -0
  129. package/@types/lib/metadataTypes/definitions/DataExtensionTemplate.definition.d.ts.map +1 -0
  130. package/@types/lib/metadataTypes/definitions/DataExtract.definition.d.ts +156 -0
  131. package/@types/lib/metadataTypes/definitions/DataExtract.definition.d.ts.map +1 -0
  132. package/@types/lib/metadataTypes/definitions/DataExtractType.definition.d.ts +34 -0
  133. package/@types/lib/metadataTypes/definitions/DataExtractType.definition.d.ts.map +1 -0
  134. package/@types/lib/metadataTypes/definitions/DeliveryProfile.definition.d.ts +80 -0
  135. package/@types/lib/metadataTypes/definitions/DeliveryProfile.definition.d.ts.map +1 -0
  136. package/@types/lib/metadataTypes/definitions/Discovery.definition.d.ts +146 -0
  137. package/@types/lib/metadataTypes/definitions/Discovery.definition.d.ts.map +1 -0
  138. package/@types/lib/metadataTypes/definitions/Email.definition.d.ts +314 -0
  139. package/@types/lib/metadataTypes/definitions/Email.definition.d.ts.map +1 -0
  140. package/@types/lib/metadataTypes/definitions/EmailSend.definition.d.ts +582 -0
  141. package/@types/lib/metadataTypes/definitions/EmailSend.definition.d.ts.map +1 -0
  142. package/@types/lib/metadataTypes/definitions/Event.definition.d.ts +867 -0
  143. package/@types/lib/metadataTypes/definitions/Event.definition.d.ts.map +1 -0
  144. package/@types/lib/metadataTypes/definitions/FileLocation.definition.d.ts +68 -0
  145. package/@types/lib/metadataTypes/definitions/FileLocation.definition.d.ts.map +1 -0
  146. package/@types/lib/metadataTypes/definitions/FileTransfer.definition.d.ts +191 -0
  147. package/@types/lib/metadataTypes/definitions/FileTransfer.definition.d.ts.map +1 -0
  148. package/@types/lib/metadataTypes/definitions/Filter.definition.d.ts +147 -0
  149. package/@types/lib/metadataTypes/definitions/Filter.definition.d.ts.map +1 -0
  150. package/@types/lib/metadataTypes/definitions/Folder.definition.d.ts +174 -0
  151. package/@types/lib/metadataTypes/definitions/Folder.definition.d.ts.map +1 -0
  152. package/@types/lib/metadataTypes/definitions/ImportFile.definition.d.ts +306 -0
  153. package/@types/lib/metadataTypes/definitions/ImportFile.definition.d.ts.map +1 -0
  154. package/@types/lib/metadataTypes/definitions/Journey.definition.d.ts +426 -0
  155. package/@types/lib/metadataTypes/definitions/Journey.definition.d.ts.map +1 -0
  156. package/@types/lib/metadataTypes/definitions/List.definition.d.ts +118 -0
  157. package/@types/lib/metadataTypes/definitions/List.definition.d.ts.map +1 -0
  158. package/@types/lib/metadataTypes/definitions/MobileCode.definition.d.ts +167 -0
  159. package/@types/lib/metadataTypes/definitions/MobileCode.definition.d.ts.map +1 -0
  160. package/@types/lib/metadataTypes/definitions/MobileKeyword.definition.d.ts +276 -0
  161. package/@types/lib/metadataTypes/definitions/MobileKeyword.definition.d.ts.map +1 -0
  162. package/@types/lib/metadataTypes/definitions/MobileMessage.definition.d.ts +783 -0
  163. package/@types/lib/metadataTypes/definitions/MobileMessage.definition.d.ts.map +1 -0
  164. package/@types/lib/metadataTypes/definitions/Query.definition.d.ts +203 -0
  165. package/@types/lib/metadataTypes/definitions/Query.definition.d.ts.map +1 -0
  166. package/@types/lib/metadataTypes/definitions/Role.definition.d.ts +108 -0
  167. package/@types/lib/metadataTypes/definitions/Role.definition.d.ts.map +1 -0
  168. package/@types/lib/metadataTypes/definitions/Script.definition.d.ts +153 -0
  169. package/@types/lib/metadataTypes/definitions/Script.definition.d.ts.map +1 -0
  170. package/@types/lib/metadataTypes/definitions/SendClassification.definition.d.ts +151 -0
  171. package/@types/lib/metadataTypes/definitions/SendClassification.definition.d.ts.map +1 -0
  172. package/@types/lib/metadataTypes/definitions/SenderProfile.definition.d.ts +180 -0
  173. package/@types/lib/metadataTypes/definitions/SenderProfile.definition.d.ts.map +1 -0
  174. package/@types/lib/metadataTypes/definitions/TransactionalEmail.definition.d.ts +167 -0
  175. package/@types/lib/metadataTypes/definitions/TransactionalEmail.definition.d.ts.map +1 -0
  176. package/@types/lib/metadataTypes/definitions/TransactionalMessage.definition.d.ts +99 -0
  177. package/@types/lib/metadataTypes/definitions/TransactionalMessage.definition.d.ts.map +1 -0
  178. package/@types/lib/metadataTypes/definitions/TransactionalPush.definition.d.ts +119 -0
  179. package/@types/lib/metadataTypes/definitions/TransactionalPush.definition.d.ts.map +1 -0
  180. package/@types/lib/metadataTypes/definitions/TransactionalSMS.definition.d.ts +113 -0
  181. package/@types/lib/metadataTypes/definitions/TransactionalSMS.definition.d.ts.map +1 -0
  182. package/@types/lib/metadataTypes/definitions/TriggeredSend.definition.d.ts +560 -0
  183. package/@types/lib/metadataTypes/definitions/TriggeredSend.definition.d.ts.map +1 -0
  184. package/@types/lib/metadataTypes/definitions/User.definition.d.ts +423 -0
  185. package/@types/lib/metadataTypes/definitions/User.definition.d.ts.map +1 -0
  186. package/@types/lib/metadataTypes/definitions/Verification.definition.d.ts +129 -0
  187. package/@types/lib/metadataTypes/definitions/Verification.definition.d.ts.map +1 -0
  188. package/@types/lib/retrieveChangelog.d.ts +3 -0
  189. package/@types/lib/retrieveChangelog.d.ts.map +1 -0
  190. package/@types/lib/util/auth.d.ts +41 -0
  191. package/@types/lib/util/auth.d.ts.map +1 -0
  192. package/@types/lib/util/businessUnit.d.ts +21 -0
  193. package/@types/lib/util/businessUnit.d.ts.map +1 -0
  194. package/@types/lib/util/cache.d.ts +64 -0
  195. package/@types/lib/util/cache.d.ts.map +1 -0
  196. package/@types/lib/util/cli.d.ts +125 -0
  197. package/@types/lib/util/cli.d.ts.map +1 -0
  198. package/@types/lib/util/config.d.ts +45 -0
  199. package/@types/lib/util/config.d.ts.map +1 -0
  200. package/@types/lib/util/devops.d.ts +62 -0
  201. package/@types/lib/util/devops.d.ts.map +1 -0
  202. package/@types/lib/util/file.d.ts +20 -0
  203. package/@types/lib/util/file.d.ts.map +1 -0
  204. package/@types/lib/util/init.config.d.ts +66 -0
  205. package/@types/lib/util/init.config.d.ts.map +1 -0
  206. package/@types/lib/util/init.d.ts +72 -0
  207. package/@types/lib/util/init.d.ts.map +1 -0
  208. package/@types/lib/util/init.git.d.ts +40 -0
  209. package/@types/lib/util/init.git.d.ts.map +1 -0
  210. package/@types/lib/util/init.npm.d.ts +24 -0
  211. package/@types/lib/util/init.npm.d.ts.map +1 -0
  212. package/@types/lib/util/replaceContentBlockReference.d.ts +105 -0
  213. package/@types/lib/util/replaceContentBlockReference.d.ts.map +1 -0
  214. package/@types/lib/util/util.d.ts +322 -0
  215. package/@types/lib/util/util.d.ts.map +1 -0
  216. package/@types/types/mcdev.d.d.ts +1282 -0
  217. package/@types/types/mcdev.d.d.ts.map +1 -0
  218. package/LICENSE +1 -1
  219. package/README.md +7 -3
  220. package/boilerplate/files/.beautyamp.json +13 -0
  221. package/boilerplate/files/.prettierrc +3 -0
  222. package/boilerplate/files/.vscode/extensions.json +6 -1
  223. package/boilerplate/files/.vscode/settings.json +16 -4
  224. package/boilerplate/forcedUpdates.json +9 -0
  225. package/jsconfig.json +7 -2
  226. package/lib/Builder.js +49 -45
  227. package/lib/Deployer.js +100 -45
  228. package/lib/MetadataTypeDefinitions.js +6 -0
  229. package/lib/MetadataTypeInfo.js +4 -0
  230. package/lib/Retriever.js +33 -27
  231. package/lib/cli.js +363 -28
  232. package/lib/index.js +615 -55
  233. package/lib/metadataTypes/Asset.js +811 -159
  234. package/lib/metadataTypes/AttributeGroup.js +17 -12
  235. package/lib/metadataTypes/AttributeSet.js +20 -15
  236. package/lib/metadataTypes/Automation.js +125 -93
  237. package/lib/metadataTypes/Campaign.js +18 -6
  238. package/lib/metadataTypes/ContentArea.js +21 -18
  239. package/lib/metadataTypes/DataExtension.js +229 -113
  240. package/lib/metadataTypes/DataExtensionField.js +52 -53
  241. package/lib/metadataTypes/DataExtensionTemplate.js +17 -5
  242. package/lib/metadataTypes/DataExtract.js +62 -27
  243. package/lib/metadataTypes/DataExtractType.js +17 -5
  244. package/lib/metadataTypes/DeliveryProfile.js +47 -0
  245. package/lib/metadataTypes/Discovery.js +15 -4
  246. package/lib/metadataTypes/Email.js +22 -19
  247. package/lib/metadataTypes/EmailSend.js +135 -35
  248. package/lib/metadataTypes/Event.js +95 -60
  249. package/lib/metadataTypes/FileLocation.js +17 -5
  250. package/lib/metadataTypes/FileTransfer.js +62 -26
  251. package/lib/metadataTypes/Filter.js +16 -4
  252. package/lib/metadataTypes/Folder.js +67 -39
  253. package/lib/metadataTypes/ImportFile.js +341 -91
  254. package/lib/metadataTypes/Journey.js +681 -324
  255. package/lib/metadataTypes/List.js +26 -14
  256. package/lib/metadataTypes/MetadataType.js +501 -265
  257. package/lib/metadataTypes/MobileCode.js +17 -5
  258. package/lib/metadataTypes/MobileKeyword.js +59 -43
  259. package/lib/metadataTypes/MobileMessage.js +67 -40
  260. package/lib/metadataTypes/Query.js +46 -38
  261. package/lib/metadataTypes/Role.js +34 -23
  262. package/lib/metadataTypes/Script.js +127 -39
  263. package/lib/metadataTypes/SendClassification.js +120 -5
  264. package/lib/metadataTypes/SenderProfile.js +179 -0
  265. package/lib/metadataTypes/TransactionalEmail.js +30 -17
  266. package/lib/metadataTypes/TransactionalMessage.js +25 -11
  267. package/lib/metadataTypes/TransactionalPush.js +24 -9
  268. package/lib/metadataTypes/TransactionalSMS.js +78 -46
  269. package/lib/metadataTypes/TriggeredSend.js +191 -43
  270. package/lib/metadataTypes/User.js +90 -62
  271. package/lib/metadataTypes/Verification.js +39 -21
  272. package/lib/metadataTypes/definitions/Asset.definition.js +3 -3
  273. package/lib/metadataTypes/definitions/AttributeGroup.definition.js +7 -1
  274. package/lib/metadataTypes/definitions/AttributeSet.definition.js +2 -2
  275. package/lib/metadataTypes/definitions/Automation.definition.js +4 -1
  276. package/lib/metadataTypes/definitions/Campaign.definition.js +1 -1
  277. package/lib/metadataTypes/definitions/ContentArea.definition.js +1 -1
  278. package/lib/metadataTypes/definitions/DataExtension.definition.js +17 -1
  279. package/lib/metadataTypes/definitions/DataExtensionTemplate.definition.js +1 -1
  280. package/lib/metadataTypes/definitions/DataExtractType.definition.js +2 -2
  281. package/lib/metadataTypes/definitions/DeliveryProfile.definition.js +59 -0
  282. package/lib/metadataTypes/definitions/Discovery.definition.js +1 -1
  283. package/lib/metadataTypes/definitions/Email.definition.js +1 -1
  284. package/lib/metadataTypes/definitions/EmailSend.definition.js +19 -4
  285. package/lib/metadataTypes/definitions/Event.definition.js +140 -128
  286. package/lib/metadataTypes/definitions/FileLocation.definition.js +1 -1
  287. package/lib/metadataTypes/definitions/Filter.definition.js +1 -1
  288. package/lib/metadataTypes/definitions/Folder.definition.js +25 -2
  289. package/lib/metadataTypes/definitions/ImportFile.definition.js +52 -7
  290. package/lib/metadataTypes/definitions/Journey.definition.js +12 -0
  291. package/lib/metadataTypes/definitions/List.definition.js +1 -1
  292. package/lib/metadataTypes/definitions/MobileCode.definition.js +1 -1
  293. package/lib/metadataTypes/definitions/MobileMessage.definition.js +11 -5
  294. package/lib/metadataTypes/definitions/Query.definition.js +6 -0
  295. package/lib/metadataTypes/definitions/Script.definition.js +14 -14
  296. package/lib/metadataTypes/definitions/SendClassification.definition.js +60 -20
  297. package/lib/metadataTypes/definitions/SenderProfile.definition.js +185 -0
  298. package/lib/metadataTypes/definitions/TransactionalEmail.definition.js +2 -2
  299. package/lib/metadataTypes/definitions/TransactionalMessage.definition.js +69 -0
  300. package/lib/metadataTypes/definitions/TransactionalPush.definition.js +6 -0
  301. package/lib/metadataTypes/definitions/TransactionalSMS.definition.js +6 -0
  302. package/lib/metadataTypes/definitions/TriggeredSend.definition.js +15 -4
  303. package/lib/metadataTypes/definitions/Verification.definition.js +1 -1
  304. package/lib/retrieveChangelog.js +7 -2
  305. package/lib/util/auth.js +56 -21
  306. package/lib/util/businessUnit.js +20 -2
  307. package/lib/util/cache.js +37 -18
  308. package/lib/util/cli.js +72 -29
  309. package/lib/util/config.js +27 -9
  310. package/lib/util/devops.js +45 -24
  311. package/lib/util/file.js +58 -33
  312. package/lib/util/init.config.js +55 -24
  313. package/lib/util/init.git.js +6 -6
  314. package/lib/util/init.js +36 -14
  315. package/lib/util/init.npm.js +2 -2
  316. package/lib/util/replaceContentBlockReference.js +278 -0
  317. package/lib/util/util.js +152 -54
  318. package/package.json +33 -30
  319. package/test/general.test.js +1327 -4
  320. package/test/mockRoot/.mcdevrc.json +26 -4
  321. package/test/mockRoot/deploy/testInstance/_ParentBU_/dataExtension/testExisting_dataExtensionShared.dataExtension-meta.json +3 -4
  322. package/test/mockRoot/deploy/testInstance/_ParentBU_/dataExtension/testNew_dataExtensionShared.dataExtension-meta.json +1 -4
  323. package/test/mockRoot/deploy/testInstance/_ParentBU_/query/testNew_query.query-meta.json +11 -0
  324. package/test/mockRoot/deploy/testInstance/_ParentBU_/query/testNew_query.query-meta.sql +4 -0
  325. package/test/mockRoot/deploy/testInstance/testBU/asset/block/testNew_asset.asset-block-meta.html +12 -0
  326. package/test/mockRoot/deploy/testInstance/testBU/asset/block/testNew_asset.asset-block-meta.json +39 -0
  327. package/test/mockRoot/deploy/testInstance/testBU/automation/testExisting_automation.automation-meta.json +6 -6
  328. package/test/mockRoot/deploy/testInstance/testBU/automation/testNew_automation.automation-meta.json +7 -7
  329. package/test/mockRoot/deploy/testInstance/testBU/dataExtension/testExisting_dataExtension.dataExtension-meta.json +3 -4
  330. package/test/mockRoot/deploy/testInstance/testBU/dataExtension/testNew_dataExtension.dataExtension-meta.json +1 -4
  331. package/test/mockRoot/deploy/testInstance/testBU/emailSend/testExisting_emailSend.emailSend-meta.json +36 -0
  332. package/test/mockRoot/deploy/testInstance/testBU/emailSend/testNew_emailSend.emailSend-meta.json +36 -0
  333. package/test/mockRoot/deploy/testInstance/testBU/importFile/testExisting_importFile.importFile-meta.json +10 -4
  334. package/test/mockRoot/deploy/testInstance/testBU/importFile/testNew_importFile.importFile-meta.json +8 -4
  335. package/test/mockRoot/deploy/testInstance/testBU/journey/testExisting_journey_Quicksend.journey-meta.json +232 -0
  336. package/test/mockRoot/deploy/testInstance/testBU/mobileMessage/NTIzOjc4OjA.mobileMessage-meta.json +2 -4
  337. package/test/mockRoot/deploy/testInstance/testBU/mobileMessage/new.mobileMessage-meta.json +2 -4
  338. package/test/mockRoot/deploy/testInstance/testBU/query/testExisting_query.query-meta.json +1 -1
  339. package/test/mockRoot/deploy/testInstance/testBU/query/testExisting_query_fixKeys.query-meta.json +1 -1
  340. package/test/mockRoot/deploy/testInstance/testBU/query/testNew_query.query-meta.json +1 -1
  341. package/test/mockRoot/deploy/testInstance/testBU/sendClassification/testExisting_sendClassification.sendClassification-meta.json +8 -0
  342. package/test/mockRoot/deploy/testInstance/testBU/sendClassification/testNew_sendClassification.sendClassification-meta.json +8 -0
  343. package/test/mockRoot/deploy/testInstance/testBU/senderProfile/testExisting_senderProfile.senderProfile-meta.json +14 -0
  344. package/test/mockRoot/deploy/testInstance/testBU/senderProfile/testNew_senderProfile.senderProfile-meta.json +14 -0
  345. package/test/mockRoot/deploy/testInstance/testBU/transactionalEmail/testExisting_temail.transactionalEmail-meta.json +1 -1
  346. package/test/mockRoot/deploy/testInstance/testBU/transactionalEmail/testNew_temail.transactionalEmail-meta.json +1 -1
  347. package/test/mockRoot/deploy/testInstance/testBU/transactionalPush/testExisting_tpush.transactionalPush-meta.json +1 -3
  348. package/test/mockRoot/deploy/testInstance/testBU/transactionalPush/testNew_tpush.transactionalPush-meta.json +1 -3
  349. package/test/mockRoot/deploy/testInstance/testBU/transactionalSMS/testExisting_tsms.transactionalSMS-meta.json +1 -2
  350. package/test/mockRoot/deploy/testInstance/testBU/transactionalSMS/testNew_tsms.transactionalSMS-meta.json +1 -2
  351. package/test/mockRoot/deploy/testInstance/testBU/triggeredSend/testExisting_triggeredSend.triggeredSend-meta.json +4 -5
  352. package/test/mockRoot/deploy/testInstance/testBU/triggeredSend/testNew_triggeredSend.triggeredSend-meta.json +4 -5
  353. package/test/mockRoot/deploy/testInstance/testBU/verification/testExisting_39f6a488-20eb-4ba0-b0b9.verification-meta.json +1 -1
  354. package/test/mockRoot/deploy/testInstance/testBU/verification/testNew_39f6a488-20eb-4ba0-b0b9.verification-meta.json +1 -1
  355. package/test/resourceFactory.js +118 -7
  356. package/test/resources/1111111/automation/v1/queries/get-response.json +6 -0
  357. package/test/resources/1111111/automation/v1/queries/post-response.json +18 -0
  358. package/test/resources/1111111/dataExtension/create-expected.json +4 -7
  359. package/test/resources/1111111/dataExtension/retrieve-expected.json +2 -4
  360. package/test/resources/1111111/dataExtension/update-expected.json +7 -7
  361. package/test/resources/1111111/dataExtension/update-response.xml +3 -1
  362. package/test/resources/1111111/dataFolder/retrieve-ContentType=queryactivity-response.xml +48 -0
  363. package/test/resources/1111111/query/patch_keySuffix-expected.json +11 -0
  364. package/test/resources/1111111/query/patch_keySuffix-expected.sql +4 -0
  365. package/test/resources/9999999/asset/block-1157-retrieve-expected.html +4 -3
  366. package/test/resources/9999999/asset/build-templatebasedemail-expected.json +81 -0
  367. package/test/resources/9999999/asset/build-templatebasedemail-html-expected.html +20 -0
  368. package/test/resources/9999999/asset/build-templatebasedemail-preheader-expected.amp +1 -0
  369. package/test/resources/9999999/asset/create-expected.json +18 -0
  370. package/test/resources/9999999/asset/resolveId-1234-notFound-expected.json +1 -0
  371. package/test/resources/9999999/asset/resolveId-1295064-noPath-expected.json +8 -0
  372. package/test/resources/9999999/asset/resolveId-1295064-withPath-expected.json +8 -0
  373. package/test/resources/9999999/asset/retrieve-templatebasedemail-expected.json +84 -0
  374. package/test/resources/9999999/asset/retrieve-templatebasedemail-html-expected.html +20 -0
  375. package/test/resources/9999999/asset/retrieve-templatebasedemail-preheader-expected.amp +1 -0
  376. package/test/resources/9999999/asset/template-templatebasedemail-expected.json +81 -0
  377. package/test/resources/9999999/asset/template-templatebasedemail-html-expected.html +20 -0
  378. package/test/resources/9999999/asset/template-templatebasedemail-preheader-expected.amp +1 -0
  379. package/test/resources/9999999/asset/testExisting_asset_message-html-rcb-id-expected.html +33 -0
  380. package/test/resources/9999999/asset/testExisting_asset_message-html-rcb-key-expected.html +33 -0
  381. package/test/resources/9999999/asset/testExisting_asset_message-html-rcb-name-expected.html +35 -0
  382. package/test/resources/9999999/asset/testExisting_asset_message-preheader-rcb-id-expected.amp +4 -0
  383. package/test/resources/9999999/asset/testExisting_asset_message-preheader-rcb-key-expected.amp +4 -0
  384. package/test/resources/9999999/asset/testExisting_asset_message-preheader-rcb-name-expected.amp +4 -0
  385. package/test/resources/9999999/asset/testExisting_asset_message-text-rcb-id-expected.amp +4 -0
  386. package/test/resources/9999999/asset/testExisting_asset_message-text-rcb-key-expected.amp +4 -0
  387. package/test/resources/9999999/asset/testExisting_asset_message-text-rcb-name-expected.amp +4 -0
  388. package/test/resources/9999999/asset/v1/content/assets/1295064/get-response.json +1 -1
  389. package/test/resources/9999999/asset/v1/content/assets/5286/get-response.json +48 -0
  390. package/test/resources/9999999/asset/v1/content/assets/5289/get-response.json +198 -0
  391. package/test/resources/9999999/asset/v1/content/assets/808714/get-response.json +4 -3
  392. package/test/resources/9999999/asset/v1/content/assets/950143/delete-response.txt +1 -0
  393. package/test/resources/9999999/asset/v1/content/assets/get-response-customerKey=testExisting_asset.json +105 -0
  394. package/test/resources/9999999/asset/v1/content/assets/post-response.json +59 -0
  395. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,14.json +7 -0
  396. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN193,194,15.json +7 -0
  397. 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 +46 -0
  398. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN205,206,230,232,1.json +32 -0
  399. package/test/resources/9999999/asset/v1/content/assets/query/{post-response.json → post-response-assetType.idIN207,208,209,5.json} +45 -47
  400. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN214,4.json +35 -0
  401. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN215,216,217,218,219,220,221,222,223,224,225,226,227,228.json +7 -0
  402. package/test/resources/9999999/asset/v1/content/assets/query/post-response-customerKey=mcdev-issue-1157.json +46 -0
  403. package/test/resources/9999999/attributeGroup/retrieve-expected.json +1 -1
  404. package/test/resources/9999999/attributeSet/retrieve-expected.json +3 -3
  405. package/test/resources/9999999/automation/build-expected.json +7 -7
  406. package/test/resources/9999999/automation/create-expected.json +7 -7
  407. package/test/resources/9999999/automation/patch_fixKeys-pause-expected.json +6 -6
  408. package/test/resources/9999999/automation/patch_fixKeys-schedule-expected.json +6 -6
  409. package/test/resources/9999999/automation/retrieve-expected.json +7 -7
  410. package/test/resources/9999999/automation/template-expected.json +7 -7
  411. package/test/resources/9999999/automation/update-expected.json +6 -6
  412. package/test/resources/9999999/automation/v1/dataextracts/56c5370a-f988-4f36-b0ee-0f876573f6d7/delete-response.txt +1 -0
  413. package/test/resources/9999999/automation/v1/filetransfers/72c328ac-f5b0-4e37-91d3-a775666f15a6/delete-response.json +1 -0
  414. package/test/resources/9999999/automation/v1/imports/1ebf557b-372e-eb11-b81b-48df37d1dbd7/get-response.json +78 -0
  415. package/test/resources/9999999/automation/v1/imports/9d16f42c-2260-ed11-b849-48df37d1de8b/delete-response.txt +0 -0
  416. package/test/resources/9999999/automation/v1/imports/9d16f42c-2260-ed11-b849-48df37d1de8b/get-response.json +35 -0
  417. package/test/resources/9999999/automation/v1/imports/9d16f42c-2260-ed11-b849-48df37d1de8b/patch-response.json +14 -10
  418. package/test/resources/9999999/automation/v1/imports/get-response.json +78 -1
  419. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/get-response.json +1 -1
  420. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat_fixKeysSuffix/get-response.json +17 -0
  421. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat_fixKeysSuffix/patch-response.json +18 -0
  422. package/test/resources/9999999/automation/v1/queries/abcde-607c-4940-afef-437965094dat/get-response.json +17 -0
  423. package/test/resources/9999999/automation/v1/queries/get-response.json +20 -3
  424. package/test/resources/9999999/automation/v1/scripts/39f6a488-20eb-4ba0-b0b9-023725b574e4/delete-response.txt +1 -0
  425. package/test/resources/9999999/automation/v1/scripts/get-response.json +3 -3
  426. package/test/resources/9999999/dataExtension/build-expected.json +3 -4
  427. package/test/resources/9999999/dataExtension/create-expected.json +1 -4
  428. package/test/resources/9999999/dataExtension/retrieve-Name=testExisting_dataExtension-response.xml +4 -4
  429. package/test/resources/9999999/dataExtension/retrieve-expected.json +3 -4
  430. package/test/resources/9999999/dataExtension/retrieve-response.xml +96 -1
  431. package/test/resources/9999999/dataExtension/template-expected.json +3 -4
  432. package/test/resources/9999999/dataExtension/update-expected.json +4 -3
  433. package/test/resources/9999999/dataExtension/update-response.xml +5 -3
  434. package/test/resources/9999999/dataExtensionField/retrieve-response.xml +72 -0
  435. package/test/resources/9999999/dataFolder/retrieve-ContentType=userinitiatedsends-response.xml +48 -0
  436. package/test/resources/9999999/deliveryProfile/get-expected.json +7 -0
  437. package/test/resources/9999999/emailSend/build-expected.json +43 -0
  438. package/test/resources/9999999/emailSend/get-expected.json +43 -0
  439. package/test/resources/9999999/emailSend/patch-expected.json +41 -0
  440. package/test/resources/9999999/emailSend/post-expected.json +41 -0
  441. package/test/resources/9999999/emailSend/template-expected.json +43 -0
  442. package/test/resources/9999999/emailSendDefinition/create-response.xml +98 -0
  443. package/test/resources/9999999/emailSendDefinition/delete-response.xml +36 -0
  444. package/test/resources/9999999/emailSendDefinition/retrieve-IsPlatformObject=falseANDDescriptionnotEqualsSFSendDefinition-response.xml +18 -8
  445. package/test/resources/9999999/emailSendDefinition/update-response.xml +97 -0
  446. package/test/resources/9999999/importDefinition/retrieve-CustomerKey=testExisting_importFile-response.xml +30 -0
  447. package/test/resources/9999999/importDefinition/retrieve-Name=testExisting_importFile-response.xml +30 -0
  448. package/test/resources/9999999/importFile/build-expected.json +11 -6
  449. package/test/resources/9999999/importFile/get-expected.json +13 -7
  450. package/test/resources/9999999/importFile/get-sms-expected.json +79 -0
  451. package/test/resources/9999999/importFile/patch-expected.json +12 -7
  452. package/test/resources/9999999/importFile/post-expected.json +8 -5
  453. package/test/resources/9999999/importFile/template-expected.json +10 -5
  454. package/test/resources/9999999/interaction/v1/eventDefinitions/get-response.json +124 -0
  455. package/test/resources/9999999/interaction/v1/interactions/3c3f4112-9b43-43ca-8a89-aa0375b2c1a2/delete-response.txt +1 -0
  456. package/test/resources/9999999/interaction/v1/interactions/3c3f4112-9b43-43ca-8a89-aa0375b2c1a2/get-response.json +253 -0
  457. package/test/resources/9999999/interaction/v1/interactions/get-response.json +83 -779
  458. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_journey_Multistep/get-response.json +457 -0
  459. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_journey_Quicksend/get-response.json +253 -0
  460. package/test/resources/9999999/interaction/v1/interactions/{key_0b76dccf-594c-b6dc-1acf-10c4493dcb84 → key_testExisting_temail}/get-response.json +5 -5
  461. package/test/resources/9999999/journey/build-expected.json +105 -449
  462. package/test/resources/9999999/journey/get-multistep-expected.json +413 -0
  463. package/test/resources/9999999/journey/get-quicksend-expected.json +232 -0
  464. package/test/resources/9999999/journey/get-quicksend-rcb-id-expected.json +232 -0
  465. package/test/resources/9999999/journey/get-quicksend-rcb-key-expected.json +232 -0
  466. package/test/resources/9999999/journey/get-quicksend-rcb-name-expected.json +232 -0
  467. package/test/resources/9999999/journey/get-transactionalEmail-expected.json +211 -0
  468. package/test/resources/9999999/journey/template-expected.json +105 -449
  469. package/test/resources/9999999/legacy/v1/beta/messaging/deliverypolicy/get-response.json +15 -0
  470. package/test/resources/9999999/legacy/v1/beta/mobile/imports/get-response.json +112 -0
  471. package/test/resources/9999999/legacy/v1/beta/mobile/message/NTQ3Ojc4OjA/get-response.json +1 -1
  472. package/test/resources/9999999/legacy/v1/beta/object/NWQwdnhEU3dFZWVBekJRQzdISWl0QTo0NTow/get-response.json +12 -0
  473. package/test/resources/9999999/list/retrieve-response.xml +13 -0
  474. package/test/resources/9999999/messaging/v1/email/definitions/testExisting_temail/get-response.json +1 -1
  475. package/test/resources/9999999/messaging/v1/email/definitions/testExisting_temail/patch-response.json +1 -1
  476. package/test/resources/9999999/mobileMessage/build-expected.json +2 -5
  477. package/test/resources/9999999/mobileMessage/get-expected.json +2 -5
  478. package/test/resources/9999999/mobileMessage/post-create-expected.json +2 -4
  479. package/test/resources/9999999/mobileMessage/post-update-expected.json +2 -5
  480. package/test/resources/9999999/mobileMessage/template-expected.json +2 -5
  481. package/test/resources/9999999/query/build-expected.json +1 -1
  482. package/test/resources/9999999/query/build-expected.sql +2 -1
  483. package/test/resources/9999999/query/get-expected.json +1 -1
  484. package/test/resources/9999999/query/get-expected.sql +2 -1
  485. package/test/resources/9999999/query/get2-expected.json +1 -1
  486. package/test/resources/9999999/query/patch-expected.json +1 -1
  487. package/test/resources/9999999/query/patch_fixKeys-expected.json +1 -1
  488. package/test/resources/9999999/query/patch_fixKeysSuffix-expected.json +11 -0
  489. package/test/resources/9999999/query/patch_fixKeysSuffix-expected.sql +6 -0
  490. package/test/resources/9999999/query/post-expected.json +1 -1
  491. package/test/resources/9999999/query/template-expected.json +1 -1
  492. package/test/resources/9999999/query/template-expected.sql +2 -1
  493. package/test/resources/9999999/queryDefinition/retrieve-CustomerKey=testExisting_query2ANDStatus=Active-response.xml +30 -0
  494. package/test/resources/9999999/queryDefinition/retrieve-CustomerKey=testExisting_query_fixKeysSuffixANDStatus=Active-response.xml +30 -0
  495. package/test/resources/9999999/script/get_ampincluded-expected.html +5 -0
  496. package/test/resources/9999999/script/get_ampincluded-rcb-id-expected.html +5 -0
  497. package/test/resources/9999999/script/get_ampincluded-rcb-key-expected.html +5 -0
  498. package/test/resources/9999999/script/get_ampincluded-rcb-name-expected.html +5 -0
  499. package/test/resources/9999999/script/get_ampscript-expected.html +6 -1
  500. package/test/resources/9999999/script/get_ampscript-rcb-id-expected.html +8 -0
  501. package/test/resources/9999999/script/get_ampscript-rcb-key-expected.html +8 -0
  502. package/test/resources/9999999/script/get_ampscript-rcb-name-expected.html +10 -0
  503. package/test/resources/9999999/script/get_mixed-expected.html +5 -2
  504. package/test/resources/9999999/script/get_mixed-rcb-id-expected.html +12 -0
  505. package/test/resources/9999999/script/get_mixed-rcb-key-expected.html +12 -0
  506. package/test/resources/9999999/script/get_mixed-rcb-name-expected.html +14 -0
  507. package/test/resources/9999999/sendClassification/build-expected.json +8 -0
  508. package/test/resources/9999999/sendClassification/create-response.xml +51 -0
  509. package/test/resources/9999999/sendClassification/delete-response.xml +36 -0
  510. package/test/resources/9999999/sendClassification/get-expected.json +10 -0
  511. package/test/resources/9999999/sendClassification/patch-expected.json +8 -0
  512. package/test/resources/9999999/sendClassification/post-expected.json +8 -0
  513. package/test/resources/9999999/sendClassification/retrieve-response.xml +86 -0
  514. package/test/resources/9999999/sendClassification/template-expected.json +8 -0
  515. package/test/resources/9999999/sendClassification/update-response.xml +49 -0
  516. package/test/resources/9999999/senderProfile/build-expected.json +14 -0
  517. package/test/resources/9999999/senderProfile/create-response.xml +49 -0
  518. package/test/resources/9999999/senderProfile/delete-response.xml +36 -0
  519. package/test/resources/9999999/senderProfile/get-expected.json +16 -0
  520. package/test/resources/9999999/senderProfile/get-rcb-id-expected.json +16 -0
  521. package/test/resources/9999999/senderProfile/get-rcb-key-expected.json +16 -0
  522. package/test/resources/9999999/senderProfile/get-rcb-name-expected.json +16 -0
  523. package/test/resources/9999999/senderProfile/patch-expected.json +14 -0
  524. package/test/resources/9999999/senderProfile/post-expected.json +14 -0
  525. package/test/resources/9999999/senderProfile/retrieve-CustomerKey=Default-response.xml +44 -0
  526. package/test/resources/9999999/senderProfile/retrieve-CustomerKey=wrong-key-response.xml +26 -0
  527. package/test/resources/9999999/senderProfile/retrieve-response.xml +80 -0
  528. package/test/resources/9999999/senderProfile/template-expected.json +14 -0
  529. package/test/resources/9999999/senderProfile/update-response.xml +47 -0
  530. package/test/resources/9999999/transactionalEmail/build-expected.json +3 -3
  531. package/test/resources/9999999/transactionalEmail/get-expected.json +3 -3
  532. package/test/resources/9999999/transactionalEmail/patch-expected.json +3 -3
  533. package/test/resources/9999999/transactionalEmail/post-expected.json +2 -2
  534. package/test/resources/9999999/transactionalEmail/template-expected.json +3 -3
  535. package/test/resources/9999999/transactionalPush/build-expected.json +1 -1
  536. package/test/resources/9999999/transactionalPush/get-expected.json +1 -1
  537. package/test/resources/9999999/transactionalPush/patch-expected.json +1 -3
  538. package/test/resources/9999999/transactionalPush/post-expected.json +1 -3
  539. package/test/resources/9999999/transactionalPush/template-expected.json +1 -1
  540. package/test/resources/9999999/transactionalSMS/build-expected.amp +1 -1
  541. package/test/resources/9999999/transactionalSMS/build-expected.json +1 -2
  542. package/test/resources/9999999/transactionalSMS/get-expected.amp +1 -1
  543. package/test/resources/9999999/transactionalSMS/get-expected.json +1 -2
  544. package/test/resources/9999999/transactionalSMS/patch-expected.amp +1 -1
  545. package/test/resources/9999999/transactionalSMS/patch-expected.json +1 -2
  546. package/test/resources/9999999/transactionalSMS/post-expected.amp +1 -1
  547. package/test/resources/9999999/transactionalSMS/post-expected.json +1 -2
  548. package/test/resources/9999999/transactionalSMS/template-expected.amp +1 -1
  549. package/test/resources/9999999/transactionalSMS/template-expected.json +1 -2
  550. package/test/resources/9999999/triggeredSend/build-expected.json +5 -6
  551. package/test/resources/9999999/triggeredSend/get-expected.json +5 -6
  552. package/test/resources/9999999/triggeredSend/get-rcb-id-expected.json +29 -0
  553. package/test/resources/9999999/triggeredSend/get-rcb-key-expected.json +29 -0
  554. package/test/resources/9999999/triggeredSend/get-rcb-name-expected.json +29 -0
  555. package/test/resources/9999999/triggeredSend/patch-expected.json +5 -6
  556. package/test/resources/9999999/triggeredSend/post-expected.json +5 -6
  557. package/test/resources/9999999/triggeredSend/template-expected.json +5 -6
  558. package/test/resources/9999999/triggeredSendDefinition/create-response.xml +6 -1
  559. package/test/resources/9999999/triggeredSendDefinition/retrieve-TriggeredSendStatusINNew,Active,Inactive,Moved,Canceled-response.xml +53 -1
  560. package/test/resources/9999999/triggeredSendDefinition/update-response.xml +6 -1
  561. package/test/resources/9999999/verification/build-expected.json +1 -1
  562. package/test/resources/9999999/verification/get-expected.json +1 -1
  563. package/test/resources/9999999/verification/patch-expected.json +1 -1
  564. package/test/resources/9999999/verification/post-expected.json +1 -1
  565. package/test/resources/9999999/verification/template-expected.json +1 -1
  566. package/test/type.asset.test.js +733 -17
  567. package/test/type.attributeGroup.test.js +6 -2
  568. package/test/type.attributeSet.test.js +6 -2
  569. package/test/type.automation.test.js +174 -162
  570. package/test/type.dataExtension.test.js +41 -45
  571. package/test/type.dataExtract.test.js +22 -29
  572. package/test/type.deliveryProfile.test.js +45 -0
  573. package/test/type.emailSend.test.js +144 -0
  574. package/test/type.event.test.js +62 -0
  575. package/test/type.fileTransfer.test.js +21 -29
  576. package/test/type.importFile.test.js +61 -35
  577. package/test/type.journey.test.js +251 -45
  578. package/test/type.mobileKeyword.test.js +46 -54
  579. package/test/type.mobileMessage.test.js +28 -27
  580. package/test/type.query.test.js +303 -124
  581. package/test/type.script.test.js +288 -69
  582. package/test/type.sendClassification.test.js +156 -0
  583. package/test/type.senderProfile.test.js +254 -0
  584. package/test/type.transactionalEmail.test.js +15 -11
  585. package/test/type.transactionalPush.test.js +15 -11
  586. package/test/type.transactionalSMS.test.js +30 -23
  587. package/test/type.triggeredSend.test.js +130 -17
  588. package/test/type.user.test.js +22 -14
  589. package/test/type.verification.test.js +13 -10
  590. package/test/utils.js +76 -21
  591. package/tsconfig.json +21 -0
  592. package/types/mcdev.d.js +190 -66
  593. package/docs/dist/documentation.md +0 -8878
  594. package/test/mockRoot/deploy/testInstance/testBU/journey/testExisting_interaction.interaction-meta.json +0 -576
  595. package/test/mockRoot/deploy/testInstance/testBU/journey/testNew_interaction.interaction-meta.json +0 -266
  596. package/test/resources/9999999/interaction/v1/EventDefinitions/get-response.json +0 -43
  597. package/test/resources/9999999/interaction/v1/interactions/233d4413-922c-4568-85a5-e5cc77efc3be/delete-response.json +0 -1
  598. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_interaction/get-response.json +0 -592
  599. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_interaction/put-response.json +0 -592
  600. package/test/resources/9999999/interaction/v1/interactions/post-response.json +0 -280
  601. package/test/resources/9999999/journey/get-expected.json +0 -576
  602. package/test/resources/9999999/script/get_ampincluded-expected.ssjs +0 -5
@@ -1,30 +1,34 @@
1
- import chai, { assert, expect } from 'chai';
1
+ import * as chai from 'chai';
2
+ const assert = chai.assert;
3
+ const expect = chai.expect;
4
+
2
5
  import chaiFiles from 'chai-files';
3
6
  import cache from '../lib/util/cache.js';
4
7
  import * as testUtils from './utils.js';
5
8
  import handler from '../lib/index.js';
6
9
  chai.use(chaiFiles);
7
- const file = chaiFiles.file;
8
10
 
9
11
  describe('type: dataExtension', () => {
10
12
  beforeEach(() => {
11
13
  testUtils.mockSetup();
12
14
  });
15
+
13
16
  afterEach(() => {
14
17
  testUtils.mockReset();
15
18
  });
19
+
16
20
  describe('Retrieve ================', () => {
17
21
  it('Should retrieve a dataExtension', async () => {
18
22
  // WHEN
19
23
  await handler.retrieve('testInstance/testBU', ['dataExtension']);
20
24
  // THEN
21
- assert.equal(process.exitCode, false, 'retrieve should not have thrown an error');
25
+ assert.equal(process.exitCode, 0, 'retrieve should not have thrown an error');
22
26
  // get results from cache
23
27
  const result = cache.getCache();
24
28
  assert.equal(
25
29
  result.dataExtension ? Object.keys(result.dataExtension).length : 0,
26
- 1,
27
- 'only one dataExtension expected'
30
+ 5,
31
+ 'only 5 dataExtension expected'
28
32
  );
29
33
  assert.deepEqual(
30
34
  await testUtils.getActualJson('testExisting_dataExtension', 'dataExtension'),
@@ -34,9 +38,9 @@ describe('type: dataExtension', () => {
34
38
  );
35
39
  // check if MD file was created and equals expectations
36
40
  expect(
37
- file(testUtils.getActualDoc('testExisting_dataExtension', 'dataExtension'))
41
+ await testUtils.getActualDoc('testExisting_dataExtension', 'dataExtension')
38
42
  ).to.equal(
39
- file(testUtils.getExpectedFile('9999999', 'dataExtension', 'retrieve', 'md'))
43
+ await testUtils.getExpectedFile('9999999', 'dataExtension', 'retrieve', 'md')
40
44
  );
41
45
 
42
46
  assert.equal(
@@ -46,11 +50,12 @@ describe('type: dataExtension', () => {
46
50
  );
47
51
  return;
48
52
  });
53
+
49
54
  it('Should retrieve a shared dataExtension', async () => {
50
55
  // WHEN
51
56
  await handler.retrieve('testInstance/_ParentBU_', ['dataExtension']);
52
57
  // THEN
53
- assert.equal(process.exitCode, false, 'retrieve should not have thrown an error');
58
+ assert.equal(process.exitCode, 0, 'retrieve should not have thrown an error');
54
59
  // get results from cache
55
60
  const result = cache.getCache();
56
61
  assert.equal(
@@ -70,15 +75,13 @@ describe('type: dataExtension', () => {
70
75
  );
71
76
  // check if MD file was created and equals expectations
72
77
  expect(
73
- file(
74
- testUtils.getActualDoc(
75
- 'testExisting_dataExtensionShared',
76
- 'dataExtension',
77
- '_ParentBU_'
78
- )
78
+ await testUtils.getActualDoc(
79
+ 'testExisting_dataExtensionShared',
80
+ 'dataExtension',
81
+ '_ParentBU_'
79
82
  )
80
83
  ).to.equal(
81
- file(testUtils.getExpectedFile('1111111', 'dataExtension', 'retrieve', 'md'))
84
+ await testUtils.getExpectedFile('1111111', 'dataExtension', 'retrieve', 'md')
82
85
  );
83
86
 
84
87
  assert.equal(
@@ -89,15 +92,17 @@ describe('type: dataExtension', () => {
89
92
  return;
90
93
  });
91
94
  });
95
+
92
96
  describe('Deploy ================', () => {
93
97
  beforeEach(() => {
94
98
  testUtils.mockSetup(true);
95
99
  });
100
+
96
101
  it('Should create & update a dataExtension including a field rename', async () => {
97
102
  // WHEN
98
103
  const deployResult = await handler.deploy('testInstance/testBU', ['dataExtension']);
99
104
  // THEN
100
- assert.equal(process.exitCode, false, 'deploy should not have thrown an error');
105
+ assert.equal(process.exitCode, 0, 'deploy should not have thrown an error');
101
106
 
102
107
  assert.equal(
103
108
  deployResult['testInstance/testBU']?.dataExtension
@@ -111,8 +116,8 @@ describe('type: dataExtension', () => {
111
116
  const result = cache.getCache();
112
117
  assert.equal(
113
118
  result.dataExtension ? Object.keys(result.dataExtension).length : 0,
114
- 3,
115
- 'three dataExtensions expected'
119
+ 7,
120
+ '7 dataExtensions expected'
116
121
  );
117
122
  // insert
118
123
  assert.deepEqual(
@@ -133,11 +138,12 @@ describe('type: dataExtension', () => {
133
138
  );
134
139
  return;
135
140
  });
141
+
136
142
  it('Should create & update a shared dataExtension', async () => {
137
143
  // WHEN
138
144
  const deployResult = await handler.deploy('testInstance/_ParentBU_', ['dataExtension']);
139
145
  // THEN
140
- assert.equal(process.exitCode, false, 'deploy should not have thrown an error');
146
+ assert.equal(process.exitCode, 0, 'deploy should not have thrown an error');
141
147
 
142
148
  assert.equal(
143
149
  deployResult['testInstance/_ParentBU_']?.dataExtension
@@ -181,13 +187,14 @@ describe('type: dataExtension', () => {
181
187
  );
182
188
  return;
183
189
  });
190
+
184
191
  it('Should create & update a shared dataExtension with --fixShared & --skipInteraction', async () => {
185
192
  // WHEN
186
193
  handler.setOptions({ fixShared: 'testBU', skipInteraction: true, _runningTest: true });
187
194
 
188
195
  const deployResult = await handler.deploy('testInstance/_ParentBU_', ['dataExtension']);
189
196
  // THEN
190
- assert.equal(process.exitCode, false, 'deploy should not have thrown an error');
197
+ assert.equal(process.exitCode, 0, 'deploy should not have thrown an error');
191
198
 
192
199
  assert.equal(
193
200
  deployResult['testInstance/_ParentBU_']?.dataExtension
@@ -232,6 +239,7 @@ describe('type: dataExtension', () => {
232
239
  return;
233
240
  });
234
241
  });
242
+
235
243
  describe('Templating ================', () => {
236
244
  it('Should create a dataExtension template via retrieveAsTemplate and build it', async () => {
237
245
  // GIVEN there is a template
@@ -241,11 +249,7 @@ describe('type: dataExtension', () => {
241
249
  ['testExisting_dataExtension'],
242
250
  'testSourceMarket'
243
251
  );
244
- assert.equal(
245
- process.exitCode,
246
- false,
247
- 'retrieveAsTemplate should not have thrown an error'
248
- );
252
+ assert.equal(process.exitCode, 0, 'retrieveAsTemplate should not have thrown an error');
249
253
 
250
254
  // WHEN
251
255
  assert.equal(
@@ -265,14 +269,10 @@ describe('type: dataExtension', () => {
265
269
  await handler.buildDefinition(
266
270
  'testInstance/testBU',
267
271
  'dataExtension',
268
- 'testExisting_dataExtension',
272
+ ['testExisting_dataExtension'],
269
273
  'testTargetMarket'
270
274
  );
271
- assert.equal(
272
- process.exitCode,
273
- false,
274
- 'buildDefinition should not have thrown an error'
275
- );
275
+ assert.equal(process.exitCode, 0, 'buildDefinition should not have thrown an error');
276
276
  assert.deepEqual(
277
277
  await testUtils.getActualDeployJson('testTemplated_dataExtension', 'dataExtension'),
278
278
  await testUtils.getExpectedJson('9999999', 'dataExtension', 'build'),
@@ -285,6 +285,7 @@ describe('type: dataExtension', () => {
285
285
  );
286
286
  return;
287
287
  });
288
+
288
289
  it('Should create a dataExtension template via buildTemplate and build it', async () => {
289
290
  // download first before we test buildTemplate
290
291
  await handler.retrieve('testInstance/testBU', ['dataExtension']);
@@ -295,7 +296,7 @@ describe('type: dataExtension', () => {
295
296
  ['testExisting_dataExtension'],
296
297
  'testSourceMarket'
297
298
  );
298
- assert.equal(process.exitCode, false, 'buildTemplate should not have thrown an error');
299
+ assert.equal(process.exitCode, 0, 'buildTemplate should not have thrown an error');
299
300
  // WHEN
300
301
  assert.equal(
301
302
  result.dataExtension ? Object.keys(result.dataExtension).length : 0,
@@ -314,14 +315,10 @@ describe('type: dataExtension', () => {
314
315
  await handler.buildDefinition(
315
316
  'testInstance/testBU',
316
317
  'dataExtension',
317
- 'testExisting_dataExtension',
318
+ ['testExisting_dataExtension'],
318
319
  'testTargetMarket'
319
320
  );
320
- assert.equal(
321
- process.exitCode,
322
- false,
323
- 'buildDefinition should not have thrown an error'
324
- );
321
+ assert.equal(process.exitCode, 0, 'buildDefinition should not have thrown an error');
325
322
 
326
323
  assert.deepEqual(
327
324
  await testUtils.getActualDeployJson('testTemplated_dataExtension', 'dataExtension'),
@@ -336,6 +333,7 @@ describe('type: dataExtension', () => {
336
333
  return;
337
334
  });
338
335
  });
336
+
339
337
  describe('Delete ================', () => {
340
338
  it('Should delete the dataExtension', async () => {
341
339
  // WHEN
@@ -345,11 +343,12 @@ describe('type: dataExtension', () => {
345
343
  'testExisting_dataExtension'
346
344
  );
347
345
  // THEN
348
- assert.equal(process.exitCode, false, 'delete should not have thrown an error');
346
+ assert.equal(process.exitCode, 0, 'delete should not have thrown an error');
349
347
 
350
348
  assert.equal(isDeleted, true, 'should have deleted the item');
351
349
  return;
352
350
  });
351
+
353
352
  it('Should delete the dataExtensionField', async () => {
354
353
  // WHEN
355
354
  const isDeleted = await handler.deleteByKey(
@@ -358,12 +357,13 @@ describe('type: dataExtension', () => {
358
357
  'testExisting_dataExtension.LastName'
359
358
  );
360
359
  // THEN
361
- assert.equal(process.exitCode, false, 'delete should not have thrown an error');
360
+ assert.equal(process.exitCode, 0, 'delete should not have thrown an error');
362
361
 
363
362
  assert.equal(isDeleted, true, 'should have deleted the item');
364
363
  return;
365
364
  });
366
365
  });
366
+
367
367
  describe('CI/CD ================', () => {
368
368
  it('Should return a list of files based on their type and key', async () => {
369
369
  // WHEN
@@ -373,11 +373,7 @@ describe('type: dataExtension', () => {
373
373
  ['testExisting_dataExtension']
374
374
  );
375
375
  // THEN
376
- assert.equal(
377
- process.exitCode,
378
- false,
379
- 'getFilesToCommit should not have thrown an error'
380
- );
376
+ assert.equal(process.exitCode, 0, 'getFilesToCommit should not have thrown an error');
381
377
  assert.equal(fileList.length, 2, 'expected only 2 file paths (json, md)');
382
378
 
383
379
  assert.equal(
@@ -1,4 +1,6 @@
1
- import chai, { assert } from 'chai';
1
+ import * as chai from 'chai';
2
+ const assert = chai.assert;
3
+
2
4
  import chaiFiles from 'chai-files';
3
5
  import cache from '../lib/util/cache.js';
4
6
  import * as testUtils from './utils.js';
@@ -9,6 +11,7 @@ describe('type: dataExtract', () => {
9
11
  beforeEach(() => {
10
12
  testUtils.mockSetup();
11
13
  });
14
+
12
15
  afterEach(() => {
13
16
  testUtils.mockReset();
14
17
  });
@@ -18,7 +21,7 @@ describe('type: dataExtract', () => {
18
21
  // WHEN
19
22
  await handler.retrieve('testInstance/testBU', ['dataExtract']);
20
23
  // THEN
21
- assert.equal(process.exitCode, false, 'retrieve should not have thrown an error');
24
+ assert.equal(process.exitCode, 0, 'retrieve should not have thrown an error');
22
25
  // get results from cache
23
26
  const result = cache.getCache();
24
27
  assert.equal(
@@ -39,16 +42,18 @@ describe('type: dataExtract', () => {
39
42
  return;
40
43
  });
41
44
  });
45
+
42
46
  describe('Deploy ================', () => {
43
47
  beforeEach(() => {
44
48
  testUtils.mockSetup(true);
45
49
  });
50
+
46
51
  it('Should create & upsert a dataExtract', async () => {
47
52
  // WHEN
48
53
 
49
54
  await handler.deploy('testInstance/testBU', ['dataExtract']);
50
55
  // THEN
51
- assert.equal(process.exitCode, false, 'deploy should not have thrown an error');
56
+ assert.equal(process.exitCode, 0, 'deploy should not have thrown an error');
52
57
  // get results from cache
53
58
  const result = cache.getCache();
54
59
  assert.equal(
@@ -76,8 +81,10 @@ describe('type: dataExtract', () => {
76
81
  );
77
82
  return;
78
83
  });
84
+
79
85
  it('Should change the key during update via --changeKeyValue ');
80
86
  });
87
+
81
88
  describe('Templating ================', () => {
82
89
  it('Should create a dataExtract template via retrieveAsTemplate and build it', async () => {
83
90
  // buildTemplate
@@ -87,7 +94,7 @@ describe('type: dataExtract', () => {
87
94
  ['testExisting_dataExtract'],
88
95
  'testSourceMarket'
89
96
  );
90
- assert.equal(process.exitCode, false, 'buildTemplate should not have thrown an error');
97
+ assert.equal(process.exitCode, 0, 'buildTemplate should not have thrown an error');
91
98
  assert.equal(
92
99
  result.dataExtract ? Object.keys(result.dataExtract).length : 0,
93
100
  1,
@@ -102,14 +109,10 @@ describe('type: dataExtract', () => {
102
109
  await handler.buildDefinition(
103
110
  'testInstance/testBU',
104
111
  'dataExtract',
105
- 'testExisting_dataExtract',
112
+ ['testExisting_dataExtract'],
106
113
  'testTargetMarket'
107
114
  );
108
- assert.equal(
109
- process.exitCode,
110
- false,
111
- 'buildDefinition should not have thrown an error'
112
- );
115
+ assert.equal(process.exitCode, 0, 'buildDefinition should not have thrown an error');
113
116
  assert.deepEqual(
114
117
  await testUtils.getActualDeployJson('testTemplated_dataExtract', 'dataExtract'),
115
118
  await testUtils.getExpectedJson('9999999', 'dataExtract', 'build'),
@@ -122,6 +125,7 @@ describe('type: dataExtract', () => {
122
125
  );
123
126
  return;
124
127
  });
128
+
125
129
  it('Should create a dataExtract template via buildTemplate and build it', async () => {
126
130
  // download first before we test buildTemplate
127
131
  await handler.retrieve('testInstance/testBU', ['dataExtract']);
@@ -132,7 +136,7 @@ describe('type: dataExtract', () => {
132
136
  ['testExisting_dataExtract'],
133
137
  'testSourceMarket'
134
138
  );
135
- assert.equal(process.exitCode, false, 'buildTemplate should not have thrown an error');
139
+ assert.equal(process.exitCode, 0, 'buildTemplate should not have thrown an error');
136
140
  assert.equal(
137
141
  result.dataExtract ? Object.keys(result.dataExtract).length : 0,
138
142
  1,
@@ -147,14 +151,10 @@ describe('type: dataExtract', () => {
147
151
  await handler.buildDefinition(
148
152
  'testInstance/testBU',
149
153
  'dataExtract',
150
- 'testExisting_dataExtract',
154
+ ['testExisting_dataExtract'],
151
155
  'testTargetMarket'
152
156
  );
153
- assert.equal(
154
- process.exitCode,
155
- false,
156
- 'buildDefinition should not have thrown an error'
157
- );
157
+ assert.equal(process.exitCode, 0, 'buildDefinition should not have thrown an error');
158
158
  assert.deepEqual(
159
159
  await testUtils.getActualDeployJson('testTemplated_dataExtract', 'dataExtract'),
160
160
  await testUtils.getExpectedJson('9999999', 'dataExtract', 'build'),
@@ -168,25 +168,18 @@ describe('type: dataExtract', () => {
168
168
  return;
169
169
  });
170
170
  });
171
+
171
172
  describe('Delete ================', () => {
172
- it('Should NOT delete the item', async () => {
173
+ it('Should delete the item', async () => {
173
174
  // WHEN
174
175
  const isDeleted = await handler.deleteByKey(
175
176
  'testInstance/testBU',
176
177
  'dataExtract',
177
- 'testExisting_fileTranfer'
178
+ 'testExisting_dataExtract'
178
179
  );
179
180
  // THEN
180
- assert.equal(
181
- process.exitCode,
182
- 1,
183
- 'deleteByKey should have thrown an error due to lack of support'
184
- );
185
- assert.equal(
186
- isDeleted,
187
- false,
188
- 'deleteByKey should have returned false due to lack of support'
189
- );
181
+ assert.equal(process.exitCode, 0, 'deleteByKey should not have thrown an error');
182
+ assert.equal(isDeleted, true, 'deleteByKey should have returned true');
190
183
  return;
191
184
  });
192
185
  });
@@ -0,0 +1,45 @@
1
+ import * as chai from 'chai';
2
+ const assert = chai.assert;
3
+
4
+ import chaiFiles from 'chai-files';
5
+ import cache from '../lib/util/cache.js';
6
+ import * as testUtils from './utils.js';
7
+ import handler from '../lib/index.js';
8
+ chai.use(chaiFiles);
9
+
10
+ describe('type: deliveryProfile', () => {
11
+ beforeEach(() => {
12
+ testUtils.mockSetup();
13
+ });
14
+
15
+ afterEach(() => {
16
+ testUtils.mockReset();
17
+ });
18
+
19
+ describe('Retrieve ================', () => {
20
+ it('Should retrieve a deliveryProfile', async () => {
21
+ // WHEN
22
+ await handler.retrieve('testInstance/testBU', ['deliveryProfile']);
23
+ // THEN
24
+ assert.equal(process.exitCode, 0, 'retrieve should not have thrown an error');
25
+ // get results from cache
26
+ const result = cache.getCache();
27
+ assert.equal(
28
+ result.deliveryProfile ? Object.keys(result.deliveryProfile).length : 0,
29
+ 1,
30
+ 'only one deliveryProfile expected'
31
+ );
32
+ assert.deepEqual(
33
+ await testUtils.getActualJson('Default', 'deliveryProfile'),
34
+ await testUtils.getExpectedJson('9999999', 'deliveryProfile', 'get'),
35
+ 'returned JSON was not equal expected'
36
+ );
37
+ assert.equal(
38
+ testUtils.getAPIHistoryLength(),
39
+ 1,
40
+ 'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
41
+ );
42
+ return;
43
+ });
44
+ });
45
+ });
@@ -0,0 +1,144 @@
1
+ import * as chai from 'chai';
2
+ const assert = chai.assert;
3
+
4
+ import chaiFiles from 'chai-files';
5
+ import cache from '../lib/util/cache.js';
6
+ import * as testUtils from './utils.js';
7
+ import handler from '../lib/index.js';
8
+ chai.use(chaiFiles);
9
+
10
+ describe('type: emailSend', () => {
11
+ beforeEach(() => {
12
+ testUtils.mockSetup();
13
+ });
14
+
15
+ afterEach(() => {
16
+ testUtils.mockReset();
17
+ });
18
+
19
+ describe('Retrieve ================', () => {
20
+ it('Should retrieve a emailSend', async () => {
21
+ // WHEN
22
+ await handler.retrieve('testInstance/testBU', ['emailSend']);
23
+ // THEN
24
+ assert.equal(process.exitCode, 0, 'retrieve should not have thrown an error');
25
+ // get results from cache
26
+ const result = cache.getCache();
27
+ assert.equal(
28
+ result.emailSend ? Object.keys(result.emailSend).length : 0,
29
+ 1,
30
+ 'only 1 emailSend expected'
31
+ );
32
+ assert.deepEqual(
33
+ await testUtils.getActualJson('testExisting_emailSend', 'emailSend'),
34
+ await testUtils.getExpectedJson('9999999', 'emailSend', 'get'),
35
+ 'returned JSON was not equal expected'
36
+ );
37
+ assert.equal(
38
+ testUtils.getAPIHistoryLength(),
39
+ 16,
40
+ 'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
41
+ );
42
+ return;
43
+ });
44
+ });
45
+
46
+ describe('Deploy ================', () => {
47
+ beforeEach(() => {
48
+ testUtils.mockSetup(true);
49
+ });
50
+
51
+ it('Should create & upsert a emailSend', async () => {
52
+ // WHEN
53
+
54
+ await handler.deploy('testInstance/testBU', ['emailSend']);
55
+ // THEN
56
+ assert.equal(process.exitCode, 0, 'deploy should not have thrown an error');
57
+ // get results from cache
58
+ const result = cache.getCache();
59
+ assert.equal(
60
+ result.emailSend ? Object.keys(result.emailSend).length : 0,
61
+ 2,
62
+ '2 emailSends expected'
63
+ );
64
+ // confirm created item
65
+ assert.deepEqual(
66
+ await testUtils.getActualJson('testNew_emailSend', 'emailSend'),
67
+ await testUtils.getExpectedJson('9999999', 'emailSend', 'post'),
68
+ 'returned new-JSON was not equal expected for insert emailSend'
69
+ );
70
+ // confirm updated item
71
+ assert.deepEqual(
72
+ await testUtils.getActualJson('testExisting_emailSend', 'emailSend'),
73
+ await testUtils.getExpectedJson('9999999', 'emailSend', 'patch'),
74
+ 'returned existing-JSON was not equal expected for update emailSend'
75
+ );
76
+ // check number of API calls
77
+ assert.equal(
78
+ testUtils.getAPIHistoryLength(),
79
+ 18,
80
+ 'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
81
+ );
82
+ return;
83
+ });
84
+ });
85
+
86
+ describe('Templating ================', () => {
87
+ it('Should create a emailSend template via buildTemplate and build it', async () => {
88
+ // download first before we test buildTemplate
89
+ await handler.retrieve('testInstance/testBU', ['emailSend']);
90
+ // buildTemplate
91
+ const result = await handler.buildTemplate(
92
+ 'testInstance/testBU',
93
+ 'emailSend',
94
+ ['testExisting_emailSend'],
95
+ 'testSourceMarket'
96
+ );
97
+ assert.equal(process.exitCode, 0, 'buildTemplate should not have thrown an error');
98
+ assert.equal(
99
+ result.emailSend ? Object.keys(result.emailSend).length : 0,
100
+ 1,
101
+ 'only one emailSend expected'
102
+ );
103
+ assert.deepEqual(
104
+ await testUtils.getActualTemplateJson('testExisting_emailSend', 'emailSend'),
105
+ await testUtils.getExpectedJson('9999999', 'emailSend', 'template'),
106
+ 'returned template JSON was not equal expected'
107
+ );
108
+ // buildDefinition
109
+ await handler.buildDefinition(
110
+ 'testInstance/testBU',
111
+ 'emailSend',
112
+ ['testExisting_emailSend'],
113
+ 'testTargetMarket'
114
+ );
115
+ assert.equal(process.exitCode, 0, 'buildDefinition should not have thrown an error');
116
+ assert.deepEqual(
117
+ await testUtils.getActualDeployJson('testTemplated_emailSend', 'emailSend'),
118
+ await testUtils.getExpectedJson('9999999', 'emailSend', 'build'),
119
+ 'returned deployment JSON was not equal expected'
120
+ );
121
+ assert.equal(
122
+ testUtils.getAPIHistoryLength(),
123
+ 16,
124
+ 'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
125
+ );
126
+ return;
127
+ });
128
+ });
129
+
130
+ describe('Delete ================', () => {
131
+ it('Should delete the item', async () => {
132
+ // WHEN
133
+ const isDeleted = await handler.deleteByKey(
134
+ 'testInstance/testBU',
135
+ 'emailSend',
136
+ 'testExisting_emailSend'
137
+ );
138
+ // THEN
139
+ assert.equal(process.exitCode, 0, 'deleteByKey should not have thrown an error');
140
+ assert.equal(isDeleted, true, 'deleteByKey should have returned true');
141
+ return;
142
+ });
143
+ });
144
+ });
@@ -0,0 +1,62 @@
1
+ import * as chai from 'chai';
2
+ const assert = chai.assert;
3
+ // const expect = chai.expect;
4
+
5
+ import chaiFiles from 'chai-files';
6
+ // import cache from '../lib/util/cache.js';
7
+ import * as testUtils from './utils.js';
8
+ import handler from '../lib/index.js';
9
+ chai.use(chaiFiles);
10
+ // const file = chaiFiles.file;
11
+
12
+ describe('type: event', () => {
13
+ beforeEach(() => {
14
+ testUtils.mockSetup();
15
+ });
16
+
17
+ afterEach(() => {
18
+ testUtils.mockReset();
19
+ });
20
+
21
+ describe('Retrieve ================', () => {});
22
+
23
+ describe('Deploy ================', () => {
24
+ beforeEach(() => {
25
+ testUtils.mockSetup(true);
26
+ });
27
+ });
28
+
29
+ describe('FixKeys ================', () => {
30
+ beforeEach(() => {
31
+ testUtils.mockSetup(true);
32
+ });
33
+
34
+ it('Should exit fixKeys because event is not supported intentionally', async () => {
35
+ // WHEN
36
+ handler.setOptions({ skipInteraction: { fixKeysReretrieve: false } });
37
+ const resultFixKeys = await handler.fixKeys('testInstance/testBU', ['event']);
38
+ // THEN
39
+ assert.equal(process.exitCode, 0, 'fixKeys should not have thrown an error');
40
+ // check which keys were fixed
41
+ assert.equal(
42
+ resultFixKeys['testInstance/testBU'],
43
+ undefined,
44
+ 'expected to find no keys to be fixed'
45
+ );
46
+
47
+ // check number of API calls
48
+ assert.equal(
49
+ testUtils.getAPIHistoryLength(),
50
+ 0,
51
+ 'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
52
+ );
53
+ return;
54
+ });
55
+ });
56
+
57
+ describe('Templating ================', () => {});
58
+
59
+ describe('Delete ================', () => {});
60
+
61
+ describe('CI/CD ================', () => {});
62
+ });