@squiz/job-runner-lib 1.66.2 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (748) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +7 -0
  3. package/build.js +20 -13
  4. package/jest.config.ts +10 -16
  5. package/lib/domains/component/index.d.ts +0 -12
  6. package/lib/domains/job/S3Repository/JobDetailsRepository.d.ts +17 -0
  7. package/lib/domains/job/S3Repository/JobDetailsRepository.spec.d.ts +5 -0
  8. package/lib/domains/job/S3Repository/S3Repository.d.ts +15 -0
  9. package/lib/domains/job/S3Repository/S3Repository.spec.d.ts +5 -0
  10. package/lib/domains/job/S3Repository/S3RepositoryBase.d.ts +39 -0
  11. package/lib/domains/job/S3Repository/S3RepositoryBase.spec.d.ts +5 -0
  12. package/lib/domains/job/S3Repository/index.d.ts +2 -0
  13. package/lib/domains/job/core/pagination/services/PaginationService.d.ts +4 -19
  14. package/lib/domains/job/index.d.ts +2 -0
  15. package/lib/domains/job/manifest/JobManifestV1.d.ts +1 -2
  16. package/lib/domains/job/model/LogPayload/LogPayload.d.ts +12 -0
  17. package/lib/domains/job/model/LogPayload/index.d.ts +1 -0
  18. package/lib/domains/job/repository/JobExecutionRepository/JobExecutionRepository.d.ts +9 -4
  19. package/lib/domains/job/services/JobContextService/JobContextService.d.ts +19 -0
  20. package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.d.ts +10 -2
  21. package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.defs.d.ts +2 -19
  22. package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.spec.d.ts +1 -1
  23. package/lib/domains/job/services/JobManifestService/JobManifestService.d.ts +15 -0
  24. package/lib/domains/job/services/JobQueueService/JobQueueService.d.ts +9 -0
  25. package/lib/domains/job/services/JobQueueService/JobQueueService.defs.d.ts +9 -0
  26. package/lib/domains/job/services/JobQueueService/JobQueueService.spec.d.ts +5 -0
  27. package/lib/domains/job/services/JobUploadService/JobUploadService.d.ts +19 -0
  28. package/lib/domains/job/services/JobUploadService/JobUploadService.mock.d.ts +6 -0
  29. package/lib/domains/job/services/JobUploadService/JobUploadService.spec.d.ts +5 -0
  30. package/lib/domains/job/services/JobUploadService/utils/cleanup.d.ts +11 -0
  31. package/lib/domains/job/services/JobUploadService/utils/cleanup.spec.d.ts +5 -0
  32. package/lib/domains/job/services/JobUploadService/utils/errorUtils.d.ts +16 -0
  33. package/lib/domains/job/services/JobUploadService/utils/errorUtils.spec.d.ts +5 -0
  34. package/lib/domains/job/services/JobUploadService/utils/index.d.ts +12 -0
  35. package/lib/domains/job/services/JobUploadService/utils/manifestValidator.d.ts +15 -0
  36. package/lib/domains/job/services/JobUploadService/utils/manifestValidator.spec.d.ts +5 -0
  37. package/lib/domains/job/services/JobUploadService/utils/responseHandler.d.ts +17 -0
  38. package/lib/domains/job/services/JobUploadService/utils/responseHandler.spec.d.ts +5 -0
  39. package/lib/domains/job/services/JobUploadService/utils/resultPoller.d.ts +16 -0
  40. package/lib/domains/job/services/JobUploadService/utils/resultPoller.spec.d.ts +5 -0
  41. package/lib/domains/job/services/JobUploadService/utils/scanWatcher.d.ts +13 -0
  42. package/lib/domains/job/services/JobUploadService/utils/scanWatcher.spec.d.ts +5 -0
  43. package/lib/domains/job/services/JobUploadService/utils/uploadInitializer.d.ts +19 -0
  44. package/lib/domains/job/services/JobUploadService/utils/uploadInitializer.spec.d.ts +5 -0
  45. package/lib/domains/job/services/JobUploadService/utils/versionChecker.d.ts +12 -0
  46. package/lib/domains/job/services/JobUploadService/utils/versionChecker.spec.d.ts +5 -0
  47. package/lib/domains/job/services/index.d.ts +4 -0
  48. package/lib/domains/job/utils/GetAwsTags/GetAwsTags.d.ts +2 -0
  49. package/lib/domains/job/utils/GetAwsTags/GetAwsTags.types.d.ts +18 -0
  50. package/lib/domains/job/utils/index.d.ts +2 -0
  51. package/lib/domains/manifest/ManifestModel.d.ts +2 -4
  52. package/lib/domains/manifest/index.d.ts +0 -9
  53. package/lib/domains/manifest/services/ComponentSchemaValidationService.d.ts +5 -4
  54. package/lib/domains/manifest/services/ManifestServiceForDev.d.ts +9 -15
  55. package/lib/domains/manifest/utils/getAndAssertJobManifestVersion.d.ts +1 -2
  56. package/lib/domains/manifest/utils/isValidManifestVersion.d.ts +1 -1
  57. package/lib/index.d.ts +0 -5
  58. package/lib/index.js +42 -39
  59. package/lib/index.js.map +7 -1
  60. package/lib/jest-global-setup.d.ts +0 -2
  61. package/package.json +19 -25
  62. package/src/domains/component/index.ts +0 -16
  63. package/src/domains/job/S3Repository/JobDetailsRepository.spec.ts +52 -0
  64. package/src/domains/job/S3Repository/JobDetailsRepository.ts +33 -0
  65. package/src/domains/job/S3Repository/S3Repository.spec.ts +50 -0
  66. package/src/domains/job/S3Repository/S3Repository.ts +27 -0
  67. package/src/domains/job/S3Repository/S3RepositoryBase.spec.ts +97 -0
  68. package/src/domains/job/S3Repository/S3RepositoryBase.ts +93 -0
  69. package/src/domains/job/S3Repository/index.ts +2 -0
  70. package/src/domains/job/core/pagination/services/PaginationService.spec.ts +17 -92
  71. package/src/domains/job/core/pagination/services/PaginationService.ts +8 -57
  72. package/src/domains/job/index.ts +2 -0
  73. package/src/domains/job/manifest/JobManifestV1.ts +1 -2
  74. package/src/domains/job/model/LogPayload/LogPayload.ts +12 -0
  75. package/src/domains/job/model/LogPayload/index.ts +1 -0
  76. package/src/domains/job/repository/JobContextRepository/JobContextRepository.spec.ts +1 -1
  77. package/src/domains/job/repository/JobExecutionRepository/JobExecutionRepository.spec.ts +2 -5
  78. package/src/domains/job/repository/JobExecutionRepository/JobExecutionRepository.ts +45 -13
  79. package/src/domains/job/repository/JobManifestRepository/JobManifestRepository.spec.ts +1 -1
  80. package/src/domains/job/repository/JobRepository/JobRepository.spec.ts +1 -1
  81. package/src/domains/job/services/JobContextService/JobContextService.spec.ts +272 -0
  82. package/src/domains/job/services/JobContextService/JobContextService.ts +77 -0
  83. package/src/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.defs.ts +3 -19
  84. package/src/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.spec.ts +153 -37
  85. package/src/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.ts +76 -82
  86. package/src/domains/job/services/JobManifestService/JobManifestService.spec.ts +234 -0
  87. package/src/domains/job/services/JobManifestService/JobManifestService.ts +40 -0
  88. package/src/domains/job/services/JobQueueService/JobQueueService.defs.ts +10 -0
  89. package/src/domains/job/services/JobQueueService/JobQueueService.spec.ts +190 -0
  90. package/src/domains/job/services/JobQueueService/JobQueueService.ts +60 -0
  91. package/src/domains/job/services/JobUploadService/JobUploadService.mock.ts +45 -0
  92. package/src/domains/job/services/JobUploadService/JobUploadService.spec.ts +176 -0
  93. package/src/domains/job/services/JobUploadService/JobUploadService.ts +66 -0
  94. package/src/domains/job/services/JobUploadService/utils/cleanup.spec.ts +109 -0
  95. package/src/domains/job/services/JobUploadService/utils/cleanup.ts +18 -0
  96. package/src/domains/job/services/JobUploadService/utils/errorUtils.spec.ts +76 -0
  97. package/src/domains/job/services/JobUploadService/utils/errorUtils.ts +35 -0
  98. package/src/domains/job/services/JobUploadService/utils/index.ts +15 -0
  99. package/src/domains/job/services/JobUploadService/utils/manifestValidator.spec.ts +213 -0
  100. package/src/domains/job/services/JobUploadService/utils/manifestValidator.ts +34 -0
  101. package/src/domains/job/services/JobUploadService/utils/responseHandler.spec.ts +69 -0
  102. package/src/domains/job/services/JobUploadService/utils/responseHandler.ts +33 -0
  103. package/src/domains/job/services/JobUploadService/utils/resultPoller.spec.ts +81 -0
  104. package/src/domains/job/services/JobUploadService/utils/resultPoller.ts +52 -0
  105. package/src/domains/job/services/JobUploadService/utils/scanWatcher.spec.ts +61 -0
  106. package/src/domains/job/services/JobUploadService/utils/scanWatcher.ts +41 -0
  107. package/src/domains/job/services/JobUploadService/utils/uploadInitializer.spec.ts +106 -0
  108. package/src/domains/job/services/JobUploadService/utils/uploadInitializer.ts +36 -0
  109. package/src/domains/job/services/JobUploadService/utils/versionChecker.spec.ts +70 -0
  110. package/src/domains/job/services/JobUploadService/utils/versionChecker.ts +39 -0
  111. package/src/domains/job/services/index.ts +4 -0
  112. package/src/domains/job/utils/GetAwsTags/GetAwsTags.spec.ts +45 -0
  113. package/src/domains/job/utils/GetAwsTags/GetAwsTags.ts +18 -0
  114. package/src/domains/job/utils/GetAwsTags/GetAwsTags.types.ts +18 -0
  115. package/src/domains/job/utils/index.ts +2 -0
  116. package/src/domains/manifest/ManifestModel.ts +2 -5
  117. package/src/domains/manifest/index.ts +0 -9
  118. package/src/domains/manifest/services/ComponentSchemaValidationService.ts +6 -18
  119. package/src/domains/manifest/services/JobFunctionService.spec.ts +9 -83
  120. package/src/domains/manifest/services/JobFunctionService.ts +2 -5
  121. package/src/domains/manifest/services/ManifestServiceForDev.spec.ts +66 -170
  122. package/src/domains/manifest/services/ManifestServiceForDev.ts +24 -83
  123. package/src/domains/manifest/utils/getAndAssertJobManifestVersion.ts +2 -6
  124. package/src/domains/manifest/utils/isValidManifestVersion.spec.ts +6 -2
  125. package/src/domains/manifest/utils/isValidManifestVersion.ts +2 -2
  126. package/src/index.ts +0 -6
  127. package/src/jest-global-setup.ts +0 -11
  128. package/src/{domains/job/repository/mocks → mocks}/mockIoc.ts +12 -2
  129. package/tsconfig.json +4 -2
  130. package/.env.example +0 -1
  131. package/jest.integration.config.ts +0 -27
  132. package/lib/TestHelpers.d.ts +0 -18
  133. package/lib/TestHelpers.js +0 -97
  134. package/lib/TestHelpers.js.map +0 -1
  135. package/lib/domains/__test__/createPackage.d.ts +0 -3
  136. package/lib/domains/__test__/createPackage.js +0 -45
  137. package/lib/domains/__test__/createPackage.js.map +0 -1
  138. package/lib/domains/__test__/loadAllUnitTestComponents.d.ts +0 -3
  139. package/lib/domains/__test__/loadAllUnitTestComponents.js +0 -63
  140. package/lib/domains/__test__/loadAllUnitTestComponents.js.map +0 -1
  141. package/lib/domains/component/component-context/__mocks__/mockedManifestModel.d.ts +0 -3
  142. package/lib/domains/component/component-context/__mocks__/mockedManifestModel.js +0 -33
  143. package/lib/domains/component/component-context/__mocks__/mockedManifestModel.js.map +0 -1
  144. package/lib/domains/component/component-context/__mocks__/mockedUriObj.d.ts +0 -3
  145. package/lib/domains/component/component-context/__mocks__/mockedUriObj.js +0 -38
  146. package/lib/domains/component/component-context/__mocks__/mockedUriObj.js.map +0 -1
  147. package/lib/domains/component/component-context/__mocks__/mockedUriObjPreview.d.ts +0 -3
  148. package/lib/domains/component/component-context/__mocks__/mockedUriObjPreview.js +0 -38
  149. package/lib/domains/component/component-context/__mocks__/mockedUriObjPreview.js.map +0 -1
  150. package/lib/domains/component/component-context/createComponentContextualFunctions.d.ts +0 -23
  151. package/lib/domains/component/component-context/createComponentContextualFunctions.js +0 -75
  152. package/lib/domains/component/component-context/createComponentContextualFunctions.js.map +0 -1
  153. package/lib/domains/component/component-context/createComponentContextualFunctions.spec.d.ts +0 -1
  154. package/lib/domains/component/component-context/createComponentContextualFunctions.spec.js +0 -248
  155. package/lib/domains/component/component-context/createComponentContextualFunctions.spec.js.map +0 -1
  156. package/lib/domains/component/errors/ComponentError.d.ts +0 -12
  157. package/lib/domains/component/errors/ComponentError.js +0 -20
  158. package/lib/domains/component/errors/ComponentError.js.map +0 -1
  159. package/lib/domains/component/errors/JobError.js +0 -18
  160. package/lib/domains/component/errors/JobError.js.map +0 -1
  161. package/lib/domains/component/index.js +0 -30
  162. package/lib/domains/component/index.js.map +0 -1
  163. package/lib/domains/component/models/Component.d.ts +0 -7
  164. package/lib/domains/component/models/Component.js +0 -13
  165. package/lib/domains/component/models/Component.js.map +0 -1
  166. package/lib/domains/component/models/Component.spec.d.ts +0 -1
  167. package/lib/domains/component/models/Component.spec.js +0 -18
  168. package/lib/domains/component/models/Component.spec.js.map +0 -1
  169. package/lib/domains/component/models/ComponentVersion.d.ts +0 -18
  170. package/lib/domains/component/models/ComponentVersion.js +0 -35
  171. package/lib/domains/component/models/ComponentVersion.js.map +0 -1
  172. package/lib/domains/component/models/ComponentVersion.spec.d.ts +0 -1
  173. package/lib/domains/component/models/ComponentVersion.spec.js +0 -55
  174. package/lib/domains/component/models/ComponentVersion.spec.js.map +0 -1
  175. package/lib/domains/component/repositories/ComponentRepository.d.ts +0 -12
  176. package/lib/domains/component/repositories/ComponentRepository.integration.spec.d.ts +0 -1
  177. package/lib/domains/component/repositories/ComponentRepository.integration.spec.js +0 -111
  178. package/lib/domains/component/repositories/ComponentRepository.integration.spec.js.map +0 -1
  179. package/lib/domains/component/repositories/ComponentRepository.js +0 -28
  180. package/lib/domains/component/repositories/ComponentRepository.js.map +0 -1
  181. package/lib/domains/component/repositories/ComponentVersionRepository.d.ts +0 -21
  182. package/lib/domains/component/repositories/ComponentVersionRepository.integration.spec.d.ts +0 -1
  183. package/lib/domains/component/repositories/ComponentVersionRepository.integration.spec.js +0 -378
  184. package/lib/domains/component/repositories/ComponentVersionRepository.integration.spec.js.map +0 -1
  185. package/lib/domains/component/repositories/ComponentVersionRepository.js +0 -83
  186. package/lib/domains/component/repositories/ComponentVersionRepository.js.map +0 -1
  187. package/lib/domains/component/services/ComponentService.d.ts +0 -40
  188. package/lib/domains/component/services/ComponentService.integration.spec.d.ts +0 -1
  189. package/lib/domains/component/services/ComponentService.integration.spec.js +0 -614
  190. package/lib/domains/component/services/ComponentService.integration.spec.js.map +0 -1
  191. package/lib/domains/component/services/ComponentService.js +0 -254
  192. package/lib/domains/component/services/ComponentService.js.map +0 -1
  193. package/lib/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.d.ts +0 -12
  194. package/lib/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.js +0 -15
  195. package/lib/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.js.map +0 -1
  196. package/lib/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.spec.d.ts +0 -1
  197. package/lib/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.spec.js +0 -75
  198. package/lib/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.spec.js.map +0 -1
  199. package/lib/domains/component/utils/getComponentFileSystemFolder.d.ts +0 -1
  200. package/lib/domains/component/utils/getComponentFileSystemFolder.js +0 -12
  201. package/lib/domains/component/utils/getComponentFileSystemFolder.js.map +0 -1
  202. package/lib/domains/component/utils/getComponentFileSystemFolder.spec.d.ts +0 -1
  203. package/lib/domains/component/utils/getComponentFileSystemFolder.spec.js +0 -13
  204. package/lib/domains/component/utils/getComponentFileSystemFolder.spec.js.map +0 -1
  205. package/lib/domains/component/utils/getComponentName.d.ts +0 -1
  206. package/lib/domains/component/utils/getComponentName.js +0 -8
  207. package/lib/domains/component/utils/getComponentName.js.map +0 -1
  208. package/lib/domains/component/utils/getComponentName.spec.d.ts +0 -1
  209. package/lib/domains/component/utils/getComponentName.spec.js +0 -9
  210. package/lib/domains/component/utils/getComponentName.spec.js.map +0 -1
  211. package/lib/domains/component/utils/moveFilesAndDirectories.d.ts +0 -1
  212. package/lib/domains/component/utils/moveFilesAndDirectories.js +0 -33
  213. package/lib/domains/component/utils/moveFilesAndDirectories.js.map +0 -1
  214. package/lib/domains/component/utils/moveFilesAndDirectories.spec.d.ts +0 -1
  215. package/lib/domains/component/utils/moveFilesAndDirectories.spec.js +0 -52
  216. package/lib/domains/component/utils/moveFilesAndDirectories.spec.js.map +0 -1
  217. package/lib/domains/component/web-models/ComponentForWeb.d.ts +0 -11
  218. package/lib/domains/component/web-models/ComponentForWeb.js +0 -3
  219. package/lib/domains/component/web-models/ComponentForWeb.js.map +0 -1
  220. package/lib/domains/component/web-models/ComponentVersionWebModel.d.ts +0 -15
  221. package/lib/domains/component/web-models/ComponentVersionWebModel.js +0 -3
  222. package/lib/domains/component/web-models/ComponentVersionWebModel.js.map +0 -1
  223. package/lib/domains/component/web-models/ComponentsForWeb.d.ts +0 -17
  224. package/lib/domains/component/web-models/ComponentsForWeb.js +0 -3
  225. package/lib/domains/component/web-models/ComponentsForWeb.js.map +0 -1
  226. package/lib/domains/component-set/errors/InvalidEnvironmentVariablesError.d.ts +0 -5
  227. package/lib/domains/component-set/errors/InvalidEnvironmentVariablesError.js +0 -14
  228. package/lib/domains/component-set/errors/InvalidEnvironmentVariablesError.js.map +0 -1
  229. package/lib/domains/component-set/index.d.ts +0 -13
  230. package/lib/domains/component-set/index.js +0 -30
  231. package/lib/domains/component-set/index.js.map +0 -1
  232. package/lib/domains/component-set/models/ComponentSet.d.ts +0 -20
  233. package/lib/domains/component-set/models/ComponentSet.js +0 -28
  234. package/lib/domains/component-set/models/ComponentSet.js.map +0 -1
  235. package/lib/domains/component-set/models/ComponentSet.spec.js +0 -45
  236. package/lib/domains/component-set/models/ComponentSet.spec.js.map +0 -1
  237. package/lib/domains/component-set/models/ComponentSetComponentVersion.d.ts +0 -23
  238. package/lib/domains/component-set/models/ComponentSetComponentVersion.js +0 -29
  239. package/lib/domains/component-set/models/ComponentSetComponentVersion.js.map +0 -1
  240. package/lib/domains/component-set/models/ComponentSetComponentVersion.spec.js +0 -83
  241. package/lib/domains/component-set/models/ComponentSetComponentVersion.spec.js.map +0 -1
  242. package/lib/domains/component-set/models/ComponentSetComponentVersionEditable.d.ts +0 -12
  243. package/lib/domains/component-set/models/ComponentSetComponentVersionEditable.js +0 -57
  244. package/lib/domains/component-set/models/ComponentSetComponentVersionEditable.js.map +0 -1
  245. package/lib/domains/component-set/models/ComponentSetComponentVersionEditable.spec.js +0 -60
  246. package/lib/domains/component-set/models/ComponentSetComponentVersionEditable.spec.js.map +0 -1
  247. package/lib/domains/component-set/models/ComponentSetComponentVersionExcluded.d.ts +0 -11
  248. package/lib/domains/component-set/models/ComponentSetComponentVersionExcluded.js +0 -17
  249. package/lib/domains/component-set/models/ComponentSetComponentVersionExcluded.js.map +0 -1
  250. package/lib/domains/component-set/models/ComponentSetComponentVersionExcluded.spec.d.ts +0 -1
  251. package/lib/domains/component-set/models/ComponentSetComponentVersionExcluded.spec.js +0 -34
  252. package/lib/domains/component-set/models/ComponentSetComponentVersionExcluded.spec.js.map +0 -1
  253. package/lib/domains/component-set/models/ComponentSetRule.d.ts +0 -12
  254. package/lib/domains/component-set/models/ComponentSetRule.js +0 -50
  255. package/lib/domains/component-set/models/ComponentSetRule.js.map +0 -1
  256. package/lib/domains/component-set/models/ComponentSetRule.spec.d.ts +0 -1
  257. package/lib/domains/component-set/models/ComponentSetRule.spec.js +0 -29
  258. package/lib/domains/component-set/models/ComponentSetRule.spec.js.map +0 -1
  259. package/lib/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.d.ts +0 -10
  260. package/lib/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.integration.spec.d.ts +0 -1
  261. package/lib/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.integration.spec.js +0 -127
  262. package/lib/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.integration.spec.js.map +0 -1
  263. package/lib/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.js +0 -37
  264. package/lib/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.js.map +0 -1
  265. package/lib/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.d.ts +0 -10
  266. package/lib/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.integration.spec.d.ts +0 -1
  267. package/lib/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.integration.spec.js +0 -127
  268. package/lib/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.integration.spec.js.map +0 -1
  269. package/lib/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.js +0 -37
  270. package/lib/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.js.map +0 -1
  271. package/lib/domains/component-set/repositories/ComponentSetComponentVersionRepository.d.ts +0 -10
  272. package/lib/domains/component-set/repositories/ComponentSetComponentVersionRepository.integration.spec.d.ts +0 -1
  273. package/lib/domains/component-set/repositories/ComponentSetComponentVersionRepository.integration.spec.js +0 -163
  274. package/lib/domains/component-set/repositories/ComponentSetComponentVersionRepository.integration.spec.js.map +0 -1
  275. package/lib/domains/component-set/repositories/ComponentSetComponentVersionRepository.js +0 -22
  276. package/lib/domains/component-set/repositories/ComponentSetComponentVersionRepository.js.map +0 -1
  277. package/lib/domains/component-set/repositories/ComponentSetRepository.d.ts +0 -13
  278. package/lib/domains/component-set/repositories/ComponentSetRepository.integration.spec.d.ts +0 -1
  279. package/lib/domains/component-set/repositories/ComponentSetRepository.integration.spec.js +0 -161
  280. package/lib/domains/component-set/repositories/ComponentSetRepository.integration.spec.js.map +0 -1
  281. package/lib/domains/component-set/repositories/ComponentSetRepository.js +0 -48
  282. package/lib/domains/component-set/repositories/ComponentSetRepository.js.map +0 -1
  283. package/lib/domains/component-set/repositories/ComponentSetRuleRepository.d.ts +0 -13
  284. package/lib/domains/component-set/repositories/ComponentSetRuleRepository.integration.spec.d.ts +0 -1
  285. package/lib/domains/component-set/repositories/ComponentSetRuleRepository.integration.spec.js +0 -88
  286. package/lib/domains/component-set/repositories/ComponentSetRuleRepository.integration.spec.js.map +0 -1
  287. package/lib/domains/component-set/repositories/ComponentSetRuleRepository.js +0 -55
  288. package/lib/domains/component-set/repositories/ComponentSetRuleRepository.js.map +0 -1
  289. package/lib/domains/component-set/services/ComponentSetRuleService.d.ts +0 -10
  290. package/lib/domains/component-set/services/ComponentSetRuleService.integration.spec.d.ts +0 -1
  291. package/lib/domains/component-set/services/ComponentSetRuleService.integration.spec.js +0 -107
  292. package/lib/domains/component-set/services/ComponentSetRuleService.integration.spec.js.map +0 -1
  293. package/lib/domains/component-set/services/ComponentSetRuleService.js +0 -23
  294. package/lib/domains/component-set/services/ComponentSetRuleService.js.map +0 -1
  295. package/lib/domains/component-set/services/ComponentSetService.d.ts +0 -37
  296. package/lib/domains/component-set/services/ComponentSetService.js +0 -13
  297. package/lib/domains/component-set/services/ComponentSetService.js.map +0 -1
  298. package/lib/domains/component-set/services/ComponentSetService.spec.d.ts +0 -1
  299. package/lib/domains/component-set/services/ComponentSetService.spec.js +0 -120
  300. package/lib/domains/component-set/services/ComponentSetService.spec.js.map +0 -1
  301. package/lib/domains/component-set/services/ComponentSetServiceForLocalDev.d.ts +0 -24
  302. package/lib/domains/component-set/services/ComponentSetServiceForLocalDev.js +0 -85
  303. package/lib/domains/component-set/services/ComponentSetServiceForLocalDev.js.map +0 -1
  304. package/lib/domains/component-set/services/ComponentSetServiceForLocalDev.spec.d.ts +0 -1
  305. package/lib/domains/component-set/services/ComponentSetServiceForLocalDev.spec.js +0 -141
  306. package/lib/domains/component-set/services/ComponentSetServiceForLocalDev.spec.js.map +0 -1
  307. package/lib/domains/component-set/services/ComponentSetServiceForProduction.d.ts +0 -53
  308. package/lib/domains/component-set/services/ComponentSetServiceForProduction.integration.spec.d.ts +0 -1
  309. package/lib/domains/component-set/services/ComponentSetServiceForProduction.integration.spec.js +0 -2565
  310. package/lib/domains/component-set/services/ComponentSetServiceForProduction.integration.spec.js.map +0 -1
  311. package/lib/domains/component-set/services/ComponentSetServiceForProduction.js +0 -601
  312. package/lib/domains/component-set/services/ComponentSetServiceForProduction.js.map +0 -1
  313. package/lib/domains/component-set/services/EnvironmentVariables.d.ts +0 -1
  314. package/lib/domains/component-set/services/EnvironmentVariables.js +0 -3
  315. package/lib/domains/component-set/services/EnvironmentVariables.js.map +0 -1
  316. package/lib/domains/component-set/services/Headers.d.ts +0 -1
  317. package/lib/domains/component-set/services/Headers.js +0 -3
  318. package/lib/domains/component-set/services/Headers.js.map +0 -1
  319. package/lib/domains/component-set/services/RuntimeComponentSet.d.ts +0 -6
  320. package/lib/domains/component-set/services/RuntimeComponentSet.js +0 -3
  321. package/lib/domains/component-set/services/RuntimeComponentSet.js.map +0 -1
  322. package/lib/domains/component-set/web-models/ComponentSetComponentVersionForWeb.d.ts +0 -5
  323. package/lib/domains/component-set/web-models/ComponentSetComponentVersionForWeb.js +0 -3
  324. package/lib/domains/component-set/web-models/ComponentSetComponentVersionForWeb.js.map +0 -1
  325. package/lib/domains/component-set/web-models/ComponentSetForWeb.d.ts +0 -64
  326. package/lib/domains/component-set/web-models/ComponentSetForWeb.js +0 -22
  327. package/lib/domains/component-set/web-models/ComponentSetForWeb.js.map +0 -1
  328. package/lib/domains/content/index.d.ts +0 -4
  329. package/lib/domains/content/index.js +0 -21
  330. package/lib/domains/content/index.js.map +0 -1
  331. package/lib/domains/content/services/ComponentContentSchemaService.d.ts +0 -9
  332. package/lib/domains/content/services/ComponentContentSchemaService.js +0 -45
  333. package/lib/domains/content/services/ComponentContentSchemaService.js.map +0 -1
  334. package/lib/domains/content/services/ComponentContentSchemaService.spec.d.ts +0 -1
  335. package/lib/domains/content/services/ComponentContentSchemaService.spec.js +0 -240
  336. package/lib/domains/content/services/ComponentContentSchemaService.spec.js.map +0 -1
  337. package/lib/domains/content/services/ContentItemService.d.ts +0 -7
  338. package/lib/domains/content/services/ContentItemService.js +0 -36
  339. package/lib/domains/content/services/ContentItemService.js.map +0 -1
  340. package/lib/domains/content/services/ContentItemService.spec.d.ts +0 -1
  341. package/lib/domains/content/services/ContentItemService.spec.js +0 -95
  342. package/lib/domains/content/services/ContentItemService.spec.js.map +0 -1
  343. package/lib/domains/content/services/DynamicContentItemService.d.ts +0 -8
  344. package/lib/domains/content/services/DynamicContentItemService.js +0 -31
  345. package/lib/domains/content/services/DynamicContentItemService.js.map +0 -1
  346. package/lib/domains/content/services/DynamicContentItemService.spec.d.ts +0 -1
  347. package/lib/domains/content/services/DynamicContentItemService.spec.js +0 -81
  348. package/lib/domains/content/services/DynamicContentItemService.spec.js.map +0 -1
  349. package/lib/domains/content/utils/getContentSchemaName.d.ts +0 -1
  350. package/lib/domains/content/utils/getContentSchemaName.js +0 -8
  351. package/lib/domains/content/utils/getContentSchemaName.js.map +0 -1
  352. package/lib/domains/content/utils/getContentSchemaName.spec.d.ts +0 -1
  353. package/lib/domains/content/utils/getContentSchemaName.spec.js +0 -9
  354. package/lib/domains/content/utils/getContentSchemaName.spec.js.map +0 -1
  355. package/lib/domains/db/ComponentConnectionManager.d.ts +0 -3
  356. package/lib/domains/db/ComponentConnectionManager.js +0 -3
  357. package/lib/domains/db/ComponentConnectionManager.js.map +0 -1
  358. package/lib/domains/db/ComponentRepositories.d.ts +0 -19
  359. package/lib/domains/db/ComponentRepositories.js +0 -23
  360. package/lib/domains/db/ComponentRepositories.js.map +0 -1
  361. package/lib/domains/db/createConnectionManager.d.ts +0 -5
  362. package/lib/domains/db/createConnectionManager.js +0 -16
  363. package/lib/domains/db/createConnectionManager.js.map +0 -1
  364. package/lib/domains/db/index.d.ts +0 -3
  365. package/lib/domains/db/index.js +0 -20
  366. package/lib/domains/db/index.js.map +0 -1
  367. package/lib/domains/db/migration-list.d.ts +0 -2
  368. package/lib/domains/db/migration-list.js +0 -19
  369. package/lib/domains/db/migration-list.js.map +0 -1
  370. package/lib/domains/job/ParsePartitionKey/ParsePartitionKey.js +0 -24
  371. package/lib/domains/job/ParsePartitionKey/ParsePartitionKey.js.map +0 -1
  372. package/lib/domains/job/ParsePartitionKey/ParsePartitionKey.spec.js +0 -24
  373. package/lib/domains/job/ParsePartitionKey/ParsePartitionKey.spec.js.map +0 -1
  374. package/lib/domains/job/ParsePartitionKey/index.js +0 -18
  375. package/lib/domains/job/ParsePartitionKey/index.js.map +0 -1
  376. package/lib/domains/job/constants/JobExecutionStatus.constants.js +0 -12
  377. package/lib/domains/job/constants/JobExecutionStatus.constants.js.map +0 -1
  378. package/lib/domains/job/constants/QueryParams.js +0 -19
  379. package/lib/domains/job/constants/QueryParams.js.map +0 -1
  380. package/lib/domains/job/constants/Repository.constants.js +0 -15
  381. package/lib/domains/job/constants/Repository.constants.js.map +0 -1
  382. package/lib/domains/job/core/dynamoClient.mock.js +0 -32
  383. package/lib/domains/job/core/dynamoClient.mock.js.map +0 -1
  384. package/lib/domains/job/core/pagination/index.js +0 -20
  385. package/lib/domains/job/core/pagination/index.js.map +0 -1
  386. package/lib/domains/job/core/pagination/model/PageQuery.js +0 -7
  387. package/lib/domains/job/core/pagination/model/PageQuery.js.map +0 -1
  388. package/lib/domains/job/core/pagination/model/PaginationInfo.js +0 -7
  389. package/lib/domains/job/core/pagination/model/PaginationInfo.js.map +0 -1
  390. package/lib/domains/job/core/pagination/model/PaginationKey.js +0 -3
  391. package/lib/domains/job/core/pagination/model/PaginationKey.js.map +0 -1
  392. package/lib/domains/job/core/pagination/model/PaginationLinks.js +0 -7
  393. package/lib/domains/job/core/pagination/model/PaginationLinks.js.map +0 -1
  394. package/lib/domains/job/core/pagination/model/PaginationQueryParams.js +0 -3
  395. package/lib/domains/job/core/pagination/model/PaginationQueryParams.js.map +0 -1
  396. package/lib/domains/job/core/pagination/model/PaginationQueryResponse.js +0 -7
  397. package/lib/domains/job/core/pagination/model/PaginationQueryResponse.js.map +0 -1
  398. package/lib/domains/job/core/pagination/model/PaginationResponse.js +0 -7
  399. package/lib/domains/job/core/pagination/model/PaginationResponse.js.map +0 -1
  400. package/lib/domains/job/core/pagination/model/PaginationTypes.js +0 -29
  401. package/lib/domains/job/core/pagination/model/PaginationTypes.js.map +0 -1
  402. package/lib/domains/job/core/pagination/model/index.js +0 -25
  403. package/lib/domains/job/core/pagination/model/index.js.map +0 -1
  404. package/lib/domains/job/core/pagination/services/PaginationService.js +0 -129
  405. package/lib/domains/job/core/pagination/services/PaginationService.js.map +0 -1
  406. package/lib/domains/job/core/pagination/services/PaginationService.spec.js +0 -179
  407. package/lib/domains/job/core/pagination/services/PaginationService.spec.js.map +0 -1
  408. package/lib/domains/job/core/pagination/services/index.js +0 -18
  409. package/lib/domains/job/core/pagination/services/index.js.map +0 -1
  410. package/lib/domains/job/core/pagination/utils/PaginationUtils.js +0 -139
  411. package/lib/domains/job/core/pagination/utils/PaginationUtils.js.map +0 -1
  412. package/lib/domains/job/core/pagination/utils/PaginationUtils.spec.js +0 -212
  413. package/lib/domains/job/core/pagination/utils/PaginationUtils.spec.js.map +0 -1
  414. package/lib/domains/job/core/pagination/utils/index.js +0 -18
  415. package/lib/domains/job/core/pagination/utils/index.js.map +0 -1
  416. package/lib/domains/job/errors/BadRequestError.js +0 -23
  417. package/lib/domains/job/errors/BadRequestError.js.map +0 -1
  418. package/lib/domains/job/errors/Error.constants.js +0 -36
  419. package/lib/domains/job/errors/Error.constants.js.map +0 -1
  420. package/lib/domains/job/errors/ErrorWithHttpStatusCode.js +0 -23
  421. package/lib/domains/job/errors/ErrorWithHttpStatusCode.js.map +0 -1
  422. package/lib/domains/job/errors/ExecutionStatusError.js +0 -11
  423. package/lib/domains/job/errors/ExecutionStatusError.js.map +0 -1
  424. package/lib/domains/job/errors/InternalServerError.js +0 -23
  425. package/lib/domains/job/errors/InternalServerError.js.map +0 -1
  426. package/lib/domains/job/errors/NotFoundError.js +0 -22
  427. package/lib/domains/job/errors/NotFoundError.js.map +0 -1
  428. package/lib/domains/job/errors/NotImplementedError.js +0 -23
  429. package/lib/domains/job/errors/NotImplementedError.js.map +0 -1
  430. package/lib/domains/job/errors/UnprocessableContent.js +0 -23
  431. package/lib/domains/job/errors/UnprocessableContent.js.map +0 -1
  432. package/lib/domains/job/errors/index.js +0 -25
  433. package/lib/domains/job/errors/index.js.map +0 -1
  434. package/lib/domains/job/index.js +0 -33
  435. package/lib/domains/job/index.js.map +0 -1
  436. package/lib/domains/job/manifest/JobManifestTypes.js +0 -7
  437. package/lib/domains/job/manifest/JobManifestTypes.js.map +0 -1
  438. package/lib/domains/job/manifest/JobManifestV1.js +0 -58
  439. package/lib/domains/job/manifest/JobManifestV1.js.map +0 -1
  440. package/lib/domains/job/manifest/JobManifestV1.spec.js +0 -136
  441. package/lib/domains/job/manifest/JobManifestV1.spec.js.map +0 -1
  442. package/lib/domains/job/manifest/index.js +0 -22
  443. package/lib/domains/job/manifest/index.js.map +0 -1
  444. package/lib/domains/job/manifest/mocks/JobManifest.mock.js +0 -36
  445. package/lib/domains/job/manifest/mocks/JobManifest.mock.js.map +0 -1
  446. package/lib/domains/job/manifest/mocks/JobManifestDto.mock.js +0 -48
  447. package/lib/domains/job/manifest/mocks/JobManifestDto.mock.js.map +0 -1
  448. package/lib/domains/job/manifest/mocks/JobManifestRecord.mock.js +0 -38
  449. package/lib/domains/job/manifest/mocks/JobManifestRecord.mock.js.map +0 -1
  450. package/lib/domains/job/manifest/mocks/JobManifestRequest.mock.js +0 -29
  451. package/lib/domains/job/manifest/mocks/JobManifestRequest.mock.js.map +0 -1
  452. package/lib/domains/job/model/Base/Base.js +0 -3
  453. package/lib/domains/job/model/Base/Base.js.map +0 -1
  454. package/lib/domains/job/model/Base/index.js +0 -18
  455. package/lib/domains/job/model/Base/index.js.map +0 -1
  456. package/lib/domains/job/model/Job/Job.js +0 -7
  457. package/lib/domains/job/model/Job/Job.js.map +0 -1
  458. package/lib/domains/job/model/Job/index.js +0 -22
  459. package/lib/domains/job/model/Job/index.js.map +0 -1
  460. package/lib/domains/job/model/Job/mocks/Job.mock.js +0 -28
  461. package/lib/domains/job/model/Job/mocks/Job.mock.js.map +0 -1
  462. package/lib/domains/job/model/Job/mocks/JobDto.mock.js +0 -39
  463. package/lib/domains/job/model/Job/mocks/JobDto.mock.js.map +0 -1
  464. package/lib/domains/job/model/Job/mocks/JobRecord.mock.js +0 -29
  465. package/lib/domains/job/model/Job/mocks/JobRecord.mock.js.map +0 -1
  466. package/lib/domains/job/model/Job/mocks/JobRequest.mock.js +0 -21
  467. package/lib/domains/job/model/Job/mocks/JobRequest.mock.js.map +0 -1
  468. package/lib/domains/job/model/JobContext/JobContext.js +0 -7
  469. package/lib/domains/job/model/JobContext/JobContext.js.map +0 -1
  470. package/lib/domains/job/model/JobContext/index.js +0 -22
  471. package/lib/domains/job/model/JobContext/index.js.map +0 -1
  472. package/lib/domains/job/model/JobContext/mocks/JobContext.mock.js +0 -35
  473. package/lib/domains/job/model/JobContext/mocks/JobContext.mock.js.map +0 -1
  474. package/lib/domains/job/model/JobContext/mocks/JobContextDto.mock.js +0 -46
  475. package/lib/domains/job/model/JobContext/mocks/JobContextDto.mock.js.map +0 -1
  476. package/lib/domains/job/model/JobContext/mocks/JobContextRecord.mock.js +0 -34
  477. package/lib/domains/job/model/JobContext/mocks/JobContextRecord.mock.js.map +0 -1
  478. package/lib/domains/job/model/JobContext/mocks/JobContextRequest.mock.js +0 -25
  479. package/lib/domains/job/model/JobContext/mocks/JobContextRequest.mock.js.map +0 -1
  480. package/lib/domains/job/model/JobExecution/JobExecution.js +0 -7
  481. package/lib/domains/job/model/JobExecution/JobExecution.js.map +0 -1
  482. package/lib/domains/job/model/JobExecution/index.js +0 -22
  483. package/lib/domains/job/model/JobExecution/index.js.map +0 -1
  484. package/lib/domains/job/model/JobExecution/mocks/JobExecution.mock.js +0 -45
  485. package/lib/domains/job/model/JobExecution/mocks/JobExecution.mock.js.map +0 -1
  486. package/lib/domains/job/model/JobExecution/mocks/JobExecutionDto.mock.js +0 -64
  487. package/lib/domains/job/model/JobExecution/mocks/JobExecutionDto.mock.js.map +0 -1
  488. package/lib/domains/job/model/JobExecution/mocks/JobExecutionRecord.mock.js +0 -48
  489. package/lib/domains/job/model/JobExecution/mocks/JobExecutionRecord.mock.js.map +0 -1
  490. package/lib/domains/job/model/JobExecution/mocks/JobExecutionRequest.mock.js +0 -25
  491. package/lib/domains/job/model/JobExecution/mocks/JobExecutionRequest.mock.js.map +0 -1
  492. package/lib/domains/job/repository/AbstractRepository.js +0 -174
  493. package/lib/domains/job/repository/AbstractRepository.js.map +0 -1
  494. package/lib/domains/job/repository/JobContextRepository/JobContextRepository.js +0 -169
  495. package/lib/domains/job/repository/JobContextRepository/JobContextRepository.js.map +0 -1
  496. package/lib/domains/job/repository/JobContextRepository/JobContextRepository.spec.js +0 -246
  497. package/lib/domains/job/repository/JobContextRepository/JobContextRepository.spec.js.map +0 -1
  498. package/lib/domains/job/repository/JobExecutionRepository/JobExecutionRepository.js +0 -276
  499. package/lib/domains/job/repository/JobExecutionRepository/JobExecutionRepository.js.map +0 -1
  500. package/lib/domains/job/repository/JobExecutionRepository/JobExecutionRepository.spec.js +0 -296
  501. package/lib/domains/job/repository/JobExecutionRepository/JobExecutionRepository.spec.js.map +0 -1
  502. package/lib/domains/job/repository/JobManifestRepository/JobManifestRepository.js +0 -133
  503. package/lib/domains/job/repository/JobManifestRepository/JobManifestRepository.js.map +0 -1
  504. package/lib/domains/job/repository/JobManifestRepository/JobManifestRepository.spec.js +0 -162
  505. package/lib/domains/job/repository/JobManifestRepository/JobManifestRepository.spec.js.map +0 -1
  506. package/lib/domains/job/repository/JobRepository/JobRepository.js +0 -189
  507. package/lib/domains/job/repository/JobRepository/JobRepository.js.map +0 -1
  508. package/lib/domains/job/repository/JobRepository/JobRepository.spec.js +0 -270
  509. package/lib/domains/job/repository/JobRepository/JobRepository.spec.js.map +0 -1
  510. package/lib/domains/job/repository/index.js +0 -22
  511. package/lib/domains/job/repository/index.js.map +0 -1
  512. package/lib/domains/job/repository/mocks/mockIoc.js +0 -40
  513. package/lib/domains/job/repository/mocks/mockIoc.js.map +0 -1
  514. package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.defs.js +0 -3
  515. package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.defs.js.map +0 -1
  516. package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.js +0 -139
  517. package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.js.map +0 -1
  518. package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.spec.js +0 -78
  519. package/lib/domains/job/services/JobExecutionTaskService/JobExecutionTaskService.spec.js.map +0 -1
  520. package/lib/domains/job/services/index.js +0 -18
  521. package/lib/domains/job/services/index.js.map +0 -1
  522. package/lib/domains/job/singletonProvider.js +0 -14
  523. package/lib/domains/job/singletonProvider.js.map +0 -1
  524. package/lib/domains/job/transientProvider.js +0 -14
  525. package/lib/domains/job/transientProvider.js.map +0 -1
  526. package/lib/domains/job/utils/SlackClient/SlackClient.js +0 -113
  527. package/lib/domains/job/utils/SlackClient/SlackClient.js.map +0 -1
  528. package/lib/domains/job/utils/SlackClient/SlackClient.spec.js +0 -116
  529. package/lib/domains/job/utils/SlackClient/SlackClient.spec.js.map +0 -1
  530. package/lib/domains/job/utils/SlackClient/types/SlackClient.types.js +0 -28
  531. package/lib/domains/job/utils/SlackClient/types/SlackClient.types.js.map +0 -1
  532. package/lib/domains/job/utils/SortByTimeQueued/SortByTimeQueued.js +0 -21
  533. package/lib/domains/job/utils/SortByTimeQueued/SortByTimeQueued.js.map +0 -1
  534. package/lib/domains/job/utils/SortByTimeQueued/SortByTimeQueued.spec.js +0 -26
  535. package/lib/domains/job/utils/SortByTimeQueued/SortByTimeQueued.spec.js.map +0 -1
  536. package/lib/domains/job/utils/index.js +0 -20
  537. package/lib/domains/job/utils/index.js.map +0 -1
  538. package/lib/domains/manifest/AbstractManifest.d.ts +0 -38
  539. package/lib/domains/manifest/AbstractManifest.js +0 -45
  540. package/lib/domains/manifest/AbstractManifest.js.map +0 -1
  541. package/lib/domains/manifest/ManifestModel.js +0 -3
  542. package/lib/domains/manifest/ManifestModel.js.map +0 -1
  543. package/lib/domains/manifest/ManifestV1.d.ts +0 -18
  544. package/lib/domains/manifest/ManifestV1.js +0 -124
  545. package/lib/domains/manifest/ManifestV1.js.map +0 -1
  546. package/lib/domains/manifest/ManifestV1.spec.d.ts +0 -1
  547. package/lib/domains/manifest/ManifestV1.spec.js +0 -347
  548. package/lib/domains/manifest/ManifestV1.spec.js.map +0 -1
  549. package/lib/domains/manifest/errors/ManifestLocationError.d.ts +0 -5
  550. package/lib/domains/manifest/errors/ManifestLocationError.js +0 -13
  551. package/lib/domains/manifest/errors/ManifestLocationError.js.map +0 -1
  552. package/lib/domains/manifest/errors/ManifestValidationError.js +0 -12
  553. package/lib/domains/manifest/errors/ManifestValidationError.js.map +0 -1
  554. package/lib/domains/manifest/index.js +0 -33
  555. package/lib/domains/manifest/index.js.map +0 -1
  556. package/lib/domains/manifest/services/AbstractManifestService.d.ts +0 -49
  557. package/lib/domains/manifest/services/AbstractManifestService.js +0 -235
  558. package/lib/domains/manifest/services/AbstractManifestService.js.map +0 -1
  559. package/lib/domains/manifest/services/AbstractManifestService.spec.d.ts +0 -1
  560. package/lib/domains/manifest/services/AbstractManifestService.spec.js +0 -301
  561. package/lib/domains/manifest/services/AbstractManifestService.spec.js.map +0 -1
  562. package/lib/domains/manifest/services/ComponentFunctionService.d.ts +0 -35
  563. package/lib/domains/manifest/services/ComponentFunctionService.js +0 -129
  564. package/lib/domains/manifest/services/ComponentFunctionService.js.map +0 -1
  565. package/lib/domains/manifest/services/ComponentFunctionService.spec.d.ts +0 -1
  566. package/lib/domains/manifest/services/ComponentFunctionService.spec.js +0 -567
  567. package/lib/domains/manifest/services/ComponentFunctionService.spec.js.map +0 -1
  568. package/lib/domains/manifest/services/ComponentInputValidationService.d.ts +0 -5
  569. package/lib/domains/manifest/services/ComponentInputValidationService.js +0 -11
  570. package/lib/domains/manifest/services/ComponentInputValidationService.js.map +0 -1
  571. package/lib/domains/manifest/services/ComponentSchemaValidationService.js +0 -11
  572. package/lib/domains/manifest/services/ComponentSchemaValidationService.js.map +0 -1
  573. package/lib/domains/manifest/services/JobFunctionService.js +0 -23
  574. package/lib/domains/manifest/services/JobFunctionService.js.map +0 -1
  575. package/lib/domains/manifest/services/JobFunctionService.spec.js +0 -132
  576. package/lib/domains/manifest/services/JobFunctionService.spec.js.map +0 -1
  577. package/lib/domains/manifest/services/ManifestServiceForDev.js +0 -83
  578. package/lib/domains/manifest/services/ManifestServiceForDev.js.map +0 -1
  579. package/lib/domains/manifest/services/ManifestServiceForDev.spec.js +0 -184
  580. package/lib/domains/manifest/services/ManifestServiceForDev.spec.js.map +0 -1
  581. package/lib/domains/manifest/services/ManifestServiceForProduction.d.ts +0 -12
  582. package/lib/domains/manifest/services/ManifestServiceForProduction.js +0 -81
  583. package/lib/domains/manifest/services/ManifestServiceForProduction.js.map +0 -1
  584. package/lib/domains/manifest/services/ManifestServiceForProduction.spec.d.ts +0 -1
  585. package/lib/domains/manifest/services/ManifestServiceForProduction.spec.js +0 -81
  586. package/lib/domains/manifest/services/ManifestServiceForProduction.spec.js.map +0 -1
  587. package/lib/domains/manifest/utils/assertFuncEntryFilesAreValid.d.ts +0 -3
  588. package/lib/domains/manifest/utils/assertFuncEntryFilesAreValid.js +0 -14
  589. package/lib/domains/manifest/utils/assertFuncEntryFilesAreValid.js.map +0 -1
  590. package/lib/domains/manifest/utils/assertStaticFilesAreValid.d.ts +0 -3
  591. package/lib/domains/manifest/utils/assertStaticFilesAreValid.js +0 -27
  592. package/lib/domains/manifest/utils/assertStaticFilesAreValid.js.map +0 -1
  593. package/lib/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.d.ts +0 -2
  594. package/lib/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.js +0 -16
  595. package/lib/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.js.map +0 -1
  596. package/lib/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.spec.d.ts +0 -1
  597. package/lib/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.spec.js +0 -111
  598. package/lib/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.spec.js.map +0 -1
  599. package/lib/domains/manifest/utils/getAndAssertJobManifestVersion.js +0 -28
  600. package/lib/domains/manifest/utils/getAndAssertJobManifestVersion.js.map +0 -1
  601. package/lib/domains/manifest/utils/getAndAssertJobManifestVersion.spec.js +0 -115
  602. package/lib/domains/manifest/utils/getAndAssertJobManifestVersion.spec.js.map +0 -1
  603. package/lib/domains/manifest/utils/getAndAssertManifestVersion.d.ts +0 -3
  604. package/lib/domains/manifest/utils/getAndAssertManifestVersion.js +0 -23
  605. package/lib/domains/manifest/utils/getAndAssertManifestVersion.js.map +0 -1
  606. package/lib/domains/manifest/utils/getAndAssertManifestVersion.spec.d.ts +0 -1
  607. package/lib/domains/manifest/utils/getAndAssertManifestVersion.spec.js +0 -109
  608. package/lib/domains/manifest/utils/getAndAssertManifestVersion.spec.js.map +0 -1
  609. package/lib/domains/manifest/utils/isValidManifestVersion.js +0 -12
  610. package/lib/domains/manifest/utils/isValidManifestVersion.js.map +0 -1
  611. package/lib/domains/manifest/utils/isValidManifestVersion.spec.js +0 -19
  612. package/lib/domains/manifest/utils/isValidManifestVersion.spec.js.map +0 -1
  613. package/lib/domains/url/convertFunctionStaticFilesToFqdn.d.ts +0 -1
  614. package/lib/domains/url/convertFunctionStaticFilesToFqdn.js +0 -22
  615. package/lib/domains/url/convertFunctionStaticFilesToFqdn.js.map +0 -1
  616. package/lib/domains/url/convertFunctionStaticFilesToFqdn.spec.d.ts +0 -1
  617. package/lib/domains/url/convertFunctionStaticFilesToFqdn.spec.js +0 -16
  618. package/lib/domains/url/convertFunctionStaticFilesToFqdn.spec.js.map +0 -1
  619. package/lib/domains/url/convertFunctionStaticFilesToFqdnForPreview.d.ts +0 -1
  620. package/lib/domains/url/convertFunctionStaticFilesToFqdnForPreview.js +0 -22
  621. package/lib/domains/url/convertFunctionStaticFilesToFqdnForPreview.js.map +0 -1
  622. package/lib/domains/url/convertFunctionStaticFilesToFqdnForPreview.spec.d.ts +0 -1
  623. package/lib/domains/url/convertFunctionStaticFilesToFqdnForPreview.spec.js +0 -16
  624. package/lib/domains/url/convertFunctionStaticFilesToFqdnForPreview.spec.js.map +0 -1
  625. package/lib/domains/url/index.d.ts +0 -1
  626. package/lib/domains/url/index.js +0 -18
  627. package/lib/domains/url/index.js.map +0 -1
  628. package/lib/jest-global-setup.js +0 -22
  629. package/lib/jest-global-setup.js.map +0 -1
  630. package/src/TestHelpers.ts +0 -111
  631. package/src/domains/__test__/createPackage.ts +0 -48
  632. package/src/domains/__test__/loadAllUnitTestComponents.ts +0 -73
  633. package/src/domains/component/component-context/__mocks__/mockedManifestModel.ts +0 -30
  634. package/src/domains/component/component-context/__mocks__/mockedUriObj.ts +0 -38
  635. package/src/domains/component/component-context/__mocks__/mockedUriObjPreview.ts +0 -38
  636. package/src/domains/component/component-context/createComponentContextualFunctions.spec.ts +0 -299
  637. package/src/domains/component/component-context/createComponentContextualFunctions.ts +0 -108
  638. package/src/domains/component/errors/ComponentError.ts +0 -22
  639. package/src/domains/component/models/Component.spec.ts +0 -21
  640. package/src/domains/component/models/Component.ts +0 -16
  641. package/src/domains/component/models/ComponentVersion.spec.ts +0 -77
  642. package/src/domains/component/models/ComponentVersion.ts +0 -55
  643. package/src/domains/component/repositories/ComponentRepository.integration.spec.ts +0 -148
  644. package/src/domains/component/repositories/ComponentRepository.ts +0 -37
  645. package/src/domains/component/repositories/ComponentVersionRepository.integration.spec.ts +0 -523
  646. package/src/domains/component/repositories/ComponentVersionRepository.ts +0 -138
  647. package/src/domains/component/services/ComponentService.integration.spec.ts +0 -721
  648. package/src/domains/component/services/ComponentService.ts +0 -350
  649. package/src/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.spec.ts +0 -78
  650. package/src/domains/component/services/content-item-uri-resolver/ComponentContentUriResolverForPreview.ts +0 -18
  651. package/src/domains/component/utils/getComponentFileSystemFolder.spec.ts +0 -8
  652. package/src/domains/component/utils/getComponentFileSystemFolder.ts +0 -5
  653. package/src/domains/component/utils/getComponentName.spec.ts +0 -7
  654. package/src/domains/component/utils/getComponentName.ts +0 -3
  655. package/src/domains/component/utils/moveFilesAndDirectories.spec.ts +0 -62
  656. package/src/domains/component/utils/moveFilesAndDirectories.ts +0 -27
  657. package/src/domains/component/web-models/ComponentForWeb.ts +0 -11
  658. package/src/domains/component/web-models/ComponentVersionWebModel.ts +0 -16
  659. package/src/domains/component/web-models/ComponentsForWeb.ts +0 -17
  660. package/src/domains/component-set/errors/InvalidEnvironmentVariablesError.ts +0 -11
  661. package/src/domains/component-set/index.ts +0 -18
  662. package/src/domains/component-set/models/ComponentSet.spec.ts +0 -66
  663. package/src/domains/component-set/models/ComponentSet.ts +0 -67
  664. package/src/domains/component-set/models/ComponentSetComponentVersion.spec.ts +0 -106
  665. package/src/domains/component-set/models/ComponentSetComponentVersion.ts +0 -54
  666. package/src/domains/component-set/models/ComponentSetComponentVersionEditable.spec.ts +0 -82
  667. package/src/domains/component-set/models/ComponentSetComponentVersionEditable.ts +0 -46
  668. package/src/domains/component-set/models/ComponentSetComponentVersionExcluded.spec.ts +0 -46
  669. package/src/domains/component-set/models/ComponentSetComponentVersionExcluded.ts +0 -26
  670. package/src/domains/component-set/models/ComponentSetRule.spec.ts +0 -39
  671. package/src/domains/component-set/models/ComponentSetRule.ts +0 -37
  672. package/src/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.integration.spec.ts +0 -172
  673. package/src/domains/component-set/repositories/ComponentSetComponentVersionEditableRepository.ts +0 -47
  674. package/src/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.integration.spec.ts +0 -172
  675. package/src/domains/component-set/repositories/ComponentSetComponentVersionExcludedRepository.ts +0 -47
  676. package/src/domains/component-set/repositories/ComponentSetComponentVersionRepository.integration.spec.ts +0 -229
  677. package/src/domains/component-set/repositories/ComponentSetComponentVersionRepository.ts +0 -37
  678. package/src/domains/component-set/repositories/ComponentSetRepository.integration.spec.ts +0 -199
  679. package/src/domains/component-set/repositories/ComponentSetRepository.ts +0 -68
  680. package/src/domains/component-set/repositories/ComponentSetRuleRepository.integration.spec.ts +0 -107
  681. package/src/domains/component-set/repositories/ComponentSetRuleRepository.ts +0 -40
  682. package/src/domains/component-set/services/ComponentSetRuleService.integration.spec.ts +0 -137
  683. package/src/domains/component-set/services/ComponentSetRuleService.ts +0 -34
  684. package/src/domains/component-set/services/ComponentSetService.spec.ts +0 -144
  685. package/src/domains/component-set/services/ComponentSetService.ts +0 -82
  686. package/src/domains/component-set/services/ComponentSetServiceForLocalDev.spec.ts +0 -209
  687. package/src/domains/component-set/services/ComponentSetServiceForLocalDev.ts +0 -111
  688. package/src/domains/component-set/services/ComponentSetServiceForProduction.integration.spec.ts +0 -2898
  689. package/src/domains/component-set/services/ComponentSetServiceForProduction.ts +0 -839
  690. package/src/domains/component-set/services/EnvironmentVariables.ts +0 -1
  691. package/src/domains/component-set/services/Headers.ts +0 -1
  692. package/src/domains/component-set/services/RuntimeComponentSet.ts +0 -7
  693. package/src/domains/component-set/web-models/ComponentSetComponentVersionForWeb.ts +0 -7
  694. package/src/domains/component-set/web-models/ComponentSetForWeb.ts +0 -83
  695. package/src/domains/content/index.ts +0 -4
  696. package/src/domains/content/services/ComponentContentSchemaService.spec.ts +0 -264
  697. package/src/domains/content/services/ComponentContentSchemaService.ts +0 -53
  698. package/src/domains/content/services/ContentItemService.spec.ts +0 -108
  699. package/src/domains/content/services/ContentItemService.ts +0 -34
  700. package/src/domains/content/services/DynamicContentItemService.spec.ts +0 -97
  701. package/src/domains/content/services/DynamicContentItemService.ts +0 -30
  702. package/src/domains/content/utils/getContentSchemaName.spec.ts +0 -7
  703. package/src/domains/content/utils/getContentSchemaName.ts +0 -7
  704. package/src/domains/db/ComponentConnectionManager.ts +0 -4
  705. package/src/domains/db/ComponentRepositories.ts +0 -31
  706. package/src/domains/db/createConnectionManager.ts +0 -24
  707. package/src/domains/db/index.ts +0 -3
  708. package/src/domains/db/migration-list.ts +0 -16
  709. package/src/domains/manifest/AbstractManifest.ts +0 -57
  710. package/src/domains/manifest/ManifestV1.spec.ts +0 -436
  711. package/src/domains/manifest/ManifestV1.ts +0 -146
  712. package/src/domains/manifest/errors/ManifestLocationError.ts +0 -9
  713. package/src/domains/manifest/services/AbstractManifestService.spec.ts +0 -427
  714. package/src/domains/manifest/services/AbstractManifestService.ts +0 -316
  715. package/src/domains/manifest/services/ComponentFunctionService.spec.ts +0 -683
  716. package/src/domains/manifest/services/ComponentFunctionService.ts +0 -178
  717. package/src/domains/manifest/services/ComponentInputValidationService.ts +0 -22
  718. package/src/domains/manifest/services/ManifestServiceForProduction.spec.ts +0 -90
  719. package/src/domains/manifest/services/ManifestServiceForProduction.ts +0 -98
  720. package/src/domains/manifest/utils/assertFuncEntryFilesAreValid.ts +0 -19
  721. package/src/domains/manifest/utils/assertStaticFilesAreValid.ts +0 -37
  722. package/src/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.spec.ts +0 -121
  723. package/src/domains/manifest/utils/assertStaticFilesHaveAbsolutePath.ts +0 -15
  724. package/src/domains/manifest/utils/getAndAssertManifestVersion.spec.ts +0 -134
  725. package/src/domains/manifest/utils/getAndAssertManifestVersion.ts +0 -27
  726. package/src/domains/url/convertFunctionStaticFilesToFqdn.spec.ts +0 -24
  727. package/src/domains/url/convertFunctionStaticFilesToFqdn.ts +0 -25
  728. package/src/domains/url/convertFunctionStaticFilesToFqdnForPreview.spec.ts +0 -48
  729. package/src/domains/url/convertFunctionStaticFilesToFqdnForPreview.ts +0 -25
  730. package/src/domains/url/index.ts +0 -1
  731. package/src/migrations/20220704054051_initial.sql +0 -19
  732. package/src/migrations/20220718172237_adding_component_sets.sql +0 -23
  733. package/src/migrations/20220728113941_add_env_vars_field.sql +0 -1
  734. package/src/migrations/20220817113300_removing_null_props_from_jsonb.sql +0 -41
  735. package/src/migrations/20221027151225_dummy.sql +0 -2
  736. package/src/migrations/20221117151200_add_detail_columns_to_component_version.js +0 -49
  737. package/src/migrations/20221220151200_add_required_to_manifests.js +0 -61
  738. package/src/migrations/20221222151200_add_required_to_manifests.js +0 -138
  739. package/src/migrations/20223525103556_component_set_rule.sql +0 -19
  740. package/src/migrations/20230111095522_update_environment_property.js +0 -72
  741. package/src/migrations/20230203084900_ensure_static_root_exists.js +0 -57
  742. package/src/migrations/20230210143300_lowercase_all_uri_names.js +0 -106
  743. package/src/migrations/20230217151212_component_set_component_version_updates.sql +0 -38
  744. package/src/migrations/20230218121212_add_component_set_rules.js +0 -31
  745. /package/lib/domains/{component-set/models/ComponentSet.spec.d.ts → job/services/JobContextService/JobContextService.spec.d.ts} +0 -0
  746. /package/lib/domains/{component-set/models/ComponentSetComponentVersion.spec.d.ts → job/services/JobManifestService/JobManifestService.spec.d.ts} +0 -0
  747. /package/lib/domains/{component-set/models/ComponentSetComponentVersionEditable.spec.d.ts → job/utils/GetAwsTags/GetAwsTags.spec.d.ts} +0 -0
  748. /package/lib/{domains/job/repository/mocks → mocks}/mockIoc.d.ts +0 -0
@@ -0,0 +1,213 @@
1
+ /*!
2
+ * @license
3
+ * Copyright Squiz Australia Pty Ltd. All Rights Reserved.
4
+ */
5
+
6
+ import { Logger } from '@squiz/dx-logger-lib';
7
+ import { AxiosInstance } from 'axios';
8
+ import path from 'path';
9
+ import { JobManifestV1, ManifestServiceForDev } from '../../../../manifest';
10
+ import { getAndValidateManifest } from './manifestValidator';
11
+ import { checkIfVersionExists } from './versionChecker';
12
+
13
+ jest.mock('../../../../manifest', () => ({
14
+ ManifestServiceForDev: jest.fn(),
15
+ JobManifestV1: jest.fn(),
16
+ }));
17
+
18
+ jest.mock('./versionChecker', () => ({
19
+ checkIfVersionExists: jest.fn(),
20
+ }));
21
+
22
+ jest.mock('path', () => ({
23
+ join: jest.fn(),
24
+ }));
25
+
26
+ describe('manifestValidator', () => {
27
+ let mockLogger: Logger;
28
+ let mockApiClient: AxiosInstance;
29
+ let mockManifestService: jest.Mocked<ManifestServiceForDev>;
30
+ let mockManifest: jest.Mocked<JobManifestV1>;
31
+ const mockCheckIfVersionExists = checkIfVersionExists as jest.MockedFunction<typeof checkIfVersionExists>;
32
+ const mockPathJoin = path.join as jest.MockedFunction<typeof path.join>;
33
+
34
+ beforeEach(() => {
35
+ jest.clearAllMocks();
36
+
37
+ mockLogger = {
38
+ error: jest.fn(),
39
+ info: jest.fn(),
40
+ warn: jest.fn(),
41
+ debug: jest.fn(),
42
+ } as any;
43
+
44
+ mockApiClient = {
45
+ get: jest.fn(),
46
+ post: jest.fn(),
47
+ } as any;
48
+
49
+ mockManifest = {
50
+ getName: jest.fn(),
51
+ getVersion: jest.fn(),
52
+ getModel: jest.fn(),
53
+ } as any;
54
+
55
+ mockManifestService = {
56
+ readJobManifest: jest.fn(),
57
+ } as any;
58
+
59
+ (ManifestServiceForDev as jest.Mock).mockImplementation(() => mockManifestService);
60
+ });
61
+
62
+ describe('getAndValidateManifest', () => {
63
+ const testFolderPath = '/test/job/folder';
64
+ const testManifestPath = '/test/job/folder/manifest.json';
65
+ const testJobName = 'test-job';
66
+ const testJobVersion = '1.0.0';
67
+
68
+ beforeEach(() => {
69
+ mockPathJoin.mockReturnValue(testManifestPath);
70
+ mockManifest.getName.mockReturnValue(testJobName);
71
+ mockManifest.getVersion.mockReturnValue(testJobVersion);
72
+ mockManifestService.readJobManifest.mockResolvedValue(mockManifest);
73
+ });
74
+
75
+ it('should successfully validate manifest when version does not exist', async () => {
76
+ mockCheckIfVersionExists.mockResolvedValue(false);
77
+
78
+ const result = await getAndValidateManifest(mockApiClient, testFolderPath, mockLogger);
79
+
80
+ expect(ManifestServiceForDev).toHaveBeenCalledWith(mockLogger);
81
+ expect(mockPathJoin).toHaveBeenCalledWith(testFolderPath, 'manifest.json');
82
+ expect(mockManifestService.readJobManifest).toHaveBeenCalledWith(testManifestPath);
83
+ expect(mockCheckIfVersionExists).toHaveBeenCalledWith(mockApiClient, `/job/${testJobName}/${testJobVersion}`);
84
+ expect(result).toBe(mockManifest);
85
+ });
86
+
87
+ it('should throw error when version already exists', async () => {
88
+ mockCheckIfVersionExists.mockResolvedValue(true);
89
+
90
+ await expect(getAndValidateManifest(mockApiClient, testFolderPath, mockLogger)).rejects.toThrow(
91
+ `Cannot upload job version, ${testJobName} ${testJobVersion} already exists`,
92
+ );
93
+
94
+ expect(mockManifestService.readJobManifest).toHaveBeenCalledWith(testManifestPath);
95
+ expect(mockCheckIfVersionExists).toHaveBeenCalledWith(mockApiClient, `/job/${testJobName}/${testJobVersion}`);
96
+ });
97
+
98
+ it('should handle manifest reading failure', async () => {
99
+ const manifestError = new Error('Failed to read manifest');
100
+ mockManifestService.readJobManifest.mockRejectedValue(manifestError);
101
+
102
+ await expect(getAndValidateManifest(mockApiClient, testFolderPath, mockLogger)).rejects.toThrow(
103
+ 'Failed to read manifest',
104
+ );
105
+
106
+ expect(mockManifestService.readJobManifest).toHaveBeenCalledWith(testManifestPath);
107
+ expect(mockCheckIfVersionExists).not.toHaveBeenCalled();
108
+ });
109
+
110
+ it('should handle version check failure', async () => {
111
+ const versionCheckError = new Error('Version check failed');
112
+ mockCheckIfVersionExists.mockRejectedValue(versionCheckError);
113
+
114
+ await expect(getAndValidateManifest(mockApiClient, testFolderPath, mockLogger)).rejects.toThrow(
115
+ 'Version check failed',
116
+ );
117
+
118
+ expect(mockManifestService.readJobManifest).toHaveBeenCalledWith(testManifestPath);
119
+ expect(mockCheckIfVersionExists).toHaveBeenCalledWith(mockApiClient, `/job/${testJobName}/${testJobVersion}`);
120
+ });
121
+
122
+ it('should handle manifest with special characters in name', async () => {
123
+ const specialJobName = 'test-job@special#characters';
124
+ const specialJobVersion = '1.0.0-beta.1';
125
+
126
+ mockManifest.getName.mockReturnValue(specialJobName);
127
+ mockManifest.getVersion.mockReturnValue(specialJobVersion);
128
+ mockCheckIfVersionExists.mockResolvedValue(false);
129
+
130
+ const result = await getAndValidateManifest(mockApiClient, testFolderPath, mockLogger);
131
+
132
+ expect(mockCheckIfVersionExists).toHaveBeenCalledWith(
133
+ mockApiClient,
134
+ `/job/${specialJobName}/${specialJobVersion}`,
135
+ );
136
+ expect(result).toBe(mockManifest);
137
+ });
138
+
139
+ it('should handle empty job name', async () => {
140
+ mockManifest.getName.mockReturnValue('');
141
+ mockManifest.getVersion.mockReturnValue(testJobVersion);
142
+ mockCheckIfVersionExists.mockResolvedValue(false);
143
+
144
+ const result = await getAndValidateManifest(mockApiClient, testFolderPath, mockLogger);
145
+
146
+ expect(mockCheckIfVersionExists).toHaveBeenCalledWith(mockApiClient, `/job//${testJobVersion}`);
147
+ expect(result).toBe(mockManifest);
148
+ });
149
+
150
+ it('should handle empty job version', async () => {
151
+ mockManifest.getName.mockReturnValue(testJobName);
152
+ mockManifest.getVersion.mockReturnValue('');
153
+ mockCheckIfVersionExists.mockResolvedValue(false);
154
+
155
+ const result = await getAndValidateManifest(mockApiClient, testFolderPath, mockLogger);
156
+
157
+ expect(mockCheckIfVersionExists).toHaveBeenCalledWith(mockApiClient, `/job/${testJobName}/`);
158
+ expect(result).toBe(mockManifest);
159
+ });
160
+
161
+ it('should handle different folder path formats', async () => {
162
+ const relativePath = './test/job';
163
+ const expectedManifestPath = './test/job/manifest.json';
164
+
165
+ mockPathJoin.mockReturnValue(expectedManifestPath);
166
+ mockCheckIfVersionExists.mockResolvedValue(false);
167
+
168
+ await getAndValidateManifest(mockApiClient, relativePath, mockLogger);
169
+
170
+ expect(mockPathJoin).toHaveBeenCalledWith(relativePath, 'manifest.json');
171
+ expect(mockManifestService.readJobManifest).toHaveBeenCalledWith(expectedManifestPath);
172
+ });
173
+
174
+ it('should handle folder path with trailing slash', async () => {
175
+ const folderPathWithSlash = '/test/job/folder/';
176
+ const expectedManifestPath = '/test/job/folder/manifest.json';
177
+
178
+ mockPathJoin.mockReturnValue(expectedManifestPath);
179
+ mockCheckIfVersionExists.mockResolvedValue(false);
180
+
181
+ await getAndValidateManifest(mockApiClient, folderPathWithSlash, mockLogger);
182
+
183
+ expect(mockPathJoin).toHaveBeenCalledWith(folderPathWithSlash, 'manifest.json');
184
+ expect(mockManifestService.readJobManifest).toHaveBeenCalledWith(expectedManifestPath);
185
+ });
186
+
187
+ it('should properly construct version check endpoint', async () => {
188
+ const complexJobName = 'my-complex_job.name';
189
+ const complexJobVersion = '2.1.0-rc.1';
190
+
191
+ mockManifest.getName.mockReturnValue(complexJobName);
192
+ mockManifest.getVersion.mockReturnValue(complexJobVersion);
193
+ mockCheckIfVersionExists.mockResolvedValue(false);
194
+
195
+ await getAndValidateManifest(mockApiClient, testFolderPath, mockLogger);
196
+
197
+ expect(mockCheckIfVersionExists).toHaveBeenCalledWith(
198
+ mockApiClient,
199
+ `/job/${complexJobName}/${complexJobVersion}`,
200
+ );
201
+ });
202
+
203
+ it('should handle null/undefined values from manifest', async () => {
204
+ mockManifest.getName.mockReturnValue(null as any);
205
+ mockManifest.getVersion.mockReturnValue(undefined as any);
206
+ mockCheckIfVersionExists.mockResolvedValue(false);
207
+
208
+ await getAndValidateManifest(mockApiClient, testFolderPath, mockLogger);
209
+
210
+ expect(mockCheckIfVersionExists).toHaveBeenCalledWith(mockApiClient, `/job/${null}/${undefined}`);
211
+ });
212
+ });
213
+ });
@@ -0,0 +1,34 @@
1
+ /*!
2
+ * @license
3
+ * Copyright Squiz Australia Pty Ltd. All Rights Reserved.
4
+ */
5
+
6
+ import { Logger } from '@squiz/dx-logger-lib';
7
+ import { AxiosInstance } from 'axios';
8
+ import path from 'path';
9
+ import { JobManifestV1, ManifestServiceForDev } from '../../../../manifest';
10
+ import { checkIfVersionExists } from './versionChecker';
11
+
12
+ /**
13
+ * Get and validate a job manifest
14
+ * @param apiClient - Axios client for API calls
15
+ * @param folderPath - Path to the job folder
16
+ * @param logger - Logger instance
17
+ * @returns The validated manifest
18
+ */
19
+ export async function getAndValidateManifest(
20
+ apiClient: AxiosInstance,
21
+ folderPath: string,
22
+ logger: Logger,
23
+ ): Promise<JobManifestV1> {
24
+ const manifestService = new ManifestServiceForDev(logger);
25
+ const manifestPath = path.join(folderPath, 'manifest.json');
26
+
27
+ const manifest = await manifestService.readJobManifest(manifestPath);
28
+
29
+ if (await checkIfVersionExists(apiClient, `/job/${manifest.getName()}/${manifest.getVersion()}`)) {
30
+ throw new Error(`Cannot upload job version, ${manifest.getName()} ${manifest.getVersion()} already exists`);
31
+ }
32
+
33
+ return manifest;
34
+ }
@@ -0,0 +1,69 @@
1
+ /*!
2
+ * @license
3
+ * Copyright Squiz Australia Pty Ltd. All Rights Reserved.
4
+ */
5
+
6
+ import { AxiosError, AxiosResponse } from 'axios';
7
+ import { handleResponse, isAxiosResponse } from './responseHandler';
8
+
9
+ describe('responseHandler', () => {
10
+ describe('handleResponse', () => {
11
+ it('should return data for successful 2xx responses', async () => {
12
+ const mockResponse: AxiosResponse = {
13
+ data: { message: 'Success' },
14
+ status: 200,
15
+ statusText: 'OK',
16
+ headers: {},
17
+ config: {} as any,
18
+ };
19
+
20
+ const responsePromise = Promise.resolve(mockResponse);
21
+ const result = await handleResponse(responsePromise);
22
+
23
+ expect(result).toEqual({ message: 'Success' });
24
+ });
25
+
26
+ it('should throw error for non-2xx responses', async () => {
27
+ const mockError = new AxiosError('Request failed');
28
+ mockError.response = {
29
+ data: { message: 'Not found' },
30
+ status: 404,
31
+ statusText: 'Not Found',
32
+ headers: {},
33
+ config: {} as any,
34
+ };
35
+
36
+ const responsePromise = Promise.reject(mockError);
37
+
38
+ await expect(handleResponse(responsePromise)).rejects.toThrow();
39
+ });
40
+
41
+ it('should throw error for network errors', async () => {
42
+ const networkError = new AxiosError('Network Error');
43
+ const responsePromise = Promise.reject(networkError);
44
+
45
+ await expect(handleResponse(responsePromise)).rejects.toThrow();
46
+ });
47
+ });
48
+
49
+ describe('isAxiosResponse', () => {
50
+ it('should return true for valid AxiosResponse objects', () => {
51
+ const mockResponse: AxiosResponse = {
52
+ data: {},
53
+ status: 200,
54
+ statusText: 'OK',
55
+ headers: {},
56
+ config: {} as any,
57
+ };
58
+
59
+ expect(isAxiosResponse(mockResponse)).toBe(true);
60
+ });
61
+
62
+ it('should return false for non-AxiosResponse objects', () => {
63
+ expect(isAxiosResponse({})).toBe(false);
64
+ expect(isAxiosResponse(null)).toBe(false);
65
+ expect(isAxiosResponse(undefined)).toBe(false);
66
+ expect(isAxiosResponse('string')).toBe(false);
67
+ });
68
+ });
69
+ });
@@ -0,0 +1,33 @@
1
+ /*!
2
+ * @license
3
+ * Copyright Squiz Australia Pty Ltd. All Rights Reserved.
4
+ */
5
+
6
+ import { AxiosResponse } from 'axios';
7
+ import { handleError } from './errorUtils';
8
+
9
+ /**
10
+ * Handle axios response and extract data
11
+ * @param axiosInstance - Promise resolving to axios response
12
+ * @returns Response data
13
+ */
14
+ export async function handleResponse<T>(axiosInstance: Promise<AxiosResponse<T>>): Promise<T> {
15
+ try {
16
+ const response = await axiosInstance;
17
+ if (response.status.toString().startsWith('2')) {
18
+ return response.data;
19
+ }
20
+ throw handleError(response.data);
21
+ } catch (error) {
22
+ throw handleError(error);
23
+ }
24
+ }
25
+
26
+ /**
27
+ * Check if response is an axios response object
28
+ * @param response - Response to check
29
+ * @returns True if it's an axios response
30
+ */
31
+ export function isAxiosResponse(response: any): boolean {
32
+ return response instanceof Object && Object.prototype.hasOwnProperty.call(response, 'status');
33
+ }
@@ -0,0 +1,81 @@
1
+ /*!
2
+ * @license
3
+ * Copyright Squiz Australia Pty Ltd. All Rights Reserved.
4
+ */
5
+
6
+ import { Logger } from '@squiz/dx-logger-lib';
7
+ import { AxiosInstance } from 'axios';
8
+ import { JobManifestV1Model } from '../../../../manifest';
9
+ import { pollForResult } from './resultPoller';
10
+
11
+ jest.mock('./responseHandler', () => ({
12
+ handleResponse: jest.fn(),
13
+ isAxiosResponse: jest.fn(),
14
+ }));
15
+
16
+ jest.mock('./versionChecker', () => ({
17
+ checkIfVersionExists: jest.fn(),
18
+ }));
19
+
20
+ import { handleResponse, isAxiosResponse } from './responseHandler';
21
+
22
+ describe('resultPoller', () => {
23
+ let mockApiClient: AxiosInstance;
24
+ let mockLogger: Logger;
25
+ const mockHandleResponse = handleResponse as jest.MockedFunction<typeof handleResponse>;
26
+ const mockIsAxiosResponse = isAxiosResponse as jest.MockedFunction<typeof isAxiosResponse>;
27
+
28
+ beforeEach(() => {
29
+ jest.clearAllMocks();
30
+
31
+ mockApiClient = {
32
+ get: jest.fn(),
33
+ post: jest.fn(),
34
+ } as any;
35
+
36
+ mockLogger = {
37
+ info: jest.fn(),
38
+ error: jest.fn(),
39
+ warn: jest.fn(),
40
+ debug: jest.fn(),
41
+ } as any;
42
+
43
+ mockIsAxiosResponse.mockReturnValue(true);
44
+ });
45
+
46
+ describe('pollForResult', () => {
47
+ const testUploadId = 'upload-123';
48
+ const testManifest = {
49
+ name: 'test-job',
50
+ version: '1.0.0',
51
+ } as any as JobManifestV1Model;
52
+
53
+ it('should return result data on success', async () => {
54
+ const mockResult = { status: 'completed', data: 'result data' };
55
+ mockHandleResponse.mockResolvedValue(mockResult);
56
+
57
+ const result = await pollForResult(mockApiClient, testUploadId, testManifest, mockLogger);
58
+
59
+ expect(mockApiClient.post).toHaveBeenCalledWith('/upload-job/next', {
60
+ id: testUploadId,
61
+ manifest: testManifest,
62
+ });
63
+ expect(mockHandleResponse).toHaveBeenCalled();
64
+ expect(result).toEqual(mockResult);
65
+ });
66
+
67
+ it('should throw error when request fails', async () => {
68
+ const mockError = new Error('Request failed');
69
+ mockHandleResponse.mockRejectedValue(mockError);
70
+
71
+ await expect(pollForResult(mockApiClient, testUploadId, testManifest, mockLogger)).rejects.toThrow(
72
+ 'Request failed',
73
+ );
74
+
75
+ expect(mockApiClient.post).toHaveBeenCalledWith('/upload-job/next', {
76
+ id: testUploadId,
77
+ manifest: testManifest,
78
+ });
79
+ });
80
+ });
81
+ });
@@ -0,0 +1,52 @@
1
+ /*!
2
+ * @license
3
+ * Copyright Squiz Australia Pty Ltd. All Rights Reserved.
4
+ */
5
+
6
+ import { Logger } from '@squiz/dx-logger-lib';
7
+ import { AxiosInstance } from 'axios';
8
+ import color from 'cli-color';
9
+ import { JobManifestV1Model } from '../../../../manifest';
10
+ import { handleResponse, isAxiosResponse } from './responseHandler';
11
+ import { checkIfVersionExists } from './versionChecker';
12
+
13
+ /**
14
+ * Poll for upload result and handle retries
15
+ * @param apiClient - Axios client for API calls
16
+ * @param uploadId - Upload ID to check
17
+ * @param manifest - Job manifest data
18
+ * @param logger - Logger instance
19
+ * @returns Upload result
20
+ */
21
+ export async function pollForResult(
22
+ apiClient: AxiosInstance,
23
+ uploadId: string,
24
+ manifest: JobManifestV1Model,
25
+ logger: Logger,
26
+ ): Promise<any> {
27
+ let result = await handleResponse<any>(apiClient.post(`/upload-job/next`, { id: uploadId, manifest: manifest }));
28
+
29
+ if (!isAxiosResponse(result)) {
30
+ let retriesAllowed = 12;
31
+ while (retriesAllowed > 0) {
32
+ logger.info(
33
+ `deployment id: ${uploadId} status: ${color.yellow(
34
+ `unknown, retrying to check the upload status ${retriesAllowed} more times`,
35
+ )}`,
36
+ );
37
+ if (await checkIfVersionExists(apiClient, `/job/${manifest.name}/${manifest.version}`)) {
38
+ result = {
39
+ status: 'successful',
40
+ };
41
+ break;
42
+ }
43
+ await new Promise((r) => setTimeout(r, 10000));
44
+ retriesAllowed--;
45
+ }
46
+ if (retriesAllowed === 0) {
47
+ logger.error(`deployment id: ${uploadId} status: ${color.red('failed to check the upload status')}`);
48
+ throw new Error(result.toString());
49
+ }
50
+ }
51
+ return result;
52
+ }
@@ -0,0 +1,61 @@
1
+ /*!
2
+ * @license
3
+ * Copyright Squiz Australia Pty Ltd. All Rights Reserved.
4
+ */
5
+
6
+ import { AxiosInstance } from 'axios';
7
+ import { watchAndWaitForUploadAndScanComplete } from './scanWatcher';
8
+
9
+ jest.mock('./responseHandler', () => ({
10
+ handleResponse: jest.fn(),
11
+ }));
12
+
13
+ import { handleResponse } from './responseHandler';
14
+
15
+ describe('scanWatcher', () => {
16
+ let mockApiClient: AxiosInstance;
17
+ const mockHandleResponse = handleResponse as jest.MockedFunction<typeof handleResponse>;
18
+
19
+ beforeEach(() => {
20
+ jest.clearAllMocks();
21
+ jest.useFakeTimers();
22
+
23
+ mockApiClient = {
24
+ get: jest.fn(),
25
+ post: jest.fn(),
26
+ } as any;
27
+ });
28
+
29
+ afterEach(() => {
30
+ jest.useRealTimers();
31
+ });
32
+
33
+ describe('watchAndWaitForUploadAndScanComplete', () => {
34
+ const testEndpoint = '/upload-job/status/';
35
+ const testId = 'test-id-123';
36
+
37
+ it('should resolve when status is Success', async () => {
38
+ mockHandleResponse.mockResolvedValue({ status: 'Success' });
39
+
40
+ await expect(watchAndWaitForUploadAndScanComplete(mockApiClient, testEndpoint, testId)).resolves.toBeUndefined();
41
+
42
+ expect(mockApiClient.get).toHaveBeenCalledWith(testEndpoint + testId);
43
+ });
44
+
45
+ it('should reject when status is Flagged', async () => {
46
+ mockHandleResponse.mockResolvedValue({ status: 'Flagged' });
47
+
48
+ await expect(watchAndWaitForUploadAndScanComplete(mockApiClient, testEndpoint, testId)).rejects.toThrow(
49
+ 'upload has been flagged as a virus',
50
+ );
51
+ });
52
+
53
+ it('should reject when status is Error', async () => {
54
+ mockHandleResponse.mockResolvedValue({ status: 'Error' });
55
+
56
+ await expect(watchAndWaitForUploadAndScanComplete(mockApiClient, testEndpoint, testId)).rejects.toThrow(
57
+ 'there has been an error',
58
+ );
59
+ });
60
+ });
61
+ });
@@ -0,0 +1,41 @@
1
+ /*!
2
+ * @license
3
+ * Copyright Squiz Australia Pty Ltd. All Rights Reserved.
4
+ */
5
+
6
+ import { AxiosInstance } from 'axios';
7
+ import { handleResponse } from './responseHandler';
8
+
9
+ /**
10
+ * Watch and wait for upload and scan to complete
11
+ * @param apiClient - Axios client for API calls
12
+ * @param endpoint - API endpoint to poll
13
+ * @param id - Upload ID to check
14
+ * @returns Promise that resolves when scan is complete
15
+ */
16
+ export async function watchAndWaitForUploadAndScanComplete(
17
+ apiClient: AxiosInstance,
18
+ endpoint: string,
19
+ id: string,
20
+ ): Promise<void> {
21
+ const poll = () => handleResponse<any>(apiClient.get(endpoint + id));
22
+
23
+ return new Promise((resolve, reject) => {
24
+ const recurse = () =>
25
+ poll().then(async (req) => {
26
+ if (req.status == 'Success') {
27
+ resolve();
28
+ } else if (req.status == 'Flagged') {
29
+ reject(new Error('upload has been flagged as a virus'));
30
+ } else if (req.status == 'Error') {
31
+ reject(new Error('there has been an error'));
32
+ } else {
33
+ setTimeout(async () => {
34
+ await recurse();
35
+ }, 1000);
36
+ }
37
+ });
38
+
39
+ recurse();
40
+ });
41
+ }
@@ -0,0 +1,106 @@
1
+ /*!
2
+ * @license
3
+ * Copyright Squiz Australia Pty Ltd. All Rights Reserved.
4
+ */
5
+
6
+ import { zipDirectory } from '@squiz/dx-common-lib';
7
+ import { Logger } from '@squiz/dx-logger-lib';
8
+ import { AxiosInstance } from 'axios';
9
+ import { handleResponse } from './responseHandler';
10
+ import { initializeUpload } from './uploadInitializer';
11
+
12
+ jest.mock('@squiz/dx-common-lib', () => ({
13
+ zipDirectory: jest.fn(),
14
+ }));
15
+
16
+ jest.mock('./responseHandler', () => ({
17
+ handleResponse: jest.fn(),
18
+ }));
19
+
20
+ describe('uploadInitializer', () => {
21
+ let mockLogger: Logger;
22
+ let mockApiClient: AxiosInstance;
23
+ const mockZipDirectory = zipDirectory as jest.MockedFunction<typeof zipDirectory>;
24
+ const mockHandleResponse = handleResponse as jest.MockedFunction<typeof handleResponse>;
25
+
26
+ beforeEach(() => {
27
+ jest.clearAllMocks();
28
+
29
+ mockLogger = {
30
+ info: jest.fn(),
31
+ error: jest.fn(),
32
+ warn: jest.fn(),
33
+ debug: jest.fn(),
34
+ } as any;
35
+
36
+ mockApiClient = {
37
+ post: jest.fn(),
38
+ get: jest.fn(),
39
+ } as any;
40
+ });
41
+
42
+ describe('initializeUpload', () => {
43
+ const testFolderPath = '/test/folder';
44
+ const testTmpDir = '/tmp/test';
45
+ const testZipPath = '/tmp/test/job.zip';
46
+
47
+ it('should successfully initialize upload', async () => {
48
+ const mockUploadResponse = { id: 'upload-123', status: 'pending' };
49
+
50
+ mockZipDirectory.mockResolvedValue(testZipPath);
51
+ mockHandleResponse.mockResolvedValue(mockUploadResponse);
52
+
53
+ const result = await initializeUpload(mockApiClient, testFolderPath, testTmpDir, mockLogger);
54
+
55
+ expect(mockLogger.info).toHaveBeenCalledWith('Initial scanning');
56
+ expect(mockZipDirectory).toHaveBeenCalledWith(testFolderPath, testTmpDir);
57
+ expect(mockHandleResponse).toHaveBeenCalled();
58
+ expect(mockLogger.info).toHaveBeenCalledWith(`deployment id: ${mockUploadResponse.id} status: transferring`);
59
+ expect(result).toEqual({
60
+ zip: testZipPath,
61
+ upload: mockUploadResponse,
62
+ });
63
+ });
64
+
65
+ it('should handle errors during zip creation', async () => {
66
+ const zipError = new Error('Failed to create zip');
67
+ mockZipDirectory.mockRejectedValue(zipError);
68
+
69
+ await expect(initializeUpload(mockApiClient, testFolderPath, testTmpDir, mockLogger)).rejects.toThrow(
70
+ 'Failed to create zip',
71
+ );
72
+
73
+ expect(mockLogger.info).toHaveBeenCalledWith('Initial scanning');
74
+ expect(mockZipDirectory).toHaveBeenCalledWith(testFolderPath, testTmpDir);
75
+ expect(mockHandleResponse).not.toHaveBeenCalled();
76
+ });
77
+
78
+ it('should handle errors during upload request', async () => {
79
+ const uploadError = new Error('Upload failed');
80
+ mockZipDirectory.mockResolvedValue(testZipPath);
81
+ mockHandleResponse.mockRejectedValue(uploadError);
82
+
83
+ await expect(initializeUpload(mockApiClient, testFolderPath, testTmpDir, mockLogger)).rejects.toThrow(
84
+ 'Upload failed',
85
+ );
86
+
87
+ expect(mockZipDirectory).toHaveBeenCalledWith(testFolderPath, testTmpDir);
88
+ expect(mockHandleResponse).toHaveBeenCalled();
89
+ });
90
+
91
+ it('should handle upload response with missing id gracefully', async () => {
92
+ const mockUploadResponse = { status: 'pending' }; // no id property
93
+
94
+ mockZipDirectory.mockResolvedValue(testZipPath);
95
+ mockHandleResponse.mockResolvedValue(mockUploadResponse);
96
+
97
+ const result = await initializeUpload(mockApiClient, testFolderPath, testTmpDir, mockLogger);
98
+
99
+ expect(mockLogger.info).toHaveBeenCalledWith(`deployment id: undefined status: transferring`);
100
+ expect(result).toEqual({
101
+ zip: testZipPath,
102
+ upload: mockUploadResponse,
103
+ });
104
+ });
105
+ });
106
+ });