@squiz/dxp-cli-next 5.33.0-develop.4 → 5.33.0-develop.6

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 (391) hide show
  1. package/bin/dxp.js +6 -1
  2. package/dist/dxp.js +4319 -0
  3. package/package.json +37 -29
  4. package/lib/ApiService.d.ts +0 -39
  5. package/lib/ApiService.js +0 -120
  6. package/lib/ApiService.spec.d.ts +0 -1
  7. package/lib/ApiService.spec.js +0 -182
  8. package/lib/ApplicationConfig.d.ts +0 -7
  9. package/lib/ApplicationConfig.js +0 -38
  10. package/lib/ApplicationConfig.spec.d.ts +0 -1
  11. package/lib/ApplicationConfig.spec.js +0 -84
  12. package/lib/ApplicationStore.d.ts +0 -13
  13. package/lib/ApplicationStore.js +0 -53
  14. package/lib/__tests__/cmp/dev-mode.spec.d.ts +0 -1
  15. package/lib/__tests__/cmp/dev-mode.spec.js +0 -54
  16. package/lib/__tests__/helpers.d.ts +0 -17
  17. package/lib/__tests__/helpers.js +0 -54
  18. package/lib/__tests__/integration/main.spec.d.ts +0 -1
  19. package/lib/__tests__/integration/main.spec.js +0 -45
  20. package/lib/__tests__/smoke/validate.spec.d.ts +0 -1
  21. package/lib/__tests__/smoke/validate.spec.js +0 -37
  22. package/lib/__tests__/unit/cli.d.ts +0 -0
  23. package/lib/__tests__/unit/cli.js +0 -7
  24. package/lib/auth/index.d.ts +0 -3
  25. package/lib/auth/index.js +0 -14
  26. package/lib/auth/login/login.d.ts +0 -22
  27. package/lib/auth/login/login.js +0 -268
  28. package/lib/auth/login/login.spec.d.ts +0 -1
  29. package/lib/auth/login/login.spec.js +0 -179
  30. package/lib/auth/logout/logout.d.ts +0 -3
  31. package/lib/auth/logout/logout.js +0 -115
  32. package/lib/auth/logout/logout.spec.d.ts +0 -1
  33. package/lib/auth/logout/logout.spec.js +0 -67
  34. package/lib/cdp/constants.d.ts +0 -1
  35. package/lib/cdp/constants.js +0 -4
  36. package/lib/cdp/index.d.ts +0 -3
  37. package/lib/cdp/index.js +0 -16
  38. package/lib/cdp/instance/activate/activate.d.ts +0 -5
  39. package/lib/cdp/instance/activate/activate.js +0 -107
  40. package/lib/cdp/instance/activate/activate.spec.d.ts +0 -1
  41. package/lib/cdp/instance/activate/activate.spec.js +0 -274
  42. package/lib/cdp/instance/instanceCommand.d.ts +0 -3
  43. package/lib/cdp/instance/instanceCommand.js +0 -15
  44. package/lib/cdp/schema/deploy/deploy.const.d.ts +0 -5
  45. package/lib/cdp/schema/deploy/deploy.const.js +0 -8
  46. package/lib/cdp/schema/deploy/deploy.d.ts +0 -4
  47. package/lib/cdp/schema/deploy/deploy.js +0 -107
  48. package/lib/cdp/schema/deploy/deploy.spec.d.ts +0 -1
  49. package/lib/cdp/schema/deploy/deploy.spec.js +0 -137
  50. package/lib/cdp/schema/schemaCommand.d.ts +0 -3
  51. package/lib/cdp/schema/schemaCommand.js +0 -15
  52. package/lib/cdp/utils.d.ts +0 -23
  53. package/lib/cdp/utils.js +0 -133
  54. package/lib/cmp/deploy.d.ts +0 -3
  55. package/lib/cmp/deploy.js +0 -124
  56. package/lib/cmp/dev-mode-ui.d.ts +0 -4
  57. package/lib/cmp/dev-mode-ui.js +0 -51
  58. package/lib/cmp/dev-mode.d.ts +0 -4
  59. package/lib/cmp/dev-mode.js +0 -58
  60. package/lib/cmp/edge-components/compiler.d.ts +0 -13
  61. package/lib/cmp/edge-components/compiler.js +0 -55
  62. package/lib/cmp/index.d.ts +0 -3
  63. package/lib/cmp/index.js +0 -18
  64. package/lib/cmp/init.d.ts +0 -3
  65. package/lib/cmp/init.js +0 -105
  66. package/lib/cmp/utils/definitions.d.ts +0 -481
  67. package/lib/cmp/utils/definitions.js +0 -262
  68. package/lib/cmp/utils/definitions.spec.d.ts +0 -1
  69. package/lib/cmp/utils/definitions.spec.js +0 -503
  70. package/lib/constants.d.ts +0 -1
  71. package/lib/constants.js +0 -4
  72. package/lib/datastore/blueprint/add/add.d.ts +0 -3
  73. package/lib/datastore/blueprint/add/add.js +0 -119
  74. package/lib/datastore/blueprint/add/add.spec.d.ts +0 -1
  75. package/lib/datastore/blueprint/add/add.spec.js +0 -134
  76. package/lib/datastore/blueprint/blueprintCommand.d.ts +0 -3
  77. package/lib/datastore/blueprint/blueprintCommand.js +0 -21
  78. package/lib/datastore/blueprint/list/list.d.ts +0 -3
  79. package/lib/datastore/blueprint/list/list.js +0 -76
  80. package/lib/datastore/blueprint/list/list.spec.d.ts +0 -1
  81. package/lib/datastore/blueprint/list/list.spec.js +0 -51
  82. package/lib/datastore/blueprint/rename/rename.d.ts +0 -3
  83. package/lib/datastore/blueprint/rename/rename.js +0 -93
  84. package/lib/datastore/blueprint/rename/rename.spec.d.ts +0 -1
  85. package/lib/datastore/blueprint/rename/rename.spec.js +0 -142
  86. package/lib/datastore/blueprint/update/update.d.ts +0 -3
  87. package/lib/datastore/blueprint/update/update.js +0 -89
  88. package/lib/datastore/blueprint/update/update.spec.d.ts +0 -1
  89. package/lib/datastore/blueprint/update/update.spec.js +0 -99
  90. package/lib/datastore/bundle/bundle.d.ts +0 -3
  91. package/lib/datastore/bundle/bundle.js +0 -176
  92. package/lib/datastore/bundle/bundle.spec.d.ts +0 -1
  93. package/lib/datastore/bundle/bundle.spec.js +0 -94
  94. package/lib/datastore/index.d.ts +0 -3
  95. package/lib/datastore/index.js +0 -16
  96. package/lib/datastore/simulator/add/add.d.ts +0 -3
  97. package/lib/datastore/simulator/add/add.js +0 -125
  98. package/lib/datastore/simulator/add/add.spec.d.ts +0 -1
  99. package/lib/datastore/simulator/add/add.spec.js +0 -114
  100. package/lib/datastore/simulator/clear/clear.d.ts +0 -3
  101. package/lib/datastore/simulator/clear/clear.js +0 -70
  102. package/lib/datastore/simulator/clear/clear.spec.d.ts +0 -1
  103. package/lib/datastore/simulator/clear/clear.spec.js +0 -224
  104. package/lib/datastore/simulator/list/list.d.ts +0 -3
  105. package/lib/datastore/simulator/list/list.js +0 -115
  106. package/lib/datastore/simulator/list/list.spec.d.ts +0 -1
  107. package/lib/datastore/simulator/list/list.spec.js +0 -95
  108. package/lib/datastore/simulator/pause/pause.d.ts +0 -3
  109. package/lib/datastore/simulator/pause/pause.js +0 -84
  110. package/lib/datastore/simulator/pause/pause.spec.d.ts +0 -1
  111. package/lib/datastore/simulator/pause/pause.spec.js +0 -90
  112. package/lib/datastore/simulator/remove/remove.d.ts +0 -3
  113. package/lib/datastore/simulator/remove/remove.js +0 -68
  114. package/lib/datastore/simulator/remove/remove.spec.d.ts +0 -1
  115. package/lib/datastore/simulator/remove/remove.spec.js +0 -224
  116. package/lib/datastore/simulator/resume/resume.d.ts +0 -3
  117. package/lib/datastore/simulator/resume/resume.js +0 -84
  118. package/lib/datastore/simulator/resume/resume.spec.d.ts +0 -1
  119. package/lib/datastore/simulator/resume/resume.spec.js +0 -90
  120. package/lib/datastore/simulator/simulatorCommand.d.ts +0 -3
  121. package/lib/datastore/simulator/simulatorCommand.js +0 -27
  122. package/lib/datastore/simulator/upgrade/upgrade.d.ts +0 -3
  123. package/lib/datastore/simulator/upgrade/upgrade.js +0 -157
  124. package/lib/datastore/simulator/upgrade/upgrade.spec.d.ts +0 -1
  125. package/lib/datastore/simulator/upgrade/upgrade.spec.js +0 -199
  126. package/lib/datastore/simulator/utils.d.ts +0 -29
  127. package/lib/datastore/simulator/utils.js +0 -218
  128. package/lib/datastore/simulator/utils.spec.d.ts +0 -1
  129. package/lib/datastore/simulator/utils.spec.js +0 -201
  130. package/lib/datastore/utils.d.ts +0 -20
  131. package/lib/datastore/utils.js +0 -241
  132. package/lib/datastore/utils.spec.d.ts +0 -1
  133. package/lib/datastore/utils.spec.js +0 -113
  134. package/lib/dxp.d.ts +0 -1
  135. package/lib/dxp.js +0 -57
  136. package/lib/job-runner/index.d.ts +0 -3
  137. package/lib/job-runner/index.js +0 -22
  138. package/lib/job-runner/job/listJobs/listJobs.d.ts +0 -3
  139. package/lib/job-runner/job/listJobs/listJobs.js +0 -66
  140. package/lib/job-runner/job/listJobs/listJobs.spec.d.ts +0 -1
  141. package/lib/job-runner/job/listJobs/listJobs.spec.js +0 -42
  142. package/lib/job-runner/job/uploadJob/uploadJob.d.ts +0 -3
  143. package/lib/job-runner/job/uploadJob/uploadJob.js +0 -56
  144. package/lib/job-runner/job/uploadJob/uploadJob.spec.d.ts +0 -1
  145. package/lib/job-runner/job/uploadJob/uploadJob.spec.js +0 -42
  146. package/lib/job-runner/jobContext/listJobContexts.d.ts +0 -3
  147. package/lib/job-runner/jobContext/listJobContexts.js +0 -66
  148. package/lib/job-runner/jobContext/listJobContexts.spec.d.ts +0 -1
  149. package/lib/job-runner/jobContext/listJobContexts.spec.js +0 -58
  150. package/lib/job-runner/jobExecution/beginJob/beginJob.d.ts +0 -3
  151. package/lib/job-runner/jobExecution/beginJob/beginJob.js +0 -68
  152. package/lib/job-runner/jobExecution/beginJob/beginJob.spec.d.ts +0 -1
  153. package/lib/job-runner/jobExecution/beginJob/beginJob.spec.js +0 -62
  154. package/lib/job-runner/jobExecution/listJobExecutions/listJobExecutions.d.ts +0 -3
  155. package/lib/job-runner/jobExecution/listJobExecutions/listJobExecutions.js +0 -67
  156. package/lib/job-runner/jobExecution/listJobExecutions/listJobExecutions.spec.d.ts +0 -1
  157. package/lib/job-runner/jobExecution/listJobExecutions/listJobExecutions.spec.js +0 -64
  158. package/lib/job-runner/jobExecution/terminateJob/terminateJob.d.ts +0 -3
  159. package/lib/job-runner/jobExecution/terminateJob/terminateJob.js +0 -64
  160. package/lib/job-runner/jobExecution/terminateJob/terminateJob.spec.d.ts +0 -1
  161. package/lib/job-runner/jobExecution/terminateJob/terminateJob.spec.js +0 -61
  162. package/lib/job-runner/utils.d.ts +0 -19
  163. package/lib/job-runner/utils.js +0 -145
  164. package/lib/job-runner/utils.spec.d.ts +0 -1
  165. package/lib/job-runner/utils.spec.js +0 -116
  166. package/lib/migration/batch-get/batch-get.d.ts +0 -3
  167. package/lib/migration/batch-get/batch-get.js +0 -45
  168. package/lib/migration/batch-get/batch-get.spec.d.ts +0 -1
  169. package/lib/migration/batch-get/batch-get.spec.js +0 -182
  170. package/lib/migration/batch-next/batch-next.d.ts +0 -3
  171. package/lib/migration/batch-next/batch-next.js +0 -60
  172. package/lib/migration/batch-next/batch-next.spec.d.ts +0 -1
  173. package/lib/migration/batch-next/batch-next.spec.js +0 -251
  174. package/lib/migration/batch-revert/batch-revert.d.ts +0 -3
  175. package/lib/migration/batch-revert/batch-revert.js +0 -45
  176. package/lib/migration/batch-revert/batch-revert.spec.d.ts +0 -1
  177. package/lib/migration/batch-revert/batch-revert.spec.js +0 -197
  178. package/lib/migration/create/create.d.ts +0 -3
  179. package/lib/migration/create/create.js +0 -76
  180. package/lib/migration/create/create.spec.d.ts +0 -1
  181. package/lib/migration/create/create.spec.js +0 -308
  182. package/lib/migration/get/get.d.ts +0 -3
  183. package/lib/migration/get/get.js +0 -46
  184. package/lib/migration/get/get.spec.d.ts +0 -1
  185. package/lib/migration/get/get.spec.js +0 -276
  186. package/lib/migration/index.d.ts +0 -3
  187. package/lib/migration/index.js +0 -32
  188. package/lib/migration/list/list.d.ts +0 -3
  189. package/lib/migration/list/list.js +0 -45
  190. package/lib/migration/list/list.spec.d.ts +0 -1
  191. package/lib/migration/list/list.spec.js +0 -139
  192. package/lib/migration/mark-deployed/mark-deployed.d.ts +0 -3
  193. package/lib/migration/mark-deployed/mark-deployed.js +0 -55
  194. package/lib/migration/mark-deployed/mark-deployed.spec.d.ts +0 -1
  195. package/lib/migration/mark-deployed/mark-deployed.spec.js +0 -217
  196. package/lib/migration/next/next.d.ts +0 -3
  197. package/lib/migration/next/next.js +0 -75
  198. package/lib/migration/next/next.spec.d.ts +0 -1
  199. package/lib/migration/next/next.spec.js +0 -254
  200. package/lib/migration/pre/pre.d.ts +0 -3
  201. package/lib/migration/pre/pre.js +0 -54
  202. package/lib/migration/pre/pre.spec.d.ts +0 -1
  203. package/lib/migration/pre/pre.spec.js +0 -269
  204. package/lib/migration/revert/revert.d.ts +0 -3
  205. package/lib/migration/revert/revert.js +0 -47
  206. package/lib/migration/revert/revert.spec.d.ts +0 -1
  207. package/lib/migration/revert/revert.spec.js +0 -153
  208. package/lib/migration/settings/settings.d.ts +0 -3
  209. package/lib/migration/settings/settings.js +0 -63
  210. package/lib/migration/settings/settings.spec.d.ts +0 -1
  211. package/lib/migration/settings/settings.spec.js +0 -339
  212. package/lib/migration/types/common.types.d.ts +0 -60
  213. package/lib/migration/types/common.types.js +0 -19
  214. package/lib/migration/types/createMigration.types.d.ts +0 -48
  215. package/lib/migration/types/createMigration.types.js +0 -2
  216. package/lib/migration/types/getMigration.types.d.ts +0 -9
  217. package/lib/migration/types/getMigration.types.js +0 -2
  218. package/lib/migration/types/index.d.ts +0 -8
  219. package/lib/migration/types/index.js +0 -24
  220. package/lib/migration/types/listMigrations.types.d.ts +0 -2
  221. package/lib/migration/types/listMigrations.types.js +0 -2
  222. package/lib/migration/types/markDeployed.types.d.ts +0 -20
  223. package/lib/migration/types/markDeployed.types.js +0 -2
  224. package/lib/migration/types/nextStage.types.d.ts +0 -31
  225. package/lib/migration/types/nextStage.types.js +0 -2
  226. package/lib/migration/types/preMigration.types.d.ts +0 -10
  227. package/lib/migration/types/preMigration.types.js +0 -2
  228. package/lib/migration/types/revert.types.d.ts +0 -18
  229. package/lib/migration/types/revert.types.js +0 -2
  230. package/lib/migration/types/settings.types.d.ts +0 -15
  231. package/lib/migration/types/settings.types.js +0 -2
  232. package/lib/migration/utils/common.d.ts +0 -53
  233. package/lib/migration/utils/common.js +0 -166
  234. package/lib/migration/utils/common.spec.d.ts +0 -1
  235. package/lib/migration/utils/common.spec.js +0 -236
  236. package/lib/migration/utils/createMigration.d.ts +0 -16
  237. package/lib/migration/utils/createMigration.js +0 -116
  238. package/lib/migration/utils/createMigration.spec.d.ts +0 -1
  239. package/lib/migration/utils/createMigration.spec.js +0 -260
  240. package/lib/migration/utils/getMigration.d.ts +0 -3
  241. package/lib/migration/utils/getMigration.js +0 -46
  242. package/lib/migration/utils/getMigration.spec.d.ts +0 -1
  243. package/lib/migration/utils/getMigration.spec.js +0 -295
  244. package/lib/migration/utils/index.d.ts +0 -10
  245. package/lib/migration/utils/index.js +0 -26
  246. package/lib/migration/utils/listMigrations.d.ts +0 -3
  247. package/lib/migration/utils/listMigrations.js +0 -41
  248. package/lib/migration/utils/listMigrations.spec.d.ts +0 -1
  249. package/lib/migration/utils/listMigrations.spec.js +0 -109
  250. package/lib/migration/utils/loadAssetIdsFromFile.d.ts +0 -9
  251. package/lib/migration/utils/loadAssetIdsFromFile.js +0 -40
  252. package/lib/migration/utils/loadAssetIdsFromFile.spec.d.ts +0 -1
  253. package/lib/migration/utils/loadAssetIdsFromFile.spec.js +0 -91
  254. package/lib/migration/utils/loadStageOptionsFromFile.d.ts +0 -2
  255. package/lib/migration/utils/loadStageOptionsFromFile.js +0 -32
  256. package/lib/migration/utils/loadStageOptionsFromFile.spec.d.ts +0 -1
  257. package/lib/migration/utils/loadStageOptionsFromFile.spec.js +0 -77
  258. package/lib/migration/utils/markComponentsDeployed.d.ts +0 -2
  259. package/lib/migration/utils/markComponentsDeployed.js +0 -37
  260. package/lib/migration/utils/markComponentsDeployed.spec.d.ts +0 -1
  261. package/lib/migration/utils/markComponentsDeployed.spec.js +0 -222
  262. package/lib/migration/utils/nextStage.d.ts +0 -3
  263. package/lib/migration/utils/nextStage.js +0 -55
  264. package/lib/migration/utils/nextStage.spec.d.ts +0 -1
  265. package/lib/migration/utils/nextStage.spec.js +0 -323
  266. package/lib/migration/utils/options.d.ts +0 -18
  267. package/lib/migration/utils/options.js +0 -136
  268. package/lib/migration/utils/options.spec.d.ts +0 -1
  269. package/lib/migration/utils/options.spec.js +0 -115
  270. package/lib/migration/utils/promptForMorphConfirmation.d.ts +0 -5
  271. package/lib/migration/utils/promptForMorphConfirmation.js +0 -55
  272. package/lib/migration/utils/promptForMorphConfirmation.spec.d.ts +0 -1
  273. package/lib/migration/utils/promptForMorphConfirmation.spec.js +0 -101
  274. package/lib/migration/utils/revertMigration.d.ts +0 -3
  275. package/lib/migration/utils/revertMigration.js +0 -58
  276. package/lib/migration/utils/revertMigration.spec.d.ts +0 -1
  277. package/lib/migration/utils/revertMigration.spec.js +0 -210
  278. package/lib/migration/utils/setMigrationSettings.d.ts +0 -2
  279. package/lib/migration/utils/setMigrationSettings.js +0 -52
  280. package/lib/migration/utils/setMigrationSettings.spec.d.ts +0 -1
  281. package/lib/migration/utils/setMigrationSettings.spec.js +0 -163
  282. package/lib/page/index.d.ts +0 -3
  283. package/lib/page/index.js +0 -12
  284. package/lib/page/layouts/deploy/deploy.d.ts +0 -5
  285. package/lib/page/layouts/deploy/deploy.js +0 -157
  286. package/lib/page/layouts/deploy/deploy.spec.d.ts +0 -1
  287. package/lib/page/layouts/deploy/deploy.spec.js +0 -319
  288. package/lib/page/layouts/dev/dev.d.ts +0 -5
  289. package/lib/page/layouts/dev/dev.js +0 -84
  290. package/lib/page/layouts/dev/dev.spec.d.ts +0 -1
  291. package/lib/page/layouts/dev/dev.spec.js +0 -271
  292. package/lib/page/layouts/layouts.d.ts +0 -3
  293. package/lib/page/layouts/layouts.js +0 -17
  294. package/lib/page/layouts/layouts.spec.d.ts +0 -1
  295. package/lib/page/layouts/layouts.spec.js +0 -29
  296. package/lib/page/layouts/validation/index.d.ts +0 -3
  297. package/lib/page/layouts/validation/index.js +0 -9
  298. package/lib/page/layouts/validation/property-consistency.d.ts +0 -7
  299. package/lib/page/layouts/validation/property-consistency.js +0 -92
  300. package/lib/page/layouts/validation/property-consistency.spec.d.ts +0 -1
  301. package/lib/page/layouts/validation/property-consistency.spec.js +0 -307
  302. package/lib/page/layouts/validation/validateLayoutFormat.d.ts +0 -2
  303. package/lib/page/layouts/validation/validateLayoutFormat.js +0 -27
  304. package/lib/page/layouts/validation/validateLayoutFormat.spec.d.ts +0 -1
  305. package/lib/page/layouts/validation/validateLayoutFormat.spec.js +0 -42
  306. package/lib/page/layouts/validation/zone-consistency.d.ts +0 -7
  307. package/lib/page/layouts/validation/zone-consistency.js +0 -50
  308. package/lib/page/layouts/validation/zone-consistency.spec.d.ts +0 -1
  309. package/lib/page/layouts/validation/zone-consistency.spec.js +0 -94
  310. package/lib/page/templates/validation.d.ts +0 -11
  311. package/lib/page/templates/validation.js +0 -30
  312. package/lib/page/templates/validation.spec.d.ts +0 -1
  313. package/lib/page/templates/validation.spec.js +0 -89
  314. package/lib/page/utils/definitions.d.ts +0 -596
  315. package/lib/page/utils/definitions.js +0 -247
  316. package/lib/page/utils/definitions.spec.d.ts +0 -1
  317. package/lib/page/utils/definitions.spec.js +0 -778
  318. package/lib/page/utils/normalize.d.ts +0 -8
  319. package/lib/page/utils/normalize.js +0 -54
  320. package/lib/page/utils/normalize.spec.d.ts +0 -1
  321. package/lib/page/utils/normalize.spec.js +0 -309
  322. package/lib/page/utils/parse-args.d.ts +0 -44
  323. package/lib/page/utils/parse-args.js +0 -119
  324. package/lib/page/utils/parse-args.spec.d.ts +0 -1
  325. package/lib/page/utils/parse-args.spec.js +0 -284
  326. package/lib/page/utils/render.d.ts +0 -51
  327. package/lib/page/utils/render.js +0 -112
  328. package/lib/page/utils/render.spec.d.ts +0 -1
  329. package/lib/page/utils/render.spec.js +0 -134
  330. package/lib/page/utils/server.d.ts +0 -12
  331. package/lib/page/utils/server.js +0 -201
  332. package/lib/page/utils/server.spec.d.ts +0 -1
  333. package/lib/page/utils/server.spec.js +0 -275
  334. package/lib/porter/constants.d.ts +0 -11
  335. package/lib/porter/constants.js +0 -14
  336. package/lib/porter/index.d.ts +0 -3
  337. package/lib/porter/index.js +0 -24
  338. package/lib/porter/port/abort/abort.d.ts +0 -3
  339. package/lib/porter/port/abort/abort.js +0 -80
  340. package/lib/porter/port/abort/abort.spec.d.ts +0 -1
  341. package/lib/porter/port/abort/abort.spec.js +0 -182
  342. package/lib/porter/port/get/get.d.ts +0 -3
  343. package/lib/porter/port/get/get.js +0 -96
  344. package/lib/porter/port/get/get.spec.d.ts +0 -1
  345. package/lib/porter/port/get/get.spec.js +0 -277
  346. package/lib/porter/port/start/start.d.ts +0 -3
  347. package/lib/porter/port/start/start.js +0 -82
  348. package/lib/porter/port/start/start.spec.d.ts +0 -1
  349. package/lib/porter/port/start/start.spec.js +0 -198
  350. package/lib/porter/project/add/add.d.ts +0 -3
  351. package/lib/porter/project/add/add.js +0 -138
  352. package/lib/porter/project/add/add.spec.d.ts +0 -1
  353. package/lib/porter/project/add/add.spec.js +0 -269
  354. package/lib/porter/project/get/get.d.ts +0 -3
  355. package/lib/porter/project/get/get.js +0 -65
  356. package/lib/porter/project/get/get.spec.d.ts +0 -1
  357. package/lib/porter/project/get/get.spec.js +0 -185
  358. package/lib/porter/project/remove/remove.d.ts +0 -3
  359. package/lib/porter/project/remove/remove.js +0 -69
  360. package/lib/porter/project/remove/remove.spec.d.ts +0 -1
  361. package/lib/porter/project/remove/remove.spec.js +0 -201
  362. package/lib/porter/types.d.ts +0 -5
  363. package/lib/porter/types.js +0 -2
  364. package/lib/porter/utils/BuildDXPUrl/BuildDXPUrl.d.ts +0 -4
  365. package/lib/porter/utils/BuildDXPUrl/BuildDXPUrl.js +0 -34
  366. package/lib/porter/utils/BuildPorterUrl/BuildPorterUrl.d.ts +0 -1
  367. package/lib/porter/utils/BuildPorterUrl/BuildPorterUrl.js +0 -21
  368. package/lib/porter/utils/BuildPorterUrl/BuildPorterUrl.spec.d.ts +0 -1
  369. package/lib/porter/utils/BuildPorterUrl/BuildPorterUrl.spec.js +0 -52
  370. package/lib/porter/utils/CoreUtils/CoreUtils.d.ts +0 -2
  371. package/lib/porter/utils/CoreUtils/CoreUtils.js +0 -13
  372. package/lib/porter/utils/CoreUtils/CoreUtils.spec.d.ts +0 -1
  373. package/lib/porter/utils/CoreUtils/CoreUtils.spec.js +0 -36
  374. package/lib/porter/utils/DoesPathExist/DoesPathExist.d.ts +0 -1
  375. package/lib/porter/utils/DoesPathExist/DoesPathExist.js +0 -27
  376. package/lib/porter/utils/DoesPathExist/DoesPathExist.spec.d.ts +0 -1
  377. package/lib/porter/utils/DoesPathExist/DoesPathExist.spec.js +0 -40
  378. package/lib/porter/utils/ErrorUtils/ErrorUtils.d.ts +0 -4
  379. package/lib/porter/utils/ErrorUtils/ErrorUtils.js +0 -66
  380. package/lib/porter/utils/ErrorUtils/ErrorUtils.spec.d.ts +0 -1
  381. package/lib/porter/utils/ErrorUtils/ErrorUtils.spec.js +0 -176
  382. package/lib/porter/utils/GetProjectConfig/GetProjectConfig.d.ts +0 -2
  383. package/lib/porter/utils/GetProjectConfig/GetProjectConfig.js +0 -33
  384. package/lib/porter/utils/GetProjectConfig/GetProjectConfig.spec.d.ts +0 -1
  385. package/lib/porter/utils/GetProjectConfig/GetProjectConfig.spec.js +0 -50
  386. package/lib/porter/utils/GetProjectName/GetProjectName.d.ts +0 -4
  387. package/lib/porter/utils/GetProjectName/GetProjectName.js +0 -30
  388. package/lib/porter/utils/GetProjectName/GetProjectName.spec.d.ts +0 -1
  389. package/lib/porter/utils/GetProjectName/GetProjectName.spec.js +0 -91
  390. package/lib/porter/utils/index.d.ts +0 -7
  391. package/lib/porter/utils/index.js +0 -23
@@ -1,236 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const fs_1 = __importDefault(require("fs"));
16
- const axios_1 = __importDefault(require("axios"));
17
- const ApplicationConfig_1 = require("../../ApplicationConfig");
18
- const ApplicationStore_1 = require("../../ApplicationStore");
19
- const _1 = require(".");
20
- // Mock all external dependencies
21
- jest.mock('fs');
22
- jest.mock('path');
23
- jest.mock('child_process');
24
- jest.mock('axios');
25
- jest.mock('../../ApplicationConfig');
26
- jest.mock('../../ApplicationStore');
27
- jest.mock('../../ApiService');
28
- // Mock global fetch
29
- const mockFetch = jest.fn();
30
- global.fetch = mockFetch;
31
- const mockFs = fs_1.default;
32
- const mockAxios = axios_1.default;
33
- const mockFetchApplicationConfig = ApplicationConfig_1.fetchApplicationConfig;
34
- const mockGetApplicationFile = ApplicationStore_1.getApplicationFile;
35
- describe('Migration Utils', () => {
36
- beforeEach(() => {
37
- jest.clearAllMocks();
38
- jest.resetAllMocks();
39
- });
40
- describe('handleCommandError', () => {
41
- let mockCommand;
42
- beforeEach(() => {
43
- mockCommand = {
44
- error: jest.fn(),
45
- };
46
- });
47
- it('handles axios errors with response data message', () => {
48
- const axiosError = {
49
- message: 'Network Error',
50
- response: {
51
- data: {
52
- message: 'Server Error',
53
- details: 'Additional details',
54
- },
55
- },
56
- };
57
- mockAxios.isAxiosError.mockReturnValue(true);
58
- (0, _1.handleCommandError)(mockCommand, axiosError);
59
- expect(mockCommand.error).toHaveBeenCalledWith(expect.stringContaining('Network Error: Server Error: Additional details'));
60
- });
61
- it('handles axios errors without response data', () => {
62
- const axiosError = {
63
- message: 'Network Error',
64
- };
65
- mockAxios.isAxiosError.mockReturnValue(true);
66
- (0, _1.handleCommandError)(mockCommand, axiosError);
67
- expect(mockCommand.error).toHaveBeenCalledWith(expect.stringContaining('Network Error'));
68
- });
69
- it('handles regular errors with message', () => {
70
- const error = new Error('Regular error');
71
- mockAxios.isAxiosError.mockReturnValue(false);
72
- (0, _1.handleCommandError)(mockCommand, error);
73
- expect(mockCommand.error).toHaveBeenCalledWith(expect.stringContaining('Regular error'));
74
- });
75
- it('handles errors without message', () => {
76
- const error = new Error();
77
- error.message = '';
78
- mockAxios.isAxiosError.mockReturnValue(false);
79
- (0, _1.handleCommandError)(mockCommand, error);
80
- expect(mockCommand.error).toHaveBeenCalledWith(expect.stringContaining('An unknown error occurred'));
81
- });
82
- it('shows stack trace in debug mode', () => {
83
- const originalDebug = process.env.DEBUG;
84
- process.env.DEBUG = 'true';
85
- const error = new Error('Test error');
86
- error.stack = 'Error stack trace';
87
- mockAxios.isAxiosError.mockReturnValue(false);
88
- (0, _1.handleCommandError)(mockCommand, error);
89
- expect(mockCommand.error).toHaveBeenCalledWith(expect.stringContaining('Test error'));
90
- expect(mockCommand.error).toHaveBeenCalledWith(expect.stringContaining('Stack trace:'));
91
- expect(mockCommand.error).toHaveBeenCalledWith(expect.stringContaining('Error stack trace'));
92
- process.env.DEBUG = originalDebug;
93
- });
94
- });
95
- describe('throwErrorIfNotLoggedIn', () => {
96
- let mockCommand;
97
- beforeEach(() => {
98
- mockCommand = {
99
- error: jest.fn(),
100
- };
101
- });
102
- it('throws error when not logged in', () => __awaiter(void 0, void 0, void 0, function* () {
103
- mockGetApplicationFile.mockResolvedValue(undefined);
104
- yield (0, _1.throwErrorIfNotLoggedIn)(mockCommand);
105
- expect(mockCommand.error).toHaveBeenCalledWith(expect.stringContaining('You must login to interact with the migration service'));
106
- }));
107
- it('does not throw error when logged in', () => __awaiter(void 0, void 0, void 0, function* () {
108
- mockGetApplicationFile.mockResolvedValue('session-cookie');
109
- yield (0, _1.throwErrorIfNotLoggedIn)(mockCommand);
110
- expect(mockCommand.error).not.toHaveBeenCalled();
111
- }));
112
- });
113
- describe('buildMigrationUrl', () => {
114
- it('builds url without override', () => __awaiter(void 0, void 0, void 0, function* () {
115
- const mockConfig = {
116
- baseUrl: 'https://example.com',
117
- tenant: 'test-tenant',
118
- region: 'au',
119
- };
120
- mockFetchApplicationConfig.mockResolvedValue(mockConfig);
121
- const result = yield (0, _1.buildMigrationUrl)('tenant-id');
122
- expect(result).toBe('https://example.com/__dxp/service/aiapps/migration/migrations');
123
- expect(mockFetchApplicationConfig).toHaveBeenCalledWith('tenant-id');
124
- }));
125
- it('returns override url when provided', () => __awaiter(void 0, void 0, void 0, function* () {
126
- const overrideUrl = 'https://override.com';
127
- const result = yield (0, _1.buildMigrationUrl)('tenant-id', overrideUrl);
128
- expect(result).toBe(overrideUrl + '/migrations');
129
- expect(mockFetchApplicationConfig).not.toHaveBeenCalled();
130
- }));
131
- });
132
- describe('validateAxiosStatus', () => {
133
- it('returns true for successful status codes', () => {
134
- expect((0, _1.validateAxiosStatus)(200)).toBe(true);
135
- expect((0, _1.validateAxiosStatus)(201)).toBe(true);
136
- expect((0, _1.validateAxiosStatus)(399)).toBe(true);
137
- });
138
- it('returns false for error status codes', () => {
139
- expect((0, _1.validateAxiosStatus)(400)).toBe(false);
140
- expect((0, _1.validateAxiosStatus)(404)).toBe(false);
141
- expect((0, _1.validateAxiosStatus)(500)).toBe(false);
142
- });
143
- });
144
- describe('getMigrationHeaders', () => {
145
- it('returns headers with tenant from config', () => __awaiter(void 0, void 0, void 0, function* () {
146
- const mockConfig = {
147
- tenant: 'test-tenant',
148
- baseUrl: 'https://example.com',
149
- region: 'au',
150
- };
151
- mockFetchApplicationConfig.mockResolvedValue(mockConfig);
152
- const result = yield (0, _1.getMigrationHeaders)('tenant-id');
153
- expect(result).toEqual({
154
- 'Content-Type': 'application/json',
155
- 'x-dxp-tenant': 'test-tenant',
156
- });
157
- expect(mockFetchApplicationConfig).toHaveBeenCalledWith('tenant-id');
158
- }));
159
- });
160
- describe('redactKey', () => {
161
- it('redacts key correctly', () => {
162
- expect((0, _1.redactKey)('1234567890', 3)).toBe('*******890');
163
- expect((0, _1.redactKey)('1234567890', 1)).toBe('*********0');
164
- expect((0, _1.redactKey)('1234567890', 10)).toBe('**********');
165
- });
166
- });
167
- describe('formatBatchOperationResult', () => {
168
- it('formats successful results correctly', () => {
169
- const success = [
170
- { assetIds: ['asset-1', 'asset-2'], message: 'Stage completed' },
171
- ];
172
- const failed = [];
173
- const result = (0, _1.formatBatchOperationResult)(success, failed);
174
- expect(result).toContain('Successful:');
175
- expect(result).toContain('asset-1, asset-2');
176
- expect(result).toContain('Stage completed');
177
- });
178
- it('formats failed results correctly', () => {
179
- const success = [];
180
- const failed = [{ assetIds: ['asset-3'], error: 'Migration failed' }];
181
- const result = (0, _1.formatBatchOperationResult)(success, failed);
182
- expect(result).toContain('Failed:');
183
- expect(result).toContain('asset-3');
184
- expect(result).toContain('Migration failed');
185
- });
186
- it('formats mixed success and failed results correctly', () => {
187
- const success = [{ assetIds: ['asset-1'], message: 'Completed' }];
188
- const failed = [{ assetIds: ['asset-2'], error: 'Failed to process' }];
189
- const result = (0, _1.formatBatchOperationResult)(success, failed);
190
- expect(result).toContain('Successful:');
191
- expect(result).toContain('asset-1');
192
- expect(result).toContain('Completed');
193
- expect(result).toContain('Failed:');
194
- expect(result).toContain('asset-2');
195
- expect(result).toContain('Failed to process');
196
- });
197
- it('returns empty message when no results', () => {
198
- const success = [];
199
- const failed = [];
200
- const result = (0, _1.formatBatchOperationResult)(success, failed);
201
- expect(result).toBe('No assets were processed');
202
- });
203
- it('handles multiple asset IDs in a single result', () => {
204
- const success = [
205
- {
206
- assetIds: ['asset-1', 'asset-2', 'asset-3'],
207
- message: 'All processed',
208
- },
209
- ];
210
- const failed = [];
211
- const result = (0, _1.formatBatchOperationResult)(success, failed);
212
- expect(result).toContain('asset-1, asset-2, asset-3');
213
- });
214
- it('handles multiple success entries', () => {
215
- const success = [
216
- { assetIds: ['asset-1'], message: 'First batch' },
217
- { assetIds: ['asset-2'], message: 'Second batch' },
218
- ];
219
- const failed = [];
220
- const result = (0, _1.formatBatchOperationResult)(success, failed);
221
- expect(result).toContain('asset-1');
222
- expect(result).toContain('First batch');
223
- expect(result).toContain('asset-2');
224
- expect(result).toContain('Second batch');
225
- });
226
- it('handles empty message gracefully', () => {
227
- const success = [{ assetIds: ['asset-1'], message: '' }];
228
- const failed = [];
229
- const result = (0, _1.formatBatchOperationResult)(success, failed);
230
- expect(result).toContain('Successful:');
231
- expect(result).toContain('asset-1');
232
- // Should not have a trailing colon when message is empty
233
- expect(result).not.toContain('asset-1:');
234
- });
235
- });
236
- });
@@ -1,16 +0,0 @@
1
- import { CreateMigrationInput, CreateMigrationApiResponse } from '../types';
2
- /**
3
- * Creates a new single asset migration, bulk migration, or pre-migration using the AI Page Migration service.
4
- * Pre-migrations are used to generate specs for CCTs so they can be converted and deployed in advance.
5
- * Bulk migrations are used to migrate multiple assets at once, and they all share the same migration ID.
6
- * @param {CreateMigrationInput} input - The input parameters for the migration/pre-migration creation.
7
- * @returns {Promise<CreateMigrationApiResponse>}
8
- */
9
- export declare function createMigration({ tenant, overrideUrl, assetIds, previewAssetId, matrixUrl, cctIds, stageOptions, triggerNextStage, }: CreateMigrationInput): Promise<CreateMigrationApiResponse>;
10
- export declare function validateExportFolder(exportPath: string): void;
11
- /**
12
- * Creates a tar file from the export path.
13
- * @param exportPath - The path to the export folder.
14
- * @returns The path to the tar file.
15
- */
16
- export declare function createTarFile(exportPath: string): Promise<string>;
@@ -1,116 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.createTarFile = exports.validateExportFolder = exports.createMigration = void 0;
16
- const fs_1 = __importDefault(require("fs"));
17
- const path_1 = __importDefault(require("path"));
18
- const ApiService_1 = require("../../ApiService");
19
- const _1 = require(".");
20
- const child_process_1 = require("child_process");
21
- /**
22
- * Creates a new single asset migration, bulk migration, or pre-migration using the AI Page Migration service.
23
- * Pre-migrations are used to generate specs for CCTs so they can be converted and deployed in advance.
24
- * Bulk migrations are used to migrate multiple assets at once, and they all share the same migration ID.
25
- * @param {CreateMigrationInput} input - The input parameters for the migration/pre-migration creation.
26
- * @returns {Promise<CreateMigrationApiResponse>}
27
- */
28
- function createMigration({ tenant, overrideUrl, assetIds, previewAssetId, matrixUrl, cctIds, stageOptions, triggerNextStage, }) {
29
- return __awaiter(this, void 0, void 0, function* () {
30
- const apiService = new ApiService_1.ApiService({
31
- validateStatus: _1.validateAxiosStatus,
32
- });
33
- const migrationUrl = yield (0, _1.buildMigrationUrl)(tenant, overrideUrl);
34
- const payload = {
35
- assetIds,
36
- previewAssetId,
37
- matrixUrl,
38
- cctIds,
39
- stageOptions,
40
- triggerNextStage,
41
- };
42
- const response = yield apiService.client.post(`${migrationUrl}`, payload, {
43
- headers: yield (0, _1.getMigrationHeaders)(tenant),
44
- });
45
- // Validate response structure
46
- const { assetMigration, summary, nextStageResults } = response.data || {};
47
- if (!assetMigration && !summary && !nextStageResults) {
48
- throw new Error('Invalid response format from migration service.');
49
- }
50
- return {
51
- assetMigration,
52
- summary,
53
- nextStageResults,
54
- };
55
- });
56
- }
57
- exports.createMigration = createMigration;
58
- function validateExportFolder(exportPath) {
59
- // Check if the export folder exists
60
- if (!fs_1.default.existsSync(exportPath)) {
61
- throw new Error(`Export folder does not exist: ${exportPath}`);
62
- }
63
- // Check if it's a directory
64
- if (!fs_1.default.statSync(exportPath).isDirectory()) {
65
- throw new Error(`Export path is not a directory: ${exportPath}`);
66
- }
67
- // Check for nested export folder structure (e.g., ./export/export/...)
68
- const nestedExportPath = path_1.default.join(exportPath, 'export');
69
- if (!fs_1.default.existsSync(nestedExportPath)) {
70
- throw new Error(`Nested export folder does not exist: ${nestedExportPath}`);
71
- }
72
- if (!fs_1.default.statSync(nestedExportPath).isDirectory()) {
73
- throw new Error(`Nested export path is not a directory: ${nestedExportPath}`);
74
- }
75
- // Check for export.xml file in the nested export directory
76
- const exportXmlPath = path_1.default.join(nestedExportPath, 'export.xml');
77
- if (!fs_1.default.existsSync(exportXmlPath)) {
78
- throw new Error(`export.xml file does not exist in: ${nestedExportPath}`);
79
- }
80
- if (!fs_1.default.statSync(exportXmlPath).isFile()) {
81
- throw new Error(`export.xml is not a valid file: ${exportXmlPath}`);
82
- }
83
- }
84
- exports.validateExportFolder = validateExportFolder;
85
- /**
86
- * Creates a tar file from the export path.
87
- * @param exportPath - The path to the export folder.
88
- * @returns The path to the tar file.
89
- */
90
- function createTarFile(exportPath) {
91
- return __awaiter(this, void 0, void 0, function* () {
92
- const tarFileName = `export_${Date.now()}.tar.gz`;
93
- const tarFilePath = path_1.default.join(process.cwd(), tarFileName);
94
- return new Promise((resolve, reject) => {
95
- const tar = (0, child_process_1.spawn)('tar', [
96
- '-czf',
97
- tarFilePath,
98
- '-C',
99
- path_1.default.dirname(exportPath),
100
- path_1.default.basename(exportPath),
101
- ]);
102
- tar.on('close', code => {
103
- if (code === 0) {
104
- resolve(tarFilePath);
105
- }
106
- else {
107
- reject(new Error(`tar command failed with exit code ${code}`));
108
- }
109
- });
110
- tar.on('error', error => {
111
- reject(new Error(`Failed to create tar file: ${error.message}`));
112
- });
113
- });
114
- });
115
- }
116
- exports.createTarFile = createTarFile;
@@ -1 +0,0 @@
1
- export {};
@@ -1,260 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const fs_1 = __importDefault(require("fs"));
16
- const path_1 = __importDefault(require("path"));
17
- const child_process_1 = require("child_process");
18
- const ApplicationConfig_1 = require("../../ApplicationConfig");
19
- const ApiService_1 = require("../../ApiService");
20
- const _1 = require(".");
21
- // Mock all external dependencies
22
- jest.mock('fs');
23
- jest.mock('path');
24
- jest.mock('child_process');
25
- jest.mock('axios');
26
- jest.mock('../../ApplicationConfig');
27
- jest.mock('../../ApplicationStore');
28
- jest.mock('../../ApiService');
29
- // Mock global fetch
30
- const mockFetch = jest.fn();
31
- global.fetch = mockFetch;
32
- const mockFs = fs_1.default;
33
- const mockPath = path_1.default;
34
- const mockSpawn = child_process_1.spawn;
35
- const mockFetchApplicationConfig = ApplicationConfig_1.fetchApplicationConfig;
36
- const mockApiService = ApiService_1.ApiService;
37
- describe('createMigration', () => {
38
- beforeEach(() => {
39
- jest.clearAllMocks();
40
- jest.resetAllMocks();
41
- });
42
- describe('validateExportFolder', () => {
43
- beforeEach(() => {
44
- mockPath.join.mockImplementation((...paths) => paths.join('/'));
45
- });
46
- it('validates successful export folder structure', () => {
47
- mockFs.existsSync.mockImplementation(filePath => {
48
- return [
49
- '/export/path',
50
- '/export/path/export',
51
- '/export/path/export/export.xml',
52
- ].includes(filePath);
53
- });
54
- mockFs.statSync.mockImplementation(filePath => ({
55
- isDirectory: () => filePath !== '/export/path/export/export.xml',
56
- isFile: () => filePath === '/export/path/export/export.xml',
57
- }));
58
- expect(() => (0, _1.validateExportFolder)('/export/path')).not.toThrow();
59
- });
60
- it('throws error when export folder does not exist', () => {
61
- mockFs.existsSync.mockReturnValue(false);
62
- expect(() => (0, _1.validateExportFolder)('/nonexistent')).toThrow('Export folder does not exist: /nonexistent');
63
- });
64
- it('throws error when export path is not a directory', () => {
65
- mockFs.existsSync.mockReturnValue(true);
66
- mockFs.statSync.mockReturnValue({
67
- isDirectory: () => false,
68
- isFile: () => true,
69
- });
70
- expect(() => (0, _1.validateExportFolder)('/export/file.txt')).toThrow('Export path is not a directory: /export/file.txt');
71
- });
72
- it('throws error when nested export folder does not exist', () => {
73
- mockFs.existsSync.mockImplementation(filePath => filePath === '/export/path');
74
- mockFs.statSync.mockReturnValue({
75
- isDirectory: () => true,
76
- });
77
- expect(() => (0, _1.validateExportFolder)('/export/path')).toThrow('Nested export folder does not exist: /export/path/export');
78
- });
79
- it('throws error when export.xml does not exist', () => {
80
- mockFs.existsSync.mockImplementation(filePath => {
81
- return ['/export/path', '/export/path/export'].includes(filePath);
82
- });
83
- mockFs.statSync.mockReturnValue({
84
- isDirectory: () => true,
85
- });
86
- expect(() => (0, _1.validateExportFolder)('/export/path')).toThrow('export.xml file does not exist in: /export/path/export');
87
- });
88
- it('throws error when export.xml is not a file', () => {
89
- mockFs.existsSync.mockReturnValue(true);
90
- mockFs.statSync.mockImplementation(filePath => ({
91
- isDirectory: () => filePath !== '/export/path/export/export.xml',
92
- isFile: () => false,
93
- }));
94
- expect(() => (0, _1.validateExportFolder)('/export/path')).toThrow('export.xml is not a valid file: /export/path/export/export.xml');
95
- });
96
- it('throws error when nested export path is not a directory', () => {
97
- mockFs.existsSync.mockReturnValue(true);
98
- mockFs.statSync.mockImplementation(filePath => {
99
- if (filePath === '/export/path') {
100
- return { isDirectory: () => true };
101
- }
102
- else if (filePath === '/export/path/export') {
103
- return { isDirectory: () => false, isFile: () => true };
104
- }
105
- return { isDirectory: () => false, isFile: () => false };
106
- });
107
- expect(() => (0, _1.validateExportFolder)('/export/path')).toThrow('Nested export path is not a directory: /export/path/export');
108
- });
109
- });
110
- describe('createTarFile', () => {
111
- let mockChildProcess;
112
- beforeEach(() => {
113
- mockChildProcess = {
114
- on: jest.fn(),
115
- };
116
- mockSpawn.mockReturnValue(mockChildProcess);
117
- mockPath.join.mockImplementation((...paths) => paths.join('/'));
118
- mockPath.dirname.mockReturnValue('/parent');
119
- mockPath.basename.mockReturnValue('export');
120
- // Mock Date.now() to return consistent timestamp
121
- jest.spyOn(Date, 'now').mockReturnValue(1234567890);
122
- });
123
- afterEach(() => {
124
- jest.restoreAllMocks();
125
- });
126
- describe('createMigration', () => {
127
- let mockApiServiceInstance;
128
- let mockOptions;
129
- beforeEach(() => {
130
- mockApiServiceInstance = {
131
- client: {
132
- post: jest.fn(),
133
- },
134
- };
135
- mockApiService.mockImplementation(() => mockApiServiceInstance);
136
- mockOptions = {
137
- assetIds: ['asset-123'],
138
- previewAssetId: 'preview-456',
139
- matrixUrl: 'https://matrix.example.com',
140
- tenant: 'test-tenant',
141
- };
142
- mockFetchApplicationConfig.mockResolvedValue({
143
- tenant: 'test-tenant',
144
- baseUrl: 'https://example.com',
145
- region: 'au',
146
- });
147
- });
148
- it('creates migration successfully', () => __awaiter(void 0, void 0, void 0, function* () {
149
- const mockResponse = {
150
- status: 201,
151
- data: {
152
- assetMigration: {
153
- migrationId: 'migration-123',
154
- assetId: 'asset-123',
155
- stage: 'pending',
156
- status: 'created',
157
- xmlFilePath: '/path/to/xml',
158
- matrixUrl: 'https://matrix.example.com',
159
- previewAssetId: 'preview-456',
160
- created: 1234567890,
161
- updated: 1234567890,
162
- migrationIdAssetId: 'migration-123-asset-123',
163
- },
164
- },
165
- };
166
- mockApiServiceInstance.client.post.mockResolvedValue(mockResponse);
167
- const result = yield (0, _1.createMigration)(mockOptions);
168
- expect(result).toEqual(mockResponse.data);
169
- expect(mockApiServiceInstance.client.post).toHaveBeenCalledWith('https://example.com/__dxp/service/aiapps/migration/migrations', {
170
- assetIds: ['asset-123'],
171
- previewAssetId: 'preview-456',
172
- matrixUrl: 'https://matrix.example.com',
173
- cctIds: undefined,
174
- stageOptions: undefined,
175
- triggerNextStage: undefined,
176
- }, {
177
- headers: {
178
- 'Content-Type': 'application/json',
179
- 'x-dxp-tenant': 'test-tenant',
180
- },
181
- });
182
- }));
183
- it('handles API errors (4xx/5xx status codes)', () => __awaiter(void 0, void 0, void 0, function* () {
184
- // In production, Axios throws AxiosError for 4xx/5xx status codes
185
- const axiosError = new Error('Request failed with status code 400');
186
- axiosError.isAxiosError = true;
187
- axiosError.response = {
188
- status: 400,
189
- data: { message: 'Bad Request' },
190
- };
191
- mockApiServiceInstance.client.post.mockRejectedValue(axiosError);
192
- yield expect((0, _1.createMigration)(mockOptions)).rejects.toThrow('Request failed with status code 400');
193
- }));
194
- it('handles invalid response format - missing required fields', () => __awaiter(void 0, void 0, void 0, function* () {
195
- const mockResponse = {
196
- status: 200,
197
- data: {},
198
- };
199
- mockApiServiceInstance.client.post.mockResolvedValue(mockResponse);
200
- yield expect((0, _1.createMigration)(mockOptions)).rejects.toThrow('Invalid response format from migration service.');
201
- }));
202
- it('handles API service errors', () => __awaiter(void 0, void 0, void 0, function* () {
203
- const error = new Error('Network error');
204
- mockApiServiceInstance.client.post.mockRejectedValue(error);
205
- yield expect((0, _1.createMigration)(mockOptions)).rejects.toThrow('Network error');
206
- }));
207
- it('propagates rejected values as-is', () => __awaiter(void 0, void 0, void 0, function* () {
208
- // Non-Error values are propagated without wrapping
209
- mockApiServiceInstance.client.post.mockRejectedValue('Unknown error');
210
- yield expect((0, _1.createMigration)(mockOptions)).rejects.toBe('Unknown error');
211
- }));
212
- });
213
- describe('createTarFile', () => {
214
- let mockChildProcess;
215
- beforeEach(() => {
216
- mockChildProcess = {
217
- on: jest.fn(),
218
- };
219
- mockSpawn.mockReturnValue(mockChildProcess);
220
- mockPath.join.mockImplementation((...paths) => paths.join('/'));
221
- mockPath.dirname.mockReturnValue('/parent');
222
- mockPath.basename.mockReturnValue('export');
223
- // Mock Date.now() to return consistent timestamp
224
- jest.spyOn(Date, 'now').mockReturnValue(1234567890);
225
- });
226
- afterEach(() => {
227
- jest.restoreAllMocks();
228
- });
229
- it('creates tar file successfully', () => __awaiter(void 0, void 0, void 0, function* () {
230
- const promise = (0, _1.createTarFile)('/parent/export');
231
- // Simulate successful tar creation
232
- const closeCallback = mockChildProcess.on.mock.calls.find((call) => call[0] === 'close')[1];
233
- closeCallback(0);
234
- const result = yield promise;
235
- expect(result).toBe(`${process.cwd()}/export_1234567890.tar.gz`);
236
- expect(mockSpawn).toHaveBeenCalledWith('tar', [
237
- '-czf',
238
- `${process.cwd()}/export_1234567890.tar.gz`,
239
- '-C',
240
- '/parent',
241
- 'export',
242
- ]);
243
- }));
244
- it('handles tar command failure', () => __awaiter(void 0, void 0, void 0, function* () {
245
- const promise = (0, _1.createTarFile)('/parent/export');
246
- // Simulate tar command failure
247
- const closeCallback = mockChildProcess.on.mock.calls.find((call) => call[0] === 'close')[1];
248
- closeCallback(1);
249
- yield expect(promise).rejects.toThrow('tar command failed with exit code 1');
250
- }));
251
- it('handles spawn error', () => __awaiter(void 0, void 0, void 0, function* () {
252
- const promise = (0, _1.createTarFile)('/parent/export');
253
- // Simulate spawn error
254
- const errorCallback = mockChildProcess.on.mock.calls.find((call) => call[0] === 'error')[1];
255
- errorCallback(new Error('Spawn failed'));
256
- yield expect(promise).rejects.toThrow('Failed to create tar file: Spawn failed');
257
- }));
258
- });
259
- });
260
- });
@@ -1,3 +0,0 @@
1
- import { GetMigrationOptions, GetMigrationApiResponse, BatchGetMigrationOptions, BatchGetMigrationApiResponse } from '../types';
2
- export declare function getMigration(options: GetMigrationOptions): Promise<GetMigrationApiResponse>;
3
- export declare function batchGetMigration(options: BatchGetMigrationOptions): Promise<BatchGetMigrationApiResponse>;