@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
@@ -1,2565 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const unzipper_1 = __importDefault(require("unzipper"));
7
- const fs_1 = __importDefault(require("fs"));
8
- const fs_extra_1 = __importDefault(require("fs-extra"));
9
- const path_1 = __importDefault(require("path"));
10
- const dx_logger_lib_1 = require("@squiz/dx-logger-lib");
11
- const db_1 = require("../../db");
12
- const ComponentSetServiceForProduction_1 = require("./ComponentSetServiceForProduction");
13
- const ComponentService_1 = require("../../component/services/ComponentService");
14
- const createPackage_1 = require("../../__test__/createPackage");
15
- const manifest_1 = require("../../manifest");
16
- const crypto_1 = require("crypto");
17
- const loadAllUnitTestComponents_1 = require("../../__test__/loadAllUnitTestComponents");
18
- const ComponentSetComponentVersion_1 = require("../models/ComponentSetComponentVersion");
19
- describe('ComponentSetServiceForProduction', () => {
20
- let db;
21
- const logger = (0, dx_logger_lib_1.getLogger)({
22
- name: 'component-lib',
23
- });
24
- let service;
25
- let componentService;
26
- let manifestService;
27
- const mockInfo = jest.fn();
28
- const mockFlush = jest.fn();
29
- const componentLoggingService = { info: mockInfo, flush: mockFlush };
30
- const namespace = 'unit-test-components';
31
- let componentTempLocation1 = '';
32
- let componentTempLocation2 = '';
33
- async function createComponentAtTempLocation(componentTempLocation, componentName, version) {
34
- const newComponent = (0, createPackage_1.createPackage)(namespace, componentName, version);
35
- await newComponent.finalize();
36
- await newComponent.pipe(unzipper_1.default.Extract({ path: componentTempLocation })).promise();
37
- }
38
- beforeAll(async () => {
39
- db = await (0, db_1.createConnectionManager)('management-api-test', {
40
- databaseConnectionString: process.env.COMPONENT_DB_CONNECTION_STRING,
41
- }, '');
42
- await db.applyMigrations();
43
- manifestService = new manifest_1.ManifestServiceForProduction(process.env.DATA_MOUNT_POINT, logger);
44
- await (0, loadAllUnitTestComponents_1.loadAllUnitTestComponents)(process.env.DATA_MOUNT_POINT, db, manifestService);
45
- service = new ComponentSetServiceForProduction_1.ComponentSetServiceForProduction(db, logger, manifestService, componentLoggingService);
46
- componentService = new ComponentService_1.ComponentService(db, console, process.env.DATA_MOUNT_POINT, manifestService);
47
- await db.repositories.component.delete({ name: 'foo' });
48
- // create two versions for a test component "foo"
49
- // for all the tests
50
- componentTempLocation1 = fs_1.default.mkdtempSync('test1-');
51
- await createComponentAtTempLocation(componentTempLocation1, 'foo', '1.0.0');
52
- await componentService.saveComponent(componentTempLocation1);
53
- componentTempLocation2 = fs_1.default.mkdtempSync('test2-');
54
- await createComponentAtTempLocation(componentTempLocation2, 'foo', '2.0.0');
55
- await componentService.saveComponent(componentTempLocation2);
56
- });
57
- beforeEach(() => {
58
- jest.clearAllMocks();
59
- });
60
- afterAll(async () => {
61
- if (fs_extra_1.default.pathExistsSync(componentTempLocation1)) {
62
- fs_extra_1.default.rmSync(componentTempLocation1, { force: true, recursive: true });
63
- }
64
- if (fs_extra_1.default.pathExistsSync(componentTempLocation2)) {
65
- fs_extra_1.default.rmSync(componentTempLocation2, { force: true, recursive: true });
66
- }
67
- await componentService.deleteComponent(namespace, 'foo');
68
- await db.close();
69
- });
70
- describe('addComponentSet', () => {
71
- const webPath = 'set-web-path';
72
- const testWebPaths = ['set-web-path'];
73
- afterAll(async () => {
74
- for (const webPath of testWebPaths) {
75
- await db.repositories.componentSet.delete({ webPath });
76
- await db.repositories.componentSetComponentVersion.delete({ componentSetWebPath: webPath });
77
- }
78
- });
79
- it('should create new component set with all the data in the respective tables and return component object', async () => {
80
- const componentSet = await service.addComponentSet({
81
- webPath: webPath,
82
- displayName: 'some-display-name',
83
- description: 'some-description',
84
- environmentVariables: {
85
- 'some-var': 'some-val',
86
- },
87
- headers: {
88
- 'some-header-name': 'some-header-val',
89
- },
90
- components: {
91
- 'unit-test-components/foo': [
92
- {
93
- version: '1.0.0',
94
- environmentVariables: {
95
- 'some-var': 'some-custom-var',
96
- },
97
- },
98
- ],
99
- },
100
- componentVersionRules: {
101
- 'unit-test-components/foo': {
102
- renderableVersionPattern: '^1.0.0',
103
- excludedVersions: ['2.2.2', '3.3.3'],
104
- editableVersions: ['1.0.0', '2.0.0'],
105
- },
106
- },
107
- });
108
- expect(componentSet).toEqual({
109
- webPath: webPath,
110
- displayName: 'some-display-name',
111
- description: 'some-description',
112
- environmentVariables: {
113
- 'some-var': 'some-val',
114
- },
115
- headers: {
116
- 'some-header-name': 'some-header-val',
117
- },
118
- components: {
119
- 'unit-test-components/foo': [
120
- {
121
- version: '1.0.0',
122
- environmentVariables: {
123
- 'some-var': 'some-custom-var',
124
- },
125
- description: 'some-description',
126
- displayName: 'some-display-name',
127
- icon: undefined,
128
- editable: true,
129
- },
130
- ],
131
- },
132
- componentVersionRules: {
133
- 'unit-test-components/foo': {
134
- renderableVersionPattern: '^1.0.0',
135
- excludedVersions: ['3.3.3', '2.2.2'],
136
- editableVersions: ['2.0.0', '1.0.0'],
137
- },
138
- },
139
- });
140
- const csResult = await db.repositories.componentSet.getComponentSetByWebPath(webPath);
141
- expect(csResult).toEqual({
142
- webPath: webPath,
143
- displayName: 'some-display-name',
144
- description: 'some-description',
145
- environmentVariables: {
146
- 'some-var': 'some-val',
147
- },
148
- headers: {
149
- 'some-header-name': 'some-header-val',
150
- },
151
- });
152
- const cscvResult = await db.repositories.componentSetComponentVersion.find({ componentSetWebPath: webPath });
153
- expect(cscvResult).toHaveLength(1);
154
- expect(cscvResult[0]).toEqual({
155
- componentSetWebPath: 'set-web-path',
156
- componentName: 'unit-test-components/foo',
157
- componentVersion: '1.0.0',
158
- environmentVariables: {
159
- 'some-var': 'some-custom-var',
160
- },
161
- status: ComponentSetComponentVersion_1.ComponentSetComponentVersionStatus.active,
162
- });
163
- await expect(db.repositories.componentSetRule.getComponentSetRulesForSet(webPath)).resolves.toEqual({
164
- 'unit-test-components/foo': '^1.0.0',
165
- });
166
- await expect(db.repositories.componentSetComponentVersionExcluded.getComponentSetExcludedVersions(webPath)).resolves.toEqual({
167
- 'unit-test-components/foo': ['3.3.3', '2.2.2'],
168
- });
169
- await expect(db.repositories.componentSetComponentVersionEditable.getComponentSetEditableVersions(webPath)).resolves.toEqual({
170
- 'unit-test-components/foo': ['2.0.0', '1.0.0'],
171
- });
172
- await expect(service.componentVersionExcludedFromSet(webPath, 'unit-test-components/foo', '2.2.2')).resolves.toEqual(true);
173
- await expect(service.componentVersionExcludedFromSet(webPath, 'unit-test-components/foo', '3.3.3')).resolves.toEqual(true);
174
- await expect(service.componentVersionExcludedFromSet(webPath, 'unit-test-components/foo', '1.0.0')).resolves.toEqual(false);
175
- expect(mockInfo).toHaveBeenCalledWith('Component set added: set-web-path.', undefined, undefined, 'componentSetId:set-web-path');
176
- expect(mockFlush).toHaveBeenCalled();
177
- }, 15000);
178
- it('should add components automatically matching component rules', async () => {
179
- const webPath = 'set-web-path-2';
180
- testWebPaths.push('set-web-path-2');
181
- const componentSet = await service.addComponentSet({
182
- webPath: webPath,
183
- displayName: 'some-display-name',
184
- description: 'some-description',
185
- environmentVariables: {
186
- 'some-var': 'some-val',
187
- },
188
- headers: {
189
- 'some-header-name': 'some-header-val',
190
- },
191
- componentVersionRules: {
192
- 'unit-test-components/foo': {
193
- renderableVersionPattern: '1.0.0 || 2.0.0',
194
- excludedVersions: [],
195
- editableVersions: ['2.0.0', '1.0.0'],
196
- },
197
- },
198
- });
199
- expect(componentSet).toMatchInlineSnapshot(`
200
- {
201
- "componentVersionRules": {
202
- "unit-test-components/foo": {
203
- "editableVersions": [
204
- "2.0.0",
205
- "1.0.0",
206
- ],
207
- "excludedVersions": [],
208
- "renderableVersionPattern": "1.0.0 || 2.0.0",
209
- },
210
- },
211
- "components": {
212
- "unit-test-components/foo": [
213
- {
214
- "description": "some-description",
215
- "displayName": "some-display-name",
216
- "editable": true,
217
- "environmentVariables": {},
218
- "icon": undefined,
219
- "version": "2.0.0",
220
- },
221
- {
222
- "description": "some-description",
223
- "displayName": "some-display-name",
224
- "editable": true,
225
- "environmentVariables": {},
226
- "icon": undefined,
227
- "version": "1.0.0",
228
- },
229
- ],
230
- },
231
- "description": "some-description",
232
- "displayName": "some-display-name",
233
- "environmentVariables": {
234
- "some-var": "some-val",
235
- },
236
- "headers": {
237
- "some-header-name": "some-header-val",
238
- },
239
- "webPath": "set-web-path-2",
240
- }
241
- `);
242
- }, 15000);
243
- it('should not add any components of renderable version rule is set as empty string', async () => {
244
- const webPath = 'set-web-path-empty-renderable-rule';
245
- testWebPaths.push('set-web-path-empty-renderable-rule');
246
- const componentSet = await service.addComponentSet({
247
- webPath: webPath,
248
- displayName: 'some-display-name',
249
- description: 'some-description',
250
- environmentVariables: {
251
- 'some-var': 'some-val',
252
- },
253
- headers: {
254
- 'some-header-name': 'some-header-val',
255
- },
256
- componentVersionRules: {
257
- 'unit-test-components/foo': {
258
- renderableVersionPattern: '',
259
- excludedVersions: [],
260
- editableVersions: ['2.0.0', '1.0.0'],
261
- },
262
- },
263
- });
264
- expect(componentSet).toMatchInlineSnapshot(`
265
- {
266
- "componentVersionRules": {
267
- "unit-test-components/foo": {
268
- "editableVersions": [
269
- "2.0.0",
270
- "1.0.0",
271
- ],
272
- "excludedVersions": [],
273
- "renderableVersionPattern": "",
274
- },
275
- },
276
- "components": {},
277
- "description": "some-description",
278
- "displayName": "some-display-name",
279
- "environmentVariables": {
280
- "some-var": "some-val",
281
- },
282
- "headers": {
283
- "some-header-name": "some-header-val",
284
- },
285
- "webPath": "set-web-path-empty-renderable-rule",
286
- }
287
- `);
288
- }, 15000);
289
- it('should should all component versions as non-editable if editable rule not specified', async () => {
290
- const webPath = 'set-web-path-edit';
291
- testWebPaths.push('set-web-path-edit');
292
- const componentSet = await service.addComponentSet({
293
- webPath: webPath,
294
- displayName: 'some-display-name',
295
- description: 'some-description',
296
- environmentVariables: {
297
- 'some-var': 'some-val',
298
- },
299
- headers: {
300
- 'some-header-name': 'some-header-val',
301
- },
302
- componentVersionRules: {
303
- 'unit-test-components/foo': {
304
- renderableVersionPattern: '1.0.0 || 2.0.0',
305
- excludedVersions: [],
306
- editableVersions: [],
307
- },
308
- },
309
- });
310
- expect(componentSet).toMatchInlineSnapshot(`
311
- {
312
- "componentVersionRules": {
313
- "unit-test-components/foo": {
314
- "editableVersions": [],
315
- "excludedVersions": [],
316
- "renderableVersionPattern": "1.0.0 || 2.0.0",
317
- },
318
- },
319
- "components": {
320
- "unit-test-components/foo": [
321
- {
322
- "description": "some-description",
323
- "displayName": "some-display-name",
324
- "editable": false,
325
- "environmentVariables": {},
326
- "icon": undefined,
327
- "version": "2.0.0",
328
- },
329
- {
330
- "description": "some-description",
331
- "displayName": "some-display-name",
332
- "editable": false,
333
- "environmentVariables": {},
334
- "icon": undefined,
335
- "version": "1.0.0",
336
- },
337
- ],
338
- },
339
- "description": "some-description",
340
- "displayName": "some-display-name",
341
- "environmentVariables": {
342
- "some-var": "some-val",
343
- },
344
- "headers": {
345
- "some-header-name": "some-header-val",
346
- },
347
- "webPath": "set-web-path-edit",
348
- }
349
- `);
350
- }, 15000);
351
- it('should set latest version in add components as "editable" if editable rule is set as "latest"', async () => {
352
- const webPath = 'set-web-path-edit-4';
353
- testWebPaths.push('set-web-path-edit-4');
354
- const componentSet = await service.addComponentSet({
355
- webPath: webPath,
356
- displayName: 'some-display-name',
357
- description: 'some-description',
358
- environmentVariables: {
359
- 'some-var': 'some-val',
360
- },
361
- headers: {
362
- 'some-header-name': 'some-header-val',
363
- },
364
- componentVersionRules: {
365
- 'unit-test-components/foo': {
366
- renderableVersionPattern: '1.0.0 || 2.0.0',
367
- excludedVersions: [],
368
- editableVersions: 'latest',
369
- },
370
- },
371
- });
372
- expect(componentSet).toMatchInlineSnapshot(`
373
- {
374
- "componentVersionRules": {
375
- "unit-test-components/foo": {
376
- "editableVersions": [
377
- "latest",
378
- ],
379
- "excludedVersions": [],
380
- "renderableVersionPattern": "1.0.0 || 2.0.0",
381
- },
382
- },
383
- "components": {
384
- "unit-test-components/foo": [
385
- {
386
- "description": "some-description",
387
- "displayName": "some-display-name",
388
- "editable": true,
389
- "environmentVariables": {},
390
- "icon": undefined,
391
- "version": "2.0.0",
392
- },
393
- {
394
- "description": "some-description",
395
- "displayName": "some-display-name",
396
- "editable": false,
397
- "environmentVariables": {},
398
- "icon": undefined,
399
- "version": "1.0.0",
400
- },
401
- ],
402
- },
403
- "description": "some-description",
404
- "displayName": "some-display-name",
405
- "environmentVariables": {
406
- "some-var": "some-val",
407
- },
408
- "headers": {
409
- "some-header-name": "some-header-val",
410
- },
411
- "webPath": "set-web-path-edit-4",
412
- }
413
- `);
414
- }, 15000);
415
- it('should set latest version in add components as "editable" if not editable rule is set as "latest" - with excluded version specified', async () => {
416
- const webPath = 'set-web-path-edit-2';
417
- testWebPaths.push('set-web-path-edit-2');
418
- const componentSet = await service.addComponentSet({
419
- webPath: webPath,
420
- displayName: 'some-display-name',
421
- description: 'some-description',
422
- environmentVariables: {
423
- 'some-var': 'some-val',
424
- },
425
- headers: {
426
- 'some-header-name': 'some-header-val',
427
- },
428
- componentVersionRules: {
429
- 'unit-test-components/foo': {
430
- renderableVersionPattern: '1.0.0 || 2.0.0',
431
- excludedVersions: ['2.0.0'],
432
- editableVersions: 'latest',
433
- },
434
- },
435
- });
436
- expect(componentSet).toMatchInlineSnapshot(`
437
- {
438
- "componentVersionRules": {
439
- "unit-test-components/foo": {
440
- "editableVersions": [
441
- "latest",
442
- ],
443
- "excludedVersions": [
444
- "2.0.0",
445
- ],
446
- "renderableVersionPattern": "1.0.0 || 2.0.0",
447
- },
448
- },
449
- "components": {
450
- "unit-test-components/foo": [
451
- {
452
- "description": "some-description",
453
- "displayName": "some-display-name",
454
- "editable": true,
455
- "environmentVariables": {},
456
- "icon": undefined,
457
- "version": "1.0.0",
458
- },
459
- ],
460
- },
461
- "description": "some-description",
462
- "displayName": "some-display-name",
463
- "environmentVariables": {
464
- "some-var": "some-val",
465
- },
466
- "headers": {
467
- "some-header-name": "some-header-val",
468
- },
469
- "webPath": "set-web-path-edit-2",
470
- }
471
- `);
472
- }, 15000);
473
- it('should add components automatically matching component rules but should not add "excluded" ones', async () => {
474
- const webPath = 'set-web-path-3';
475
- testWebPaths.push('set-web-path-3');
476
- const componentSet = await service.addComponentSet({
477
- webPath: webPath,
478
- displayName: 'some-display-name',
479
- description: 'some-description',
480
- environmentVariables: {
481
- 'some-var': 'some-val',
482
- },
483
- headers: {
484
- 'some-header-name': 'some-header-val',
485
- },
486
- componentVersionRules: {
487
- 'unit-test-components/foo': {
488
- renderableVersionPattern: '1.0.0 || 2.0.0',
489
- excludedVersions: ['1.0.0', '2.2.2'],
490
- editableVersions: [],
491
- },
492
- },
493
- });
494
- expect(componentSet).toMatchInlineSnapshot(`
495
- {
496
- "componentVersionRules": {
497
- "unit-test-components/foo": {
498
- "editableVersions": [],
499
- "excludedVersions": [
500
- "2.2.2",
501
- "1.0.0",
502
- ],
503
- "renderableVersionPattern": "1.0.0 || 2.0.0",
504
- },
505
- },
506
- "components": {
507
- "unit-test-components/foo": [
508
- {
509
- "description": "some-description",
510
- "displayName": "some-display-name",
511
- "editable": false,
512
- "environmentVariables": {},
513
- "icon": undefined,
514
- "version": "2.0.0",
515
- },
516
- ],
517
- },
518
- "description": "some-description",
519
- "displayName": "some-display-name",
520
- "environmentVariables": {
521
- "some-var": "some-val",
522
- },
523
- "headers": {
524
- "some-header-name": "some-header-val",
525
- },
526
- "webPath": "set-web-path-3",
527
- }
528
- `);
529
- }, 15000);
530
- it('should not be case-sensitive when finding component set', async () => {
531
- await expect(service.getComponentSet(webPath.toUpperCase())).resolves.toEqual(await service.getComponentSet(webPath));
532
- });
533
- it('should throw error if creating duplicate component set', async () => {
534
- await expect(service.addComponentSet({
535
- webPath: webPath,
536
- displayName: 'some-display-name',
537
- description: 'some-description',
538
- environmentVariables: {
539
- 'some-var': 'some-val',
540
- },
541
- headers: {
542
- 'some-header-name': 'some-header-val',
543
- },
544
- components: {
545
- 'unit-test-components/foo': [
546
- {
547
- version: '1.0.0',
548
- environmentVariables: {
549
- 'some-var': 'some-custom-var',
550
- },
551
- },
552
- ],
553
- },
554
- componentVersionRules: {},
555
- })).rejects.toThrowErrorMatchingInlineSnapshot(`"Component set with web path set-web-path already exists"`);
556
- }, 15000);
557
- it('should throw error webPath is empty', async () => {
558
- await expect(service.addComponentSet({
559
- webPath: '',
560
- displayName: 'some-display-name',
561
- description: 'some-description',
562
- environmentVariables: {
563
- 'some-var': 'some-val',
564
- },
565
- headers: {
566
- 'some-header-name': 'some-header-val',
567
- },
568
- components: {
569
- 'unit-test-components/foo': [
570
- {
571
- version: '1.0.0',
572
- environmentVariables: {},
573
- },
574
- ],
575
- },
576
- componentVersionRules: {},
577
- })).rejects.toThrowErrorMatchingInlineSnapshot('"Component set \'webPath\' must be specificed and non-empty"');
578
- }, 15000);
579
- it('should throw error webPath has invalid chars', async () => {
580
- await expect(service.addComponentSet({
581
- webPath: 'invali@d-name',
582
- displayName: 'some-display-name',
583
- description: 'some-description',
584
- environmentVariables: {
585
- 'some-var': 'some-val',
586
- },
587
- headers: {
588
- 'some-header-name': 'some-header-val',
589
- },
590
- components: {
591
- 'unit-test-components/foo': [
592
- {
593
- version: '1.0.0',
594
- environmentVariables: {},
595
- },
596
- ],
597
- },
598
- componentVersionRules: {},
599
- })).rejects.toThrowErrorMatchingInlineSnapshot('"Invalid Component Set web path. Only [A-Za-z0-9_-.] chars are allowed"');
600
- }, 15000);
601
- it('should throw error if component name does not exist', async () => {
602
- await expect(service.addComponentSet({
603
- webPath: 'some-other-webpath',
604
- displayName: 'some-display-name',
605
- description: 'some-description',
606
- environmentVariables: {
607
- 'some-var': 'some-val',
608
- },
609
- headers: {
610
- 'some-header-name': 'some-header-val',
611
- },
612
- components: {
613
- 'unit-test-components/foo2': [
614
- {
615
- version: '1.0.0',
616
- environmentVariables: {},
617
- },
618
- ],
619
- },
620
- componentVersionRules: {},
621
- })).rejects.toThrowErrorMatchingInlineSnapshot('"Component unit-test-components/foo2 with version 1.0.0 does not exists"');
622
- }, 15000);
623
- it('should throw error if component version does not exist', async () => {
624
- await expect(service.addComponentSet({
625
- webPath: 'some-other-webpath',
626
- displayName: 'some-display-name',
627
- description: 'some-description',
628
- environmentVariables: {
629
- 'some-var': 'some-val',
630
- },
631
- headers: {
632
- 'some-header-name': 'some-header-val',
633
- },
634
- components: {
635
- 'unit-test-components/foo': [
636
- {
637
- version: '1.1.1',
638
- environmentVariables: {},
639
- },
640
- ],
641
- },
642
- componentVersionRules: {},
643
- })).rejects.toThrowErrorMatchingInlineSnapshot('"Component unit-test-components/foo with version 1.1.1 does not exists"');
644
- }, 15000);
645
- it('should throw error if duplicate component versions in components', async () => {
646
- await expect(service.addComponentSet({
647
- webPath: (0, crypto_1.randomUUID)(),
648
- displayName: 'some-display-name',
649
- description: 'some-description',
650
- environmentVariables: {
651
- 'some-var': 'some-val',
652
- },
653
- headers: {
654
- 'some-header-name': 'some-header-val',
655
- },
656
- components: {
657
- 'unit-test-components/foo': [
658
- {
659
- version: '1.0.0',
660
- environmentVariables: {
661
- 'some-var': 'some-custom-var',
662
- },
663
- },
664
- {
665
- version: '1.0.0',
666
- environmentVariables: {
667
- 'some-var2': 'some-custom-var2',
668
- },
669
- },
670
- ],
671
- },
672
- componentVersionRules: {},
673
- })).rejects.toThrowErrorMatchingInlineSnapshot(`"Multiple componet version entries for component unit-test-components/foo with version 1.0.0"`);
674
- }, 15000);
675
- it('should error if added component does not satisfy componentVersionRules', async () => {
676
- await expect(service.addComponentSet({
677
- webPath: (0, crypto_1.randomUUID)(),
678
- displayName: 'some-display-name',
679
- description: 'some-description',
680
- environmentVariables: {
681
- 'some-var': 'some-val',
682
- },
683
- headers: {
684
- 'some-header-name': 'some-header-val',
685
- },
686
- components: {
687
- 'unit-test-components/foo': [
688
- {
689
- version: '1.0.0',
690
- environmentVariables: {
691
- 'some-var': 'some-custom-var',
692
- },
693
- },
694
- ],
695
- },
696
- componentVersionRules: {
697
- 'unit-test-components/foo': {
698
- renderableVersionPattern: '^2.0.0',
699
- excludedVersions: [],
700
- editableVersions: [],
701
- },
702
- },
703
- })).rejects.toThrowErrorMatchingInlineSnapshot(`"Component versions must satisfy version rule"`);
704
- });
705
- });
706
- describe('updateComponentSet', () => {
707
- const webPath = 'set-web-path';
708
- beforeAll(async () => {
709
- await service.addComponentSet({
710
- webPath: webPath,
711
- displayName: 'some-display-name',
712
- description: 'some-description',
713
- environmentVariables: {
714
- 'some-var': 'some-val',
715
- },
716
- headers: {
717
- 'some-header-name': 'some-header-val',
718
- },
719
- components: {
720
- 'unit-test-components/foo': [
721
- {
722
- version: '1.0.0',
723
- environmentVariables: {
724
- 'some-var': 'some-custom-var',
725
- },
726
- },
727
- ],
728
- },
729
- componentVersionRules: {
730
- 'unit-test-components/foo': {
731
- renderableVersionPattern: '1.0.0',
732
- excludedVersions: [],
733
- editableVersions: [],
734
- },
735
- },
736
- });
737
- });
738
- afterAll(async () => {
739
- await db.repositories.componentSet.delete({ webPath });
740
- await db.repositories.componentSetComponentVersion.delete({ componentSetWebPath: webPath });
741
- });
742
- it('should update existing component set with all the data in the respective tables and return component object', async () => {
743
- const componentSet = await service.updateComponentSet(webPath, {
744
- displayName: 'some-display-name - updated',
745
- description: 'some-description - updated',
746
- environmentVariables: {
747
- 'some-var': 'some-val',
748
- 'some-var2': 'some-val2',
749
- },
750
- headers: {
751
- 'some-header-name': 'some-header-val - updated',
752
- },
753
- componentVersionRules: {
754
- 'unit-test-components/foo': {
755
- renderableVersionPattern: '*',
756
- excludedVersions: ['2.2.2', '3.3.3'],
757
- editableVersions: ['1.0.0', '2.0.0'],
758
- },
759
- },
760
- });
761
- expect(componentSet).toEqual({
762
- webPath: webPath,
763
- displayName: 'some-display-name - updated',
764
- description: 'some-description - updated',
765
- environmentVariables: {
766
- 'some-var': 'some-val',
767
- 'some-var2': 'some-val2',
768
- },
769
- headers: {
770
- 'some-header-name': 'some-header-val - updated',
771
- },
772
- components: {
773
- 'unit-test-components/foo': [
774
- {
775
- version: '2.0.0',
776
- environmentVariables: {},
777
- description: 'some-description',
778
- displayName: 'some-display-name',
779
- icon: undefined,
780
- editable: true,
781
- },
782
- {
783
- version: '1.0.0',
784
- environmentVariables: {
785
- 'some-var': 'some-custom-var',
786
- },
787
- description: 'some-description',
788
- displayName: 'some-display-name',
789
- icon: undefined,
790
- editable: true,
791
- },
792
- ],
793
- },
794
- componentVersionRules: {
795
- 'unit-test-components/foo': {
796
- renderableVersionPattern: '*',
797
- excludedVersions: ['3.3.3', '2.2.2'],
798
- editableVersions: ['2.0.0', '1.0.0'],
799
- },
800
- },
801
- });
802
- const csResult = await db.repositories.componentSet.getComponentSetByWebPath(webPath);
803
- expect(csResult).toEqual({
804
- webPath: webPath,
805
- displayName: 'some-display-name - updated',
806
- description: 'some-description - updated',
807
- environmentVariables: {
808
- 'some-var': 'some-val',
809
- 'some-var2': 'some-val2',
810
- },
811
- headers: {
812
- 'some-header-name': 'some-header-val - updated',
813
- },
814
- });
815
- const cscvResult = await db.repositories.componentSetComponentVersion.find({ componentSetWebPath: webPath });
816
- expect(cscvResult).toHaveLength(2);
817
- const versionV1 = cscvResult.find((result) => result.componentVersion === '1.0.0');
818
- const versionV2 = cscvResult.find((result) => result.componentVersion === '2.0.0');
819
- expect(versionV2).toEqual({
820
- componentSetWebPath: 'set-web-path',
821
- componentName: 'unit-test-components/foo',
822
- componentVersion: '2.0.0',
823
- environmentVariables: {},
824
- status: ComponentSetComponentVersion_1.ComponentSetComponentVersionStatus.active,
825
- });
826
- expect(versionV1).toEqual({
827
- componentSetWebPath: 'set-web-path',
828
- componentName: 'unit-test-components/foo',
829
- componentVersion: '1.0.0',
830
- environmentVariables: {
831
- 'some-var': 'some-custom-var',
832
- },
833
- status: ComponentSetComponentVersion_1.ComponentSetComponentVersionStatus.active,
834
- });
835
- await expect(db.repositories.componentSetRule.find({ componentSet: webPath })).resolves.toEqual([
836
- { componentSet: webPath, componentName: 'unit-test-components/foo', versionPattern: '*' },
837
- ]);
838
- await expect(db.repositories.componentSetComponentVersionExcluded.getComponentSetExcludedVersions(webPath)).resolves.toEqual({
839
- 'unit-test-components/foo': ['3.3.3', '2.2.2'],
840
- });
841
- await expect(db.repositories.componentSetComponentVersionEditable.getComponentSetEditableVersions(webPath)).resolves.toEqual({
842
- 'unit-test-components/foo': ['2.0.0', '1.0.0'],
843
- });
844
- expect(mockInfo).toHaveBeenCalledWith(`Component set updated: "set-web-path". Changed from {"unit-test-components/foo":[{"version":"1.0.0","description":"some-description","displayName":"some-display-name","editable":false}]} to {"unit-test-components/foo":[{"version":"2.0.0","description":"some-description","displayName":"some-display-name","editable":true},{"version":"1.0.0","description":"some-description","displayName":"some-display-name","editable":true}]}.`, undefined, undefined, 'componentSetId:set-web-path ');
845
- expect(mockFlush).toHaveBeenCalled();
846
- }, 15000);
847
- it('should log the change to the component if the component itself was changed', async () => {
848
- const webPath = 'newpath';
849
- await service.addComponentSet({
850
- webPath: webPath,
851
- displayName: 'some-display-name',
852
- description: 'some-description',
853
- environmentVariables: {
854
- 'some-var': 'some-val',
855
- },
856
- headers: {
857
- 'some-header-name': 'some-header-val',
858
- },
859
- components: {
860
- 'unit-test-components/foo': [
861
- {
862
- version: '1.0.0',
863
- environmentVariables: {
864
- 'some-var': 'some-custom-var',
865
- },
866
- },
867
- ],
868
- },
869
- componentVersionRules: {
870
- 'unit-test-components/foo': {
871
- renderableVersionPattern: '1.0.0',
872
- excludedVersions: [],
873
- editableVersions: [],
874
- },
875
- },
876
- });
877
- await service.updateComponentSet(webPath, {
878
- components: {
879
- 'unit-test-components/foo': [
880
- {
881
- version: '1.0.0',
882
- environmentVariables: {
883
- 'some-var': 'some-custom-var - updated',
884
- },
885
- },
886
- ],
887
- },
888
- });
889
- expect(mockInfo).toHaveBeenCalledWith(`Component set updated: "${webPath}". Changed from ${JSON.stringify({
890
- 'unit-test-components/foo': [
891
- {
892
- version: '1.0.0',
893
- description: 'some-description',
894
- displayName: 'some-display-name',
895
- editable: false,
896
- },
897
- ],
898
- })} to ${JSON.stringify({
899
- 'unit-test-components/foo': [
900
- {
901
- version: '1.0.0',
902
- description: 'some-description',
903
- displayName: 'some-display-name',
904
- editable: false,
905
- },
906
- ],
907
- })}.`, undefined, undefined, 'componentSetId:newpath ');
908
- expect(mockFlush).toHaveBeenCalled();
909
- });
910
- it('should set latest version as "editable" if editable rule not specified', async () => {
911
- const componentSet = await service.updateComponentSet(webPath, {
912
- displayName: 'some-display-name - updated',
913
- description: 'some-description - updated',
914
- environmentVariables: {
915
- 'some-var': 'some-val',
916
- 'some-var2': 'some-val2',
917
- },
918
- headers: {
919
- 'some-header-name': 'some-header-val - updated',
920
- },
921
- componentVersionRules: {
922
- 'unit-test-components/foo': {
923
- renderableVersionPattern: '*',
924
- excludedVersions: ['3.3.3', '2.2.2'],
925
- editableVersions: 'latest',
926
- },
927
- },
928
- });
929
- expect(componentSet.components).toMatchInlineSnapshot(`
930
- {
931
- "unit-test-components/foo": [
932
- {
933
- "description": "some-description",
934
- "displayName": "some-display-name",
935
- "editable": true,
936
- "environmentVariables": {},
937
- "icon": undefined,
938
- "version": "2.0.0",
939
- },
940
- {
941
- "description": "some-description",
942
- "displayName": "some-display-name",
943
- "editable": false,
944
- "environmentVariables": {
945
- "some-var": "some-custom-var",
946
- },
947
- "icon": undefined,
948
- "version": "1.0.0",
949
- },
950
- ],
951
- }
952
- `);
953
- }, 15000);
954
- it('should set latest version as "editable" if editable rule not specified - with latest "excluded"', async () => {
955
- const componentSet = await service.updateComponentSet(webPath, {
956
- displayName: 'some-display-name - updated',
957
- description: 'some-description - updated',
958
- environmentVariables: {
959
- 'some-var': 'some-val',
960
- 'some-var2': 'some-val2',
961
- },
962
- headers: {
963
- 'some-header-name': 'some-header-val - updated',
964
- },
965
- componentVersionRules: {
966
- 'unit-test-components/foo': {
967
- renderableVersionPattern: '*',
968
- excludedVersions: ['2.0.0'],
969
- editableVersions: 'latest',
970
- },
971
- },
972
- });
973
- expect(componentSet.components).toMatchInlineSnapshot(`
974
- {
975
- "unit-test-components/foo": [
976
- {
977
- "description": "some-description",
978
- "displayName": "some-display-name",
979
- "editable": true,
980
- "environmentVariables": {
981
- "some-var": "some-custom-var",
982
- },
983
- "icon": undefined,
984
- "version": "1.0.0",
985
- },
986
- ],
987
- }
988
- `);
989
- }, 15000);
990
- it('should make components in the set not active if componentVersionRule is updated to not include it', async () => {
991
- const componentSet = await service.updateComponentSet(webPath, {
992
- componentVersionRules: {
993
- 'unit-test-components/foo': {
994
- renderableVersionPattern: '^2.0.0',
995
- excludedVersions: [],
996
- editableVersions: ['latest', '2.0.0', '1.1.1'],
997
- },
998
- },
999
- });
1000
- expect(componentSet.components).toEqual({
1001
- 'unit-test-components/foo': [
1002
- {
1003
- version: '2.0.0',
1004
- environmentVariables: {},
1005
- description: 'some-description',
1006
- displayName: 'some-display-name',
1007
- icon: undefined,
1008
- editable: true,
1009
- },
1010
- ],
1011
- });
1012
- const cscvResult = await db.repositories.componentSetComponentVersion.find({ componentSetWebPath: webPath });
1013
- expect(cscvResult.find((c) => c.componentVersion === '1.0.0')).toHaveProperty('status', ComponentSetComponentVersion_1.ComponentSetComponentVersionStatus.excluded);
1014
- expect(cscvResult.find((c) => c.componentVersion === '2.0.0')).toHaveProperty('status', ComponentSetComponentVersion_1.ComponentSetComponentVersionStatus.active);
1015
- });
1016
- it('should remove components from set if the componentVersionRule is removed', async () => {
1017
- const componentSet = await service.updateComponentSet(webPath, { componentVersionRules: {} });
1018
- expect(componentSet.components).toEqual({});
1019
- expect(componentSet.componentVersionRules).toEqual({});
1020
- });
1021
- it('should exclude the "excluded" component version from the set', async () => {
1022
- // this shouldn't exclude any of the components
1023
- // since "excluded" versions are not there
1024
- const componentSet = await service.updateComponentSet(webPath, {
1025
- componentVersionRules: {
1026
- 'unit-test-components/foo': {
1027
- renderableVersionPattern: '*',
1028
- excludedVersions: ['5.0.0', '3.3.3'],
1029
- editableVersions: ['1.0.0', '2.0.0'],
1030
- },
1031
- },
1032
- });
1033
- expect(componentSet.components).toMatchInlineSnapshot(`
1034
- {
1035
- "unit-test-components/foo": [
1036
- {
1037
- "description": "some-description",
1038
- "displayName": "some-display-name",
1039
- "editable": true,
1040
- "environmentVariables": {},
1041
- "icon": undefined,
1042
- "version": "2.0.0",
1043
- },
1044
- {
1045
- "description": "some-description",
1046
- "displayName": "some-display-name",
1047
- "editable": true,
1048
- "environmentVariables": {
1049
- "some-var": "some-custom-var",
1050
- },
1051
- "icon": undefined,
1052
- "version": "1.0.0",
1053
- },
1054
- ],
1055
- }
1056
- `);
1057
- const cscvResult = await db.repositories.componentSetComponentVersion.find({ componentSetWebPath: webPath });
1058
- const versionV1 = cscvResult.find((result) => result.componentVersion === '1.0.0');
1059
- const versionV2 = cscvResult.find((result) => result.componentVersion === '2.0.0');
1060
- expect(versionV2).toEqual({
1061
- componentSetWebPath: 'set-web-path',
1062
- componentName: 'unit-test-components/foo',
1063
- componentVersion: '2.0.0',
1064
- environmentVariables: {},
1065
- status: ComponentSetComponentVersion_1.ComponentSetComponentVersionStatus.active,
1066
- });
1067
- expect(versionV1).toEqual({
1068
- componentSetWebPath: 'set-web-path',
1069
- componentName: 'unit-test-components/foo',
1070
- componentVersion: '1.0.0',
1071
- environmentVariables: {
1072
- 'some-var': 'some-custom-var',
1073
- },
1074
- status: ComponentSetComponentVersion_1.ComponentSetComponentVersionStatus.active,
1075
- });
1076
- // this should exclude "1.0.0" version
1077
- const componentSet2 = await service.updateComponentSet(webPath, {
1078
- componentVersionRules: {
1079
- 'unit-test-components/foo': {
1080
- renderableVersionPattern: '*',
1081
- excludedVersions: ['1.0.0', '3.3.3'],
1082
- editableVersions: ['1.0.0', '2.0.0'],
1083
- },
1084
- },
1085
- });
1086
- expect(componentSet2.components).toMatchInlineSnapshot(`
1087
- {
1088
- "unit-test-components/foo": [
1089
- {
1090
- "description": "some-description",
1091
- "displayName": "some-display-name",
1092
- "editable": true,
1093
- "environmentVariables": {},
1094
- "icon": undefined,
1095
- "version": "2.0.0",
1096
- },
1097
- ],
1098
- }
1099
- `);
1100
- const cscvResult_2 = await db.repositories.componentSetComponentVersion.find({ componentSetWebPath: webPath });
1101
- const versionV1_2 = cscvResult_2.find((result) => result.componentVersion === '1.0.0');
1102
- const versionV2_2 = cscvResult_2.find((result) => result.componentVersion === '2.0.0');
1103
- expect(versionV2_2).toEqual({
1104
- componentSetWebPath: 'set-web-path',
1105
- componentName: 'unit-test-components/foo',
1106
- componentVersion: '2.0.0',
1107
- environmentVariables: {},
1108
- status: ComponentSetComponentVersion_1.ComponentSetComponentVersionStatus.active,
1109
- });
1110
- expect(versionV1_2).toEqual({
1111
- componentSetWebPath: 'set-web-path',
1112
- componentName: 'unit-test-components/foo',
1113
- componentVersion: '1.0.0',
1114
- environmentVariables: {
1115
- 'some-var': 'some-custom-var',
1116
- },
1117
- status: ComponentSetComponentVersion_1.ComponentSetComponentVersionStatus.excluded,
1118
- });
1119
- }, 15000);
1120
- it('should retain the existing env vars data even after being "excluded" from the set', async () => {
1121
- let componentSet = await service.updateComponentSet(webPath, {
1122
- componentVersionRules: {
1123
- 'unit-test-components/foo': {
1124
- renderableVersionPattern: '*',
1125
- excludedVersions: ['1.0.0'],
1126
- editableVersions: ['1.0.0', '2.0.0'],
1127
- },
1128
- },
1129
- });
1130
- expect(componentSet.components).toMatchInlineSnapshot(`
1131
- {
1132
- "unit-test-components/foo": [
1133
- {
1134
- "description": "some-description",
1135
- "displayName": "some-display-name",
1136
- "editable": true,
1137
- "environmentVariables": {},
1138
- "icon": undefined,
1139
- "version": "2.0.0",
1140
- },
1141
- ],
1142
- }
1143
- `);
1144
- componentSet = await service.updateComponentSet(webPath, {
1145
- componentVersionRules: {
1146
- 'unit-test-components/foo': {
1147
- renderableVersionPattern: '*',
1148
- excludedVersions: [],
1149
- editableVersions: ['1.0.0', '2.0.0'],
1150
- },
1151
- },
1152
- });
1153
- // env var set in "1.0.0" is still there
1154
- expect(componentSet.components).toMatchInlineSnapshot(`
1155
- {
1156
- "unit-test-components/foo": [
1157
- {
1158
- "description": "some-description",
1159
- "displayName": "some-display-name",
1160
- "editable": true,
1161
- "environmentVariables": {},
1162
- "icon": undefined,
1163
- "version": "2.0.0",
1164
- },
1165
- {
1166
- "description": "some-description",
1167
- "displayName": "some-display-name",
1168
- "editable": true,
1169
- "environmentVariables": {
1170
- "some-var": "some-custom-var",
1171
- },
1172
- "icon": undefined,
1173
- "version": "1.0.0",
1174
- },
1175
- ],
1176
- }
1177
- `);
1178
- }, 15000);
1179
- it('should retain the existing env vars data even after being "excluded" from the set - via rules', async () => {
1180
- let componentSet = await service.updateComponentSet(webPath, {
1181
- componentVersionRules: {
1182
- 'unit-test-components/foo': {
1183
- renderableVersionPattern: '2.0.0',
1184
- excludedVersions: [],
1185
- editableVersions: ['1.0.0', '2.0.0'],
1186
- },
1187
- },
1188
- });
1189
- expect(componentSet.components).toMatchInlineSnapshot(`
1190
- {
1191
- "unit-test-components/foo": [
1192
- {
1193
- "description": "some-description",
1194
- "displayName": "some-display-name",
1195
- "editable": true,
1196
- "environmentVariables": {},
1197
- "icon": undefined,
1198
- "version": "2.0.0",
1199
- },
1200
- ],
1201
- }
1202
- `);
1203
- componentSet = await service.updateComponentSet(webPath, {
1204
- componentVersionRules: {
1205
- 'unit-test-components/foo': {
1206
- renderableVersionPattern: '*',
1207
- excludedVersions: [],
1208
- editableVersions: ['1.0.0', '2.0.0'],
1209
- },
1210
- },
1211
- });
1212
- // env var set in "1.0.0" is still there
1213
- expect(componentSet.components).toMatchInlineSnapshot(`
1214
- {
1215
- "unit-test-components/foo": [
1216
- {
1217
- "description": "some-description",
1218
- "displayName": "some-display-name",
1219
- "editable": true,
1220
- "environmentVariables": {},
1221
- "icon": undefined,
1222
- "version": "2.0.0",
1223
- },
1224
- {
1225
- "description": "some-description",
1226
- "displayName": "some-display-name",
1227
- "editable": true,
1228
- "environmentVariables": {
1229
- "some-var": "some-custom-var",
1230
- },
1231
- "icon": undefined,
1232
- "version": "1.0.0",
1233
- },
1234
- ],
1235
- }
1236
- `);
1237
- }, 15000);
1238
- it('should throw error if added componentVersion does not satisfy existing componentVersionRules', async () => {
1239
- const componentSet = await service.updateComponentSet(webPath, {
1240
- componentVersionRules: {
1241
- 'unit-test-components/foo': {
1242
- renderableVersionPattern: '^1.0.0',
1243
- excludedVersions: [],
1244
- editableVersions: [],
1245
- },
1246
- },
1247
- components: { 'unit-test-components/foo': [{ version: '1.0.0', environmentVariables: {} }] },
1248
- });
1249
- const componentVersions = [
1250
- ...componentSet.components['unit-test-components/foo'],
1251
- {
1252
- version: '2.0.0',
1253
- environmentVariables: {},
1254
- },
1255
- ];
1256
- await expect(service.updateComponentSet(webPath, {
1257
- components: {
1258
- 'unit-test-components/foo': componentVersions,
1259
- },
1260
- })).rejects.toThrowErrorMatchingInlineSnapshot(`"Component versions must satisfy version rule"`);
1261
- });
1262
- it('should allow setting componentVersion env vars if it satisfies added componentVersionRules in same update', async () => {
1263
- await service.updateComponentSet(webPath, {
1264
- componentVersionRules: {
1265
- 'unit-test-components/foo': {
1266
- renderableVersionPattern: '*',
1267
- excludedVersions: [],
1268
- editableVersions: [],
1269
- },
1270
- },
1271
- });
1272
- const result = await service.updateComponentSet(webPath, {
1273
- componentVersionRules: {
1274
- 'unit-test-components/foo': {
1275
- renderableVersionPattern: '*',
1276
- excludedVersions: [],
1277
- editableVersions: [],
1278
- },
1279
- },
1280
- components: {
1281
- 'unit-test-components/foo': [
1282
- {
1283
- version: '1.0.0',
1284
- environmentVariables: {
1285
- 'some-var': 'some-custom-var-1',
1286
- },
1287
- },
1288
- {
1289
- version: '2.0.0',
1290
- environmentVariables: {
1291
- 'some-var': 'some-custom-var-2',
1292
- },
1293
- },
1294
- ],
1295
- },
1296
- });
1297
- expect(result.components).toMatchInlineSnapshot(`
1298
- {
1299
- "unit-test-components/foo": [
1300
- {
1301
- "description": "some-description",
1302
- "displayName": "some-display-name",
1303
- "editable": false,
1304
- "environmentVariables": {
1305
- "some-var": "some-custom-var-2",
1306
- },
1307
- "icon": undefined,
1308
- "version": "2.0.0",
1309
- },
1310
- {
1311
- "description": "some-description",
1312
- "displayName": "some-display-name",
1313
- "editable": false,
1314
- "environmentVariables": {
1315
- "some-var": "some-custom-var-1",
1316
- },
1317
- "icon": undefined,
1318
- "version": "1.0.0",
1319
- },
1320
- ],
1321
- }
1322
- `);
1323
- });
1324
- it('should throw error if specified componentVersion does not satisfy a new componentVersionRule', async () => {
1325
- const version = [
1326
- {
1327
- version: '2.0.0',
1328
- environmentVariables: {},
1329
- },
1330
- ];
1331
- await expect(service.updateComponentSet(webPath, {
1332
- componentVersionRules: {
1333
- 'unit-test-components/foo': {
1334
- renderableVersionPattern: '^1.0.0',
1335
- excludedVersions: [],
1336
- editableVersions: [],
1337
- },
1338
- },
1339
- components: {
1340
- 'unit-test-components/foo': version,
1341
- },
1342
- })).rejects.toThrowErrorMatchingInlineSnapshot(`"Component versions must satisfy version rule"`);
1343
- });
1344
- it('should throw error if component set web path does not exist', async () => {
1345
- await expect(service.updateComponentSet('idontexist', {
1346
- displayName: 'some-display-name',
1347
- description: 'some-description',
1348
- environmentVariables: {
1349
- 'some-var': 'some-val',
1350
- },
1351
- headers: {
1352
- 'some-header-name': 'some-header-val',
1353
- },
1354
- components: {
1355
- 'unit-test-components/foo2': [
1356
- {
1357
- version: '1.0.0',
1358
- environmentVariables: {},
1359
- },
1360
- ],
1361
- },
1362
- componentVersionRules: {},
1363
- })).rejects.toThrowErrorMatchingInlineSnapshot('"Component set with web path idontexist does not exist"');
1364
- }, 15000);
1365
- it('should throw error if component name does not exist', async () => {
1366
- await expect(service.updateComponentSet(webPath, {
1367
- displayName: 'some-display-name',
1368
- description: 'some-description',
1369
- environmentVariables: {
1370
- 'some-var': 'some-val',
1371
- },
1372
- headers: {
1373
- 'some-header-name': 'some-header-val',
1374
- },
1375
- components: {
1376
- 'unit-test-components/foo2': [
1377
- {
1378
- version: '1.0.0',
1379
- environmentVariables: {},
1380
- },
1381
- ],
1382
- },
1383
- componentVersionRules: {},
1384
- })).rejects.toThrowErrorMatchingInlineSnapshot('"Component unit-test-components/foo2 with version 1.0.0 does not exists"');
1385
- }, 15000);
1386
- it('should throw error if component version does not exist', async () => {
1387
- await expect(service.updateComponentSet(webPath, {
1388
- displayName: 'some-display-name',
1389
- description: 'some-description',
1390
- environmentVariables: {
1391
- 'some-var': 'some-val',
1392
- },
1393
- headers: {
1394
- 'some-header-name': 'some-header-val',
1395
- },
1396
- components: {
1397
- 'unit-test-components/foo2': [
1398
- {
1399
- version: '1.1.1',
1400
- environmentVariables: {},
1401
- },
1402
- ],
1403
- },
1404
- componentVersionRules: {},
1405
- })).rejects.toThrowErrorMatchingInlineSnapshot('"Component unit-test-components/foo2 with version 1.1.1 does not exists"');
1406
- }, 15000);
1407
- it('should throw error if env var set on component version is not defined on the component set', async () => {
1408
- await expect(service.updateComponentSet(webPath, {
1409
- displayName: 'some-display-name',
1410
- description: 'some-description',
1411
- environmentVariables: {
1412
- 'some-var': 'some-val',
1413
- },
1414
- headers: {
1415
- 'some-header-name': 'some-header-val',
1416
- },
1417
- components: {
1418
- 'unit-test-components/foo2': [
1419
- {
1420
- version: '1.0.0',
1421
- environmentVariables: {
1422
- 'some-var': 'some-val',
1423
- 'some-other-var': 'some-val',
1424
- },
1425
- },
1426
- ],
1427
- },
1428
- componentVersionRules: {},
1429
- })).rejects.toThrowErrorMatchingInlineSnapshot('"Env var(s) \'some-other-var\' defined on component unit-test-components/foo2 with version 1.0.0 is/are not defined on the component set"');
1430
- }, 15000);
1431
- it('should throw error if componentVersionRules has an invalid semver range', async () => {
1432
- await expect(service.updateComponentSet(webPath, {
1433
- componentVersionRules: {
1434
- 'unit-test-components/foo': {
1435
- renderableVersionPattern: 'abcd',
1436
- excludedVersions: [],
1437
- editableVersions: [],
1438
- },
1439
- },
1440
- })).rejects.toThrowErrorMatchingInlineSnapshot(`"Invalid renderable component version semver value: abcd"`);
1441
- });
1442
- it('should throw error if the header name contains invalid characters', async () => {
1443
- await expect(service.updateComponentSet(webPath, {
1444
- headers: {
1445
- 'inv@lid-n@m3': 'value',
1446
- },
1447
- })).rejects.toThrowErrorMatchingInlineSnapshot(`"Invalid 'header' name for 'inv@lid-n@m3'. Only [A-Za-z0-9_-.] chars are allowed"`);
1448
- });
1449
- it('should throw error if the header name contains whitespace', async () => {
1450
- await expect(service.updateComponentSet(webPath, {
1451
- headers: {
1452
- 'variable name': 'value',
1453
- },
1454
- })).rejects.toThrowErrorMatchingInlineSnapshot(`"Invalid 'header' name for 'variable name'. Only [A-Za-z0-9_-.] chars are allowed"`);
1455
- });
1456
- });
1457
- describe('getComponentSet', () => {
1458
- const webPath = 'set-web-path';
1459
- const setWithIconWebPath = (0, crypto_1.randomUUID)();
1460
- beforeAll(async () => {
1461
- await service.addComponentSet({
1462
- webPath: webPath,
1463
- displayName: 'some-display-name',
1464
- description: 'some-description',
1465
- environmentVariables: {
1466
- 'some-var': 'some-val',
1467
- },
1468
- headers: {
1469
- 'some-header-name': 'some-header-val',
1470
- },
1471
- components: {
1472
- 'unit-test-components/foo': [
1473
- {
1474
- version: '1.0.0',
1475
- environmentVariables: {},
1476
- },
1477
- ],
1478
- },
1479
- componentVersionRules: {
1480
- 'unit-test-components/foo': {
1481
- renderableVersionPattern: '^1.0.0',
1482
- excludedVersions: [],
1483
- editableVersions: [],
1484
- },
1485
- },
1486
- });
1487
- });
1488
- afterAll(async () => {
1489
- await db.repositories.componentSet.delete({ webPath });
1490
- await db.repositories.componentSet.delete({ webPath: setWithIconWebPath });
1491
- await db.repositories.componentSetComponentVersion.delete({ componentSetWebPath: webPath });
1492
- });
1493
- it('should return the component set object', async () => {
1494
- const componentSet = await service.getComponentSetWebModel(webPath);
1495
- expect(componentSet).toEqual({
1496
- webPath: webPath,
1497
- displayName: 'some-display-name',
1498
- description: 'some-description',
1499
- environmentVariables: {
1500
- 'some-var': 'some-val',
1501
- },
1502
- headers: {
1503
- 'some-header-name': 'some-header-val',
1504
- },
1505
- components: {
1506
- 'unit-test-components/foo': [
1507
- {
1508
- environmentVariables: {},
1509
- version: '1.0.0',
1510
- description: 'some-description',
1511
- displayName: 'some-display-name',
1512
- icon: undefined,
1513
- editable: false,
1514
- },
1515
- ],
1516
- },
1517
- componentVersionRules: {
1518
- 'unit-test-components/foo': {
1519
- renderableVersionPattern: '^1.0.0',
1520
- excludedVersions: [],
1521
- editableVersions: [],
1522
- },
1523
- },
1524
- });
1525
- }, 15000);
1526
- it('should return the icon, displayName and description of each component version in the set', async () => {
1527
- const componentSetFromCreate = await service.addComponentSet({
1528
- webPath: setWithIconWebPath,
1529
- description: 'component set description',
1530
- displayName: 'test - ' + setWithIconWebPath,
1531
- componentVersionRules: {
1532
- 'unit-test-components/test-icon-component': {
1533
- renderableVersionPattern: '1.0.0 || 1.0.3',
1534
- excludedVersions: [],
1535
- editableVersions: [],
1536
- },
1537
- },
1538
- });
1539
- const expected = {
1540
- webPath: setWithIconWebPath,
1541
- description: 'component set description',
1542
- displayName: 'test - ' + setWithIconWebPath,
1543
- componentVersionRules: {
1544
- 'unit-test-components/test-icon-component': {
1545
- renderableVersionPattern: '1.0.0 || 1.0.3',
1546
- excludedVersions: [],
1547
- editableVersions: [],
1548
- },
1549
- },
1550
- environmentVariables: {},
1551
- headers: {},
1552
- components: {
1553
- 'unit-test-components/test-icon-component': [
1554
- {
1555
- version: '1.0.3',
1556
- environmentVariables: {},
1557
- description: 'test with hex icon colour',
1558
- displayName: 'test icon component',
1559
- icon: {
1560
- color: {
1561
- type: 'hex',
1562
- value: '#2D2D2D',
1563
- },
1564
- id: 'zoom_in',
1565
- },
1566
- editable: false,
1567
- },
1568
- {
1569
- version: '1.0.0',
1570
- environmentVariables: {},
1571
- description: 'test icon component with enum colour',
1572
- displayName: 'test icon component',
1573
- icon: {
1574
- color: {
1575
- type: 'enum',
1576
- value: 'gray',
1577
- },
1578
- id: 'add_box',
1579
- },
1580
- editable: false,
1581
- },
1582
- ],
1583
- },
1584
- };
1585
- expect(componentSetFromCreate).toEqual(expected);
1586
- const requestedSet = await service.getComponentSetWebModel(setWithIconWebPath);
1587
- expect(requestedSet).toEqual(expected);
1588
- }, 15000);
1589
- it('should throw error if component set web path does not exist', async () => {
1590
- await expect(service.getComponentSetWebModel('idontexist')).rejects.toThrowErrorMatchingInlineSnapshot('"Component set with web path idontexist does not exist"');
1591
- }, 15000);
1592
- });
1593
- describe('getAllComponentSets', () => {
1594
- const webPath = 'set-web-path';
1595
- beforeAll(async () => {
1596
- await service.addComponentSet({
1597
- webPath: webPath,
1598
- displayName: 'some-display-name',
1599
- description: 'some-description',
1600
- environmentVariables: {
1601
- 'some-var': 'some-val',
1602
- },
1603
- headers: {
1604
- 'some-header-name': 'some-header-val',
1605
- },
1606
- componentVersionRules: {
1607
- 'unit-test-components/foo': {
1608
- renderableVersionPattern: '1.0.0',
1609
- excludedVersions: [],
1610
- editableVersions: [],
1611
- },
1612
- },
1613
- });
1614
- });
1615
- afterAll(async () => {
1616
- await db.repositories.componentSet.delete({ webPath });
1617
- await db.repositories.componentSetComponentVersion.delete({ componentSetWebPath: webPath });
1618
- });
1619
- it('should return all the component set objects', async () => {
1620
- const componentSets = await service.getAllComponentSets();
1621
- expect(componentSets.filter((c) => c.webPath === webPath)).toEqual([
1622
- {
1623
- webPath: webPath,
1624
- displayName: 'some-display-name',
1625
- description: 'some-description',
1626
- environmentVariables: {
1627
- 'some-var': 'some-val',
1628
- },
1629
- headers: {
1630
- 'some-header-name': 'some-header-val',
1631
- },
1632
- components: {
1633
- 'unit-test-components/foo': [
1634
- {
1635
- version: '1.0.0',
1636
- environmentVariables: {},
1637
- description: 'some-description',
1638
- displayName: 'some-display-name',
1639
- icon: undefined,
1640
- editable: false,
1641
- },
1642
- ],
1643
- },
1644
- componentVersionRules: {
1645
- 'unit-test-components/foo': {
1646
- renderableVersionPattern: '1.0.0',
1647
- excludedVersions: [],
1648
- editableVersions: [],
1649
- },
1650
- },
1651
- },
1652
- ]);
1653
- });
1654
- });
1655
- describe('componentVersionInSet', () => {
1656
- let componentVersionSet;
1657
- let manifest100;
1658
- let manifest110;
1659
- beforeAll(async () => {
1660
- manifest100 = await manifestService.loadManifest('unit-test-components', 'test-component', '1.0.0');
1661
- manifest110 = await manifestService.loadManifest('unit-test-components', 'test-component', '1.1.0');
1662
- componentVersionSet = await service.addComponentSet({
1663
- webPath: (0, crypto_1.randomUUID)(),
1664
- displayName: 'some-display-name',
1665
- description: 'some-description',
1666
- environmentVariables: {},
1667
- headers: {},
1668
- componentVersionRules: {
1669
- 'unit-test-components/test-component': {
1670
- renderableVersionPattern: '1.0.0',
1671
- excludedVersions: [],
1672
- editableVersions: [],
1673
- },
1674
- },
1675
- });
1676
- });
1677
- afterAll(async () => {
1678
- await service.deleteComponentSet(componentVersionSet.webPath);
1679
- });
1680
- it('should check if component version exists in the set', async () => {
1681
- const resultTrue = await service.componentVersionInSet(manifest100, componentVersionSet.webPath);
1682
- expect(resultTrue).toEqual(true);
1683
- const resultFalse = await service.componentVersionInSet(manifest110, componentVersionSet.webPath);
1684
- expect(resultFalse).toEqual(false);
1685
- });
1686
- });
1687
- describe('getComponentsRuntimeSetData', () => {
1688
- const webPath = (0, crypto_1.randomUUID)();
1689
- const componentName = 'test-environment-variables';
1690
- const componentRoot = path_1.default.resolve(path_1.default.join(__dirname, '..', '..', '..', '..', '..', '..', 'test-components'));
1691
- const manifestService = new manifest_1.ManifestServiceForProduction(componentRoot, logger);
1692
- let testEnvVar100;
1693
- let testEnvVar102;
1694
- let testSet;
1695
- beforeAll(async () => {
1696
- testEnvVar100 = await manifestService.loadManifest('unit-test-components', 'test-environment-variables', '1.0.0');
1697
- testEnvVar102 = await manifestService.loadManifest('unit-test-components', 'test-environment-variables', '1.0.2');
1698
- testSet = await service.addComponentSet({
1699
- webPath: webPath,
1700
- displayName: 'some-display-name',
1701
- description: 'some-description',
1702
- environmentVariables: {
1703
- TEST_VARIABLE: 'value',
1704
- ADDITIONAL_VAR: '123',
1705
- },
1706
- headers: {},
1707
- components: {},
1708
- componentVersionRules: {},
1709
- });
1710
- });
1711
- afterAll(async () => {
1712
- await service.deleteComponentSet(testSet.webPath);
1713
- });
1714
- it('should return run time component set with component environment variable thats been overridden', async () => {
1715
- const manifest = await manifestService.loadManifest(namespace, componentName, '1.0.0');
1716
- const update = {
1717
- displayName: 'some-display-name',
1718
- description: 'some-description',
1719
- environmentVariables: {
1720
- TEST_VARIABLE: 'some-default-val',
1721
- },
1722
- headers: {},
1723
- components: {
1724
- [`${namespace}/${componentName}`]: [
1725
- {
1726
- version: '1.0.0',
1727
- environmentVariables: {
1728
- TEST_VARIABLE: '1.0.0 value',
1729
- },
1730
- },
1731
- ],
1732
- },
1733
- componentVersionRules: {
1734
- [`${namespace}/${componentName}`]: {
1735
- renderableVersionPattern: '1.0.0',
1736
- excludedVersions: [],
1737
- editableVersions: [],
1738
- },
1739
- },
1740
- };
1741
- await service.updateComponentSet(testSet.webPath, update);
1742
- const nextSet = await service.getComponentSet(testSet.webPath);
1743
- const compRuntimeSetData = await service.getComponentsRuntimeSetData(manifest, nextSet);
1744
- expect(compRuntimeSetData.displayName).toEqual('some-display-name');
1745
- expect(compRuntimeSetData.webPath).toEqual(testSet.webPath);
1746
- expect(compRuntimeSetData.environment).toEqual({ TEST_VARIABLE: '1.0.0 value' });
1747
- });
1748
- it('should return render runtime set with requested variable', async () => {
1749
- const manifest = await manifestService.loadManifest(namespace, componentName, '1.0.0');
1750
- const update = {
1751
- displayName: 'some-display-name',
1752
- description: 'some-description',
1753
- environmentVariables: {
1754
- TEST_VARIABLE: 'some-default-val',
1755
- },
1756
- headers: {
1757
- 'some-header-name': 'some-header-val',
1758
- },
1759
- components: {
1760
- [`${namespace}/${componentName}`]: [
1761
- {
1762
- version: '1.0.0',
1763
- environmentVariables: {},
1764
- },
1765
- ],
1766
- },
1767
- componentVersionRules: {
1768
- [`${namespace}/${componentName}`]: {
1769
- renderableVersionPattern: '1.0.0',
1770
- excludedVersions: [],
1771
- editableVersions: [],
1772
- },
1773
- },
1774
- };
1775
- await service.updateComponentSet(testSet.webPath, update);
1776
- const nextSet = await service.getComponentSet(testSet.webPath);
1777
- const compRuntimeSetData = await service.getComponentsRuntimeSetData(manifest, nextSet);
1778
- expect(compRuntimeSetData.displayName).toEqual('some-display-name');
1779
- expect(compRuntimeSetData.webPath).toEqual(testSet.webPath);
1780
- expect(compRuntimeSetData.environment).toEqual({ TEST_VARIABLE: 'some-default-val' });
1781
- });
1782
- it('should return render runtime set with only component requested variables', async () => {
1783
- const manifest = await manifestService.loadManifest(namespace, componentName, '1.0.0');
1784
- const update = {
1785
- displayName: 'some-display-name',
1786
- description: 'some-description',
1787
- environmentVariables: {
1788
- TEST_VARIABLE: 'some value',
1789
- 'some-var1': 'some value1',
1790
- 'some-var2': 'some value2',
1791
- 'some-var3': 'some value3',
1792
- },
1793
- headers: {
1794
- 'some-header-name': 'some-header-val',
1795
- },
1796
- components: {
1797
- [`${namespace}/${componentName}`]: [
1798
- {
1799
- version: '1.0.0',
1800
- environmentVariables: {},
1801
- },
1802
- ],
1803
- },
1804
- componentVersionRules: {
1805
- [`${namespace}/${componentName}`]: {
1806
- renderableVersionPattern: '1.0.0',
1807
- excludedVersions: [],
1808
- editableVersions: [],
1809
- },
1810
- },
1811
- };
1812
- await service.updateComponentSet(testSet.webPath, update);
1813
- const nextSet = await service.getComponentSet(testSet.webPath);
1814
- const compRuntimeSetData = await service.getComponentsRuntimeSetData(manifest, nextSet);
1815
- expect(compRuntimeSetData.displayName).toEqual('some-display-name');
1816
- expect(compRuntimeSetData.webPath).toEqual(testSet.webPath);
1817
- expect(compRuntimeSetData.environment).toEqual({
1818
- TEST_VARIABLE: 'some value',
1819
- });
1820
- });
1821
- it('should return nothing if no env vars requested', async () => {
1822
- const manifest = await manifestService.loadManifest(namespace, componentName, '1.0.1');
1823
- const update = {
1824
- displayName: 'some-display-name',
1825
- description: 'some-description',
1826
- environmentVariables: {
1827
- TEST_VARIABLE: 'some value',
1828
- 'some-var1': 'some value1',
1829
- 'some-var2': 'some value2',
1830
- 'some-var3': 'some value3',
1831
- },
1832
- headers: {
1833
- 'some-header-name': 'some-header-val',
1834
- },
1835
- components: {
1836
- [`${namespace}/${componentName}`]: [
1837
- {
1838
- version: '1.0.1',
1839
- environmentVariables: {},
1840
- },
1841
- ],
1842
- },
1843
- componentVersionRules: {
1844
- [`${namespace}/${componentName}`]: {
1845
- renderableVersionPattern: '1.0.1',
1846
- excludedVersions: [],
1847
- editableVersions: [],
1848
- },
1849
- },
1850
- };
1851
- await service.updateComponentSet(testSet.webPath, update);
1852
- const nextSet = await service.getComponentSet(testSet.webPath);
1853
- const compRuntimeSetData = await service.getComponentsRuntimeSetData(manifest, nextSet);
1854
- expect(compRuntimeSetData.displayName).toEqual('some-display-name');
1855
- expect(compRuntimeSetData.webPath).toEqual(testSet.webPath);
1856
- expect(compRuntimeSetData.environment).toEqual({});
1857
- });
1858
- it('should allow multiple components to have different values for same env var', async () => {
1859
- const manifest = await manifestService.loadManifest(namespace, componentName, '1.0.0');
1860
- const manifest2 = await manifestService.loadManifest(namespace, componentName, '1.0.2');
1861
- const update = {
1862
- displayName: 'some-display-name',
1863
- description: 'some-description',
1864
- environmentVariables: {
1865
- TEST_VARIABLE: 'some value',
1866
- 'some-var1': 'some value1',
1867
- },
1868
- headers: {
1869
- 'some-header-name': 'some-header-val',
1870
- },
1871
- components: {
1872
- [`${namespace}/${componentName}`]: [
1873
- {
1874
- version: '1.0.0',
1875
- environmentVariables: { TEST_VARIABLE: '1.0.0' },
1876
- },
1877
- {
1878
- version: '1.0.2',
1879
- environmentVariables: { TEST_VARIABLE: '1.0.2' },
1880
- },
1881
- ],
1882
- },
1883
- componentVersionRules: {
1884
- [`${namespace}/${componentName}`]: {
1885
- renderableVersionPattern: '1.0.0 || 1.0.2',
1886
- excludedVersions: [],
1887
- editableVersions: [],
1888
- },
1889
- },
1890
- };
1891
- await service.updateComponentSet(testSet.webPath, update);
1892
- const nextSet = await service.getComponentSet(testSet.webPath);
1893
- const compRuntimeSetData = await service.getComponentsRuntimeSetData(manifest, nextSet);
1894
- expect(compRuntimeSetData.displayName).toEqual('some-display-name');
1895
- expect(compRuntimeSetData.webPath).toEqual(testSet.webPath);
1896
- expect(compRuntimeSetData.environment).toEqual({ TEST_VARIABLE: '1.0.0' });
1897
- const compRuntimeSetData2 = await service.getComponentsRuntimeSetData(manifest2, nextSet);
1898
- expect(compRuntimeSetData2.displayName).toEqual('some-display-name');
1899
- expect(compRuntimeSetData2.webPath).toEqual(testSet.webPath);
1900
- expect(compRuntimeSetData2.environment).toEqual({ TEST_VARIABLE: '1.0.2' });
1901
- });
1902
- it('should throw an error if env var is not available', async () => {
1903
- const manifest = await manifestService.loadManifest(namespace, componentName, '1.0.0');
1904
- const update = {
1905
- displayName: 'some-display-name',
1906
- description: 'some-description',
1907
- environmentVariables: {},
1908
- headers: {
1909
- 'some-header-name': 'some-header-val',
1910
- },
1911
- components: {
1912
- [`${namespace}/${componentName}`]: [
1913
- {
1914
- version: '1.0.0',
1915
- environmentVariables: {},
1916
- },
1917
- {
1918
- version: '1.0.2',
1919
- environmentVariables: {},
1920
- },
1921
- ],
1922
- },
1923
- componentVersionRules: {
1924
- [`${namespace}/${componentName}`]: {
1925
- renderableVersionPattern: '1.0.0 || 1.0.2',
1926
- excludedVersions: [],
1927
- editableVersions: [],
1928
- },
1929
- },
1930
- };
1931
- await service.updateComponentSet(testSet.webPath, update);
1932
- const nextSet = await service.getComponentSet(testSet.webPath);
1933
- await expect(service.getComponentsRuntimeSetData(manifest, nextSet)).rejects.toThrowError(new Error('Missing required environment variables: "TEST_VARIABLE"'));
1934
- });
1935
- it('should throw an error if only override is provided', async () => {
1936
- const manifest = await manifestService.loadManifest(namespace, componentName, '1.0.0');
1937
- const update = {
1938
- displayName: 'some-display-name',
1939
- description: 'some-description',
1940
- environmentVariables: { TEST_VARIABLE: 'value' },
1941
- headers: {
1942
- 'some-header-name': 'some-header-val',
1943
- },
1944
- components: {
1945
- [`${namespace}/${componentName}`]: [
1946
- {
1947
- version: '1.0.0',
1948
- environmentVariables: { TEST_VARIABLE: 'value' },
1949
- },
1950
- ],
1951
- },
1952
- componentVersionRules: {
1953
- [`${namespace}/${componentName}`]: {
1954
- renderableVersionPattern: '1.0.0',
1955
- excludedVersions: [],
1956
- editableVersions: [],
1957
- },
1958
- },
1959
- };
1960
- await service.updateComponentSet(testSet.webPath, update);
1961
- const nextSet = await service.getComponentSet(testSet.webPath);
1962
- nextSet.environmentVariables = {};
1963
- await expect(service.getComponentsRuntimeSetData(manifest, nextSet)).rejects.toThrowError(new Error('Missing required environment variables: "TEST_VARIABLE"'));
1964
- });
1965
- it('should not throw an error for missing env vars if env vars are defined as non-mandatory', async () => {
1966
- // this component manifest defines a non-mandatory env var
1967
- const manifest = await manifestService.loadManifest(namespace, componentName, '1.0.3');
1968
- const update = {
1969
- displayName: 'some-display-name',
1970
- description: 'some-description',
1971
- environmentVariables: {},
1972
- headers: {
1973
- 'some-header-name': 'some-header-val',
1974
- },
1975
- components: {
1976
- [`${namespace}/${componentName}`]: [
1977
- {
1978
- version: '1.0.3',
1979
- environmentVariables: {},
1980
- },
1981
- ],
1982
- },
1983
- componentVersionRules: {
1984
- [`${namespace}/${componentName}`]: {
1985
- renderableVersionPattern: '1.0.3',
1986
- excludedVersions: [],
1987
- editableVersions: [],
1988
- },
1989
- },
1990
- };
1991
- await service.updateComponentSet(testSet.webPath, update);
1992
- const nextSet = await service.getComponentSet(testSet.webPath);
1993
- const compRuntimeSetData = await service.getComponentsRuntimeSetData(manifest, nextSet);
1994
- expect(compRuntimeSetData.displayName).toEqual('some-display-name');
1995
- expect(compRuntimeSetData.webPath).toEqual(testSet.webPath);
1996
- expect(compRuntimeSetData.environment).toEqual({});
1997
- });
1998
- it('should throw error for all missing mandatory env vars', async () => {
1999
- // manifest defines M_VAR and M_VAR2 as mandatory vars and NM_VAR as non-mandatory
2000
- const manifest = await manifestService.loadManifest(namespace, componentName, '1.0.4');
2001
- const update = {
2002
- displayName: 'some-display-name',
2003
- description: 'some-description',
2004
- environmentVariables: {},
2005
- headers: {
2006
- 'some-header-name': 'some-header-val',
2007
- },
2008
- components: {
2009
- [`${namespace}/${componentName}`]: [
2010
- {
2011
- version: '1.0.4',
2012
- },
2013
- ],
2014
- },
2015
- componentVersionRules: {
2016
- [`${namespace}/${componentName}`]: {
2017
- renderableVersionPattern: '1.0.4',
2018
- excludedVersions: [],
2019
- editableVersions: [],
2020
- },
2021
- },
2022
- };
2023
- await service.updateComponentSet(testSet.webPath, update);
2024
- const nextSet = await service.getComponentSet(testSet.webPath);
2025
- await expect(service.getComponentsRuntimeSetData(manifest, nextSet)).rejects.toThrowError(new Error('Missing required environment variables: "M_VAR","M_VAR2"'));
2026
- });
2027
- it('should have runtime set return all defined env vars in the manifest that are provided', async () => {
2028
- // manifest defines M_VAR and M_VAR2 as mandatory vars and NM_VAR as non-mandatory
2029
- const manifest = await manifestService.loadManifest(namespace, componentName, '1.0.4');
2030
- const update = {
2031
- displayName: 'some-display-name',
2032
- description: 'some-description',
2033
- environmentVariables: {
2034
- M_VAR: 'm-var-val',
2035
- M_VAR2: 'm-var2-val',
2036
- NM_VAR: 'nm-var-val',
2037
- },
2038
- headers: {
2039
- 'some-header-name': 'some-header-val',
2040
- },
2041
- components: {
2042
- [`${namespace}/${componentName}`]: [
2043
- {
2044
- version: '1.0.4',
2045
- },
2046
- ],
2047
- },
2048
- componentVersionRules: {
2049
- [`${namespace}/${componentName}`]: {
2050
- renderableVersionPattern: '1.0.4',
2051
- excludedVersions: [],
2052
- editableVersions: [],
2053
- },
2054
- },
2055
- };
2056
- await service.updateComponentSet(testSet.webPath, update);
2057
- const nextSet = await service.getComponentSet(testSet.webPath);
2058
- const compRuntimeSetData = await service.getComponentsRuntimeSetData(manifest, nextSet);
2059
- expect(compRuntimeSetData.displayName).toEqual('some-display-name');
2060
- expect(compRuntimeSetData.webPath).toEqual(testSet.webPath);
2061
- expect(compRuntimeSetData.environment).toEqual({
2062
- M_VAR: 'm-var-val',
2063
- M_VAR2: 'm-var2-val',
2064
- NM_VAR: 'nm-var-val',
2065
- });
2066
- });
2067
- it('should have runtime set not return non-mandatory env vars that are not provided', async () => {
2068
- // manifest defines M_VAR and M_VAR2 as mandatory vars and NM_VAR as non-mandatory
2069
- const manifest = await manifestService.loadManifest(namespace, componentName, '1.0.4');
2070
- const update = {
2071
- displayName: 'some-display-name',
2072
- description: 'some-description',
2073
- environmentVariables: {
2074
- M_VAR: 'm-var-val',
2075
- M_VAR2: 'm-var2-val',
2076
- },
2077
- headers: {
2078
- 'some-header-name': 'some-header-val',
2079
- },
2080
- components: {
2081
- [`${namespace}/${componentName}`]: [
2082
- {
2083
- version: '1.0.4',
2084
- },
2085
- ],
2086
- },
2087
- componentVersionRules: {
2088
- [`${namespace}/${componentName}`]: {
2089
- renderableVersionPattern: '1.0.4',
2090
- excludedVersions: [],
2091
- editableVersions: [],
2092
- },
2093
- },
2094
- };
2095
- await service.updateComponentSet(testSet.webPath, update);
2096
- const nextSet = await service.getComponentSet(testSet.webPath);
2097
- const compRuntimeSetData = await service.getComponentsRuntimeSetData(manifest, nextSet);
2098
- expect(compRuntimeSetData.displayName).toEqual('some-display-name');
2099
- expect(compRuntimeSetData.webPath).toEqual(testSet.webPath);
2100
- expect(compRuntimeSetData.environment).toEqual({
2101
- M_VAR: 'm-var-val',
2102
- M_VAR2: 'm-var2-val',
2103
- });
2104
- });
2105
- describe('getComponentsRuntimeSetData environment variables', () => {
2106
- let set;
2107
- let testComponent100;
2108
- beforeAll(async () => {
2109
- testComponent100 = await manifestService.loadManifest('unit-test-components', 'test-component', '1.0.0');
2110
- const setWebModel = await service.addComponentSet({
2111
- webPath: (0, crypto_1.randomUUID)(),
2112
- displayName: 'some-display-name',
2113
- description: 'some-description',
2114
- environmentVariables: {
2115
- TEST_VARIABLE: 'value',
2116
- ADDITIONAL_VAR: '123',
2117
- },
2118
- headers: {},
2119
- components: {
2120
- 'unit-test-components/test-environment-variables': [
2121
- {
2122
- version: '1.0.0',
2123
- environmentVariables: { TEST_VARIABLE: 'test-component-override-1.0.1' },
2124
- },
2125
- {
2126
- version: '1.0.2',
2127
- environmentVariables: { TEST_VARIABLE: 'test-component-override-1.0.2' },
2128
- },
2129
- ],
2130
- 'unit-test-components/test-component': [
2131
- {
2132
- version: '1.0.0',
2133
- environmentVariables: {},
2134
- },
2135
- ],
2136
- },
2137
- componentVersionRules: {
2138
- 'unit-test-components/test-environment-variables': {
2139
- renderableVersionPattern: '1.0.0 || 1.0.2',
2140
- excludedVersions: [],
2141
- editableVersions: [],
2142
- },
2143
- 'unit-test-components/test-component': {
2144
- renderableVersionPattern: '1.0.0',
2145
- excludedVersions: [],
2146
- editableVersions: [],
2147
- },
2148
- },
2149
- });
2150
- set = await service.getComponentSet(setWebModel.webPath);
2151
- });
2152
- afterAll(async () => {
2153
- await service.deleteComponentSet(set.webPath);
2154
- });
2155
- it('should not return any environment variables if none are requested by component', async () => {
2156
- const runtimeSetData = await service.getComponentsRuntimeSetData(testComponent100, set);
2157
- expect(runtimeSetData).toEqual({
2158
- displayName: 'some-display-name',
2159
- webPath: set.webPath,
2160
- environment: {},
2161
- });
2162
- });
2163
- it('should not return any environment variables if none are requested by component even if value overridden for component', async () => {
2164
- const update = {
2165
- displayName: 'some-display-name',
2166
- description: 'some-description',
2167
- environmentVariables: {
2168
- TEST_VARIABLE: 'value',
2169
- ADDITIONAL_VAR: '123',
2170
- },
2171
- headers: {},
2172
- components: {
2173
- 'unit-test-components/test-component': [
2174
- {
2175
- version: '1.0.0',
2176
- environmentVariables: { ADDITIONAL_VAR: 'a value' },
2177
- },
2178
- ],
2179
- },
2180
- componentVersionRules: {
2181
- 'unit-test-components/test-component': {
2182
- renderableVersionPattern: '1.0.0',
2183
- excludedVersions: [],
2184
- editableVersions: [],
2185
- },
2186
- },
2187
- };
2188
- await service.updateComponentSet(set.webPath, update);
2189
- const runtimeSet = await service.getComponentSet(set.webPath);
2190
- const runtimeSetData = await service.getComponentsRuntimeSetData(testComponent100, runtimeSet);
2191
- expect(runtimeSetData).toEqual({
2192
- displayName: 'some-display-name',
2193
- webPath: set.webPath,
2194
- environment: {},
2195
- });
2196
- });
2197
- it('should allow components to have individual environment variable value overrides', async () => {
2198
- const update = {
2199
- displayName: 'some-display-name',
2200
- description: 'some-description',
2201
- environmentVariables: {
2202
- TEST_VARIABLE: 'value',
2203
- ADDITIONAL_VAR: '123',
2204
- },
2205
- headers: {},
2206
- components: {
2207
- 'unit-test-components/test-environment-variables': [
2208
- {
2209
- version: '1.0.0',
2210
- environmentVariables: { TEST_VARIABLE: 'test-component-override-1.0.1' },
2211
- },
2212
- {
2213
- version: '1.0.2',
2214
- environmentVariables: { TEST_VARIABLE: 'test-component-override-1.0.2' },
2215
- },
2216
- ],
2217
- 'unit-test-components/test-component': [
2218
- {
2219
- version: '1.0.0',
2220
- environmentVariables: {},
2221
- },
2222
- ],
2223
- },
2224
- componentVersionRules: {
2225
- 'unit-test-components/test-environment-variables': {
2226
- renderableVersionPattern: '1.0.0 || 1.0.2',
2227
- excludedVersions: [],
2228
- editableVersions: [],
2229
- },
2230
- 'unit-test-components/test-component': {
2231
- renderableVersionPattern: '1.0.0',
2232
- excludedVersions: [],
2233
- editableVersions: [],
2234
- },
2235
- },
2236
- };
2237
- await service.updateComponentSet(set.webPath, update);
2238
- const runtimeSet = await service.getComponentSet(set.webPath);
2239
- let runtimeSetData = await service.getComponentsRuntimeSetData(testEnvVar100, runtimeSet);
2240
- expect(runtimeSetData).toEqual({
2241
- displayName: 'some-display-name',
2242
- webPath: set.webPath,
2243
- environment: { TEST_VARIABLE: 'test-component-override-1.0.1' },
2244
- });
2245
- runtimeSetData = await service.getComponentsRuntimeSetData(testEnvVar102, set);
2246
- expect(runtimeSetData).toEqual({
2247
- displayName: 'some-display-name',
2248
- webPath: set.webPath,
2249
- environment: { TEST_VARIABLE: 'test-component-override-1.0.2' },
2250
- });
2251
- });
2252
- it('should use toplevel envvars is no override', async () => {
2253
- const update = {
2254
- displayName: 'some-display-name',
2255
- description: 'some-description',
2256
- environmentVariables: {
2257
- TEST_VARIABLE: 'value',
2258
- ADDITIONAL_VAR: '123',
2259
- },
2260
- headers: {},
2261
- components: {
2262
- 'unit-test-components/test-environment-variables': [
2263
- {
2264
- version: '1.0.0',
2265
- environmentVariables: {},
2266
- },
2267
- ],
2268
- },
2269
- componentVersionRules: {
2270
- 'unit-test-components/test-environment-variables': {
2271
- renderableVersionPattern: '1.0.0',
2272
- excludedVersions: [],
2273
- editableVersions: [],
2274
- },
2275
- },
2276
- };
2277
- await service.updateComponentSet(set.webPath, update);
2278
- const runtimeSetData = await service.getComponentsRuntimeSetData(testEnvVar100, set);
2279
- expect(runtimeSetData).toEqual({
2280
- displayName: 'some-display-name',
2281
- webPath: set.webPath,
2282
- environment: { TEST_VARIABLE: 'value' },
2283
- });
2284
- });
2285
- });
2286
- });
2287
- describe('deleteComponentSet', () => {
2288
- const webPath = 'set-web-path';
2289
- beforeAll(async () => {
2290
- await service.addComponentSet({
2291
- webPath: webPath,
2292
- displayName: 'some-display-name',
2293
- description: 'some-description',
2294
- environmentVariables: {
2295
- 'some-var': 'some-val',
2296
- },
2297
- headers: {
2298
- 'some-header-name': 'some-header-val',
2299
- },
2300
- components: {
2301
- [`${namespace}/foo`]: [
2302
- {
2303
- version: '1.0.0',
2304
- environmentVariables: {},
2305
- },
2306
- {
2307
- version: '2.0.0',
2308
- environmentVariables: {},
2309
- },
2310
- ],
2311
- },
2312
- componentVersionRules: {
2313
- [`${namespace}/foo`]: {
2314
- renderableVersionPattern: '1.0.0 || 2.0.0',
2315
- excludedVersions: [],
2316
- editableVersions: [],
2317
- },
2318
- },
2319
- });
2320
- });
2321
- afterAll(async () => {
2322
- await db.repositories.componentSet.delete({ webPath });
2323
- await db.repositories.componentSetComponentVersion.delete({ componentSetWebPath: webPath });
2324
- });
2325
- it('should delete the existing component set in all of the relevant tables', async () => {
2326
- const result = await service.deleteComponentSet(webPath);
2327
- expect(result).toEqual(1);
2328
- const csResult = await db.repositories.componentSet.getComponentSetByWebPath(webPath);
2329
- expect(csResult).toEqual(undefined);
2330
- const cscvResult = await db.repositories.componentSetComponentVersion.find({ componentSetWebPath: webPath });
2331
- expect(cscvResult).toHaveLength(0);
2332
- expect(mockInfo).toHaveBeenCalledWith(`Component set deleted: set-web-path.`, undefined, undefined, 'componentSetId:set-web-path');
2333
- expect(mockFlush).toHaveBeenCalled();
2334
- }, 15000);
2335
- it('should throw error if component set web path does not exist', async () => {
2336
- await expect(service.deleteComponentSet('idontexist')).rejects.toThrowErrorMatchingInlineSnapshot('"Component set with web path idontexist does not exist"');
2337
- }, 15000);
2338
- });
2339
- describe('getPaginatedComponentSets', () => {
2340
- beforeAll(async () => {
2341
- const allComponents = await service.getAllComponentSets();
2342
- for (const cSet of allComponents) {
2343
- await db.repositories.componentSet.delete({ webPath: cSet.webPath });
2344
- }
2345
- await service.addComponentSet({
2346
- webPath: 'wp-1',
2347
- displayName: 'some-display-name',
2348
- description: 'some-description',
2349
- environmentVariables: {},
2350
- headers: {},
2351
- components: {},
2352
- });
2353
- await service.addComponentSet({
2354
- webPath: 'wp-2',
2355
- displayName: 'some-display-name',
2356
- description: 'some-description',
2357
- environmentVariables: {},
2358
- headers: {},
2359
- components: {},
2360
- });
2361
- });
2362
- afterAll(async () => {
2363
- await db.repositories.componentSet.delete({ webPath: 'wp-1' });
2364
- await db.repositories.componentSet.delete({ webPath: 'wp-2' });
2365
- });
2366
- it('should return all the component sets list and page info', async () => {
2367
- const componentSets = await service.getPaginatedComponentSets();
2368
- expect(componentSets).toEqual({
2369
- items: [
2370
- {
2371
- components: {},
2372
- description: 'some-description',
2373
- displayName: 'some-display-name',
2374
- environmentVariables: {},
2375
- headers: {},
2376
- webPath: 'wp-1',
2377
- componentVersionRules: {},
2378
- },
2379
- {
2380
- components: {},
2381
- description: 'some-description',
2382
- displayName: 'some-display-name',
2383
- environmentVariables: {},
2384
- headers: {},
2385
- webPath: 'wp-2',
2386
- componentVersionRules: {},
2387
- },
2388
- ],
2389
- pageInfo: {
2390
- current: 1,
2391
- next: null,
2392
- pageSize: 20,
2393
- previous: null,
2394
- totalItems: 2,
2395
- totalPages: 1,
2396
- },
2397
- });
2398
- });
2399
- it('should return all the component sets list based on given specified sorting options', async () => {
2400
- const componentSets = await service.getPaginatedComponentSets(1, ['webPath'], 'desc');
2401
- expect(componentSets).toEqual({
2402
- items: [
2403
- {
2404
- components: {},
2405
- description: 'some-description',
2406
- displayName: 'some-display-name',
2407
- environmentVariables: {},
2408
- headers: {},
2409
- webPath: 'wp-2',
2410
- componentVersionRules: {},
2411
- },
2412
- {
2413
- components: {},
2414
- description: 'some-description',
2415
- displayName: 'some-display-name',
2416
- environmentVariables: {},
2417
- headers: {},
2418
- webPath: 'wp-1',
2419
- componentVersionRules: {},
2420
- },
2421
- ],
2422
- pageInfo: {
2423
- current: 1,
2424
- next: null,
2425
- pageSize: 20,
2426
- previous: null,
2427
- totalItems: 2,
2428
- totalPages: 1,
2429
- },
2430
- });
2431
- });
2432
- });
2433
- describe('addToComponentSet - more components with non standard versions', () => {
2434
- const testWebPaths = ['set-web-path'];
2435
- let componentTempLocation3 = '';
2436
- let componentTempLocation4 = '';
2437
- let componentTempLocation5 = '';
2438
- let componentTempLocation6 = '';
2439
- beforeAll(async () => {
2440
- componentTempLocation3 = fs_1.default.mkdtempSync('test3-');
2441
- await createComponentAtTempLocation(componentTempLocation3, 'foo', '0.0.11');
2442
- await componentService.saveComponent(componentTempLocation3);
2443
- componentTempLocation4 = fs_1.default.mkdtempSync('test4-');
2444
- await createComponentAtTempLocation(componentTempLocation4, 'foo', '0.0.12');
2445
- await componentService.saveComponent(componentTempLocation4);
2446
- componentTempLocation5 = fs_1.default.mkdtempSync('test5-');
2447
- await createComponentAtTempLocation(componentTempLocation5, 'foo', '10.5.2');
2448
- await componentService.saveComponent(componentTempLocation5);
2449
- componentTempLocation6 = fs_1.default.mkdtempSync('test6-');
2450
- await createComponentAtTempLocation(componentTempLocation6, 'foo', '9.0.1');
2451
- await componentService.saveComponent(componentTempLocation6);
2452
- });
2453
- afterAll(async () => {
2454
- if (fs_extra_1.default.pathExistsSync(componentTempLocation3)) {
2455
- fs_extra_1.default.rmSync(componentTempLocation3, { force: true, recursive: true });
2456
- }
2457
- if (fs_extra_1.default.pathExistsSync(componentTempLocation4)) {
2458
- fs_extra_1.default.rmSync(componentTempLocation4, { force: true, recursive: true });
2459
- }
2460
- if (fs_extra_1.default.pathExistsSync(componentTempLocation5)) {
2461
- fs_extra_1.default.rmSync(componentTempLocation5, { force: true, recursive: true });
2462
- }
2463
- if (fs_extra_1.default.pathExistsSync(componentTempLocation6)) {
2464
- fs_extra_1.default.rmSync(componentTempLocation6, { force: true, recursive: true });
2465
- }
2466
- for (const webPath of testWebPaths) {
2467
- await db.repositories.componentSet.delete({ webPath });
2468
- await db.repositories.componentSetComponentVersion.delete({ componentSetWebPath: webPath });
2469
- }
2470
- });
2471
- it('should have only the highest semver version as editable true when the editable rule is latest and there is a higher number of components with non uniform versions', async () => {
2472
- const webPath = 'set-web-path-3';
2473
- testWebPaths.push('set-web-path-3');
2474
- const componentSet = await service.addComponentSet({
2475
- webPath: webPath,
2476
- displayName: 'some-display-name',
2477
- description: 'some-description',
2478
- environmentVariables: {
2479
- 'some-var': 'some-val',
2480
- },
2481
- headers: {
2482
- 'some-header-name': 'some-header-val',
2483
- },
2484
- componentVersionRules: {
2485
- 'unit-test-components/foo': {
2486
- renderableVersionPattern: '*',
2487
- excludedVersions: ['0.0.11'],
2488
- editableVersions: 'latest',
2489
- },
2490
- },
2491
- });
2492
- expect(componentSet).toMatchInlineSnapshot(`
2493
- {
2494
- "componentVersionRules": {
2495
- "unit-test-components/foo": {
2496
- "editableVersions": [
2497
- "latest",
2498
- ],
2499
- "excludedVersions": [
2500
- "0.0.11",
2501
- ],
2502
- "renderableVersionPattern": "*",
2503
- },
2504
- },
2505
- "components": {
2506
- "unit-test-components/foo": [
2507
- {
2508
- "description": "some-description",
2509
- "displayName": "some-display-name",
2510
- "editable": false,
2511
- "environmentVariables": {},
2512
- "icon": undefined,
2513
- "version": "9.0.1",
2514
- },
2515
- {
2516
- "description": "some-description",
2517
- "displayName": "some-display-name",
2518
- "editable": false,
2519
- "environmentVariables": {},
2520
- "icon": undefined,
2521
- "version": "2.0.0",
2522
- },
2523
- {
2524
- "description": "some-description",
2525
- "displayName": "some-display-name",
2526
- "editable": true,
2527
- "environmentVariables": {},
2528
- "icon": undefined,
2529
- "version": "10.5.2",
2530
- },
2531
- {
2532
- "description": "some-description",
2533
- "displayName": "some-display-name",
2534
- "editable": false,
2535
- "environmentVariables": {},
2536
- "icon": undefined,
2537
- "version": "1.0.0",
2538
- },
2539
- {
2540
- "description": "some-description",
2541
- "displayName": "some-display-name",
2542
- "editable": false,
2543
- "environmentVariables": {},
2544
- "icon": undefined,
2545
- "version": "0.0.12",
2546
- },
2547
- ],
2548
- },
2549
- "description": "some-description",
2550
- "displayName": "some-display-name",
2551
- "environmentVariables": {
2552
- "some-var": "some-val",
2553
- },
2554
- "headers": {
2555
- "some-header-name": "some-header-val",
2556
- },
2557
- "webPath": "set-web-path-3",
2558
- }
2559
- `);
2560
- expect(mockInfo).toHaveBeenCalledWith(`Component set added: set-web-path-3.`, undefined, undefined, 'componentSetId:set-web-path-3');
2561
- expect(mockFlush).toHaveBeenCalled();
2562
- }, 15000);
2563
- });
2564
- });
2565
- //# sourceMappingURL=ComponentSetServiceForProduction.integration.spec.js.map