lesgo 0.7.8 → 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 (318) hide show
  1. package/README.md +5 -4
  2. package/bin/lesgo-scripts.sh +52 -7
  3. package/dist/config/app.d.ts +7 -0
  4. package/dist/config/app.js +9 -0
  5. package/dist/config/aws.d.ts +5 -0
  6. package/dist/config/aws.js +4 -0
  7. package/dist/config/basicAuth.d.ts +7 -0
  8. package/dist/config/basicAuth.js +8 -0
  9. package/dist/config/crypto.d.ts +10 -0
  10. package/dist/config/crypto.js +9 -0
  11. package/dist/config/dynamodb.d.ts +8 -0
  12. package/dist/config/dynamodb.js +14 -0
  13. package/dist/config/elasticache.d.ts +7 -0
  14. package/dist/config/elasticache.js +6 -0
  15. package/dist/config/index.d.ts +11 -0
  16. package/dist/config/index.js +11 -0
  17. package/dist/config/jwt.d.ts +12 -0
  18. package/dist/config/jwt.js +16 -0
  19. package/dist/config/rds.d.ts +12 -0
  20. package/dist/config/rds.js +13 -0
  21. package/dist/config/s3.d.ts +5 -0
  22. package/dist/config/s3.js +5 -0
  23. package/dist/config/secretsManager.d.ts +4 -0
  24. package/dist/config/secretsManager.js +4 -0
  25. package/dist/config/sqs.d.ts +9 -0
  26. package/dist/config/sqs.js +18 -0
  27. package/dist/exceptions/LesgoException.d.ts +6 -0
  28. package/{src → dist}/exceptions/LesgoException.js +5 -4
  29. package/dist/exceptions/index.d.ts +1 -0
  30. package/dist/exceptions/index.js +1 -0
  31. package/dist/middlewares/disconnectMiddleware.d.ts +8 -0
  32. package/dist/middlewares/disconnectMiddleware.js +78 -0
  33. package/dist/middlewares/httpMiddleware.d.ts +12 -0
  34. package/dist/middlewares/httpMiddleware.js +74 -0
  35. package/dist/middlewares/httpResponseMiddleware.d.ts +7 -0
  36. package/dist/middlewares/httpResponseMiddleware.js +128 -0
  37. package/dist/middlewares/index.d.ts +7 -0
  38. package/dist/middlewares/index.js +7 -0
  39. package/dist/middlewares/invokeCommandMiddleware.d.ts +12 -0
  40. package/dist/middlewares/invokeCommandMiddleware.js +70 -0
  41. package/dist/middlewares/sqsMiddleware.d.ts +10 -0
  42. package/dist/middlewares/sqsMiddleware.js +70 -0
  43. package/dist/middlewares/verifyBasicAuthMiddleware.d.ts +8 -0
  44. package/dist/middlewares/verifyBasicAuthMiddleware.js +59 -0
  45. package/dist/middlewares/verifyJwtMiddleware.d.ts +6 -0
  46. package/dist/middlewares/verifyJwtMiddleware.js +37 -0
  47. package/dist/services/DynamoDbService/deleteRecord.d.ts +8 -0
  48. package/dist/services/DynamoDbService/deleteRecord.js +69 -0
  49. package/dist/services/DynamoDbService/getClient.d.ts +7 -0
  50. package/dist/services/DynamoDbService/getClient.js +30 -0
  51. package/dist/services/DynamoDbService/getTableName.d.ts +2 -0
  52. package/dist/services/DynamoDbService/getTableName.js +15 -0
  53. package/dist/services/DynamoDbService/index.d.ts +6 -0
  54. package/dist/services/DynamoDbService/index.js +6 -0
  55. package/dist/services/DynamoDbService/putRecord.d.ts +8 -0
  56. package/dist/services/DynamoDbService/putRecord.js +64 -0
  57. package/dist/services/DynamoDbService/query.d.ts +7 -0
  58. package/dist/services/DynamoDbService/query.js +78 -0
  59. package/dist/services/DynamoDbService/scan.d.ts +7 -0
  60. package/dist/services/DynamoDbService/scan.js +60 -0
  61. package/dist/services/DynamoDbService/updateRecord.d.ts +9 -0
  62. package/dist/services/DynamoDbService/updateRecord.js +89 -0
  63. package/dist/services/ElastiCacheRedisService/deleteRedisCache.d.ts +3 -0
  64. package/dist/services/ElastiCacheRedisService/deleteRedisCache.js +62 -0
  65. package/dist/services/ElastiCacheRedisService/disconnectElastiCacheRedisClient.d.ts +11 -0
  66. package/dist/services/ElastiCacheRedisService/disconnectElastiCacheRedisClient.js +69 -0
  67. package/dist/services/ElastiCacheRedisService/getElastiCacheRedisClient.d.ts +12 -0
  68. package/dist/services/ElastiCacheRedisService/getElastiCacheRedisClient.js +114 -0
  69. package/dist/services/ElastiCacheRedisService/getRedisCache.d.ts +3 -0
  70. package/dist/services/ElastiCacheRedisService/getRedisCache.js +70 -0
  71. package/dist/services/ElastiCacheRedisService/index.d.ts +5 -0
  72. package/dist/services/ElastiCacheRedisService/index.js +5 -0
  73. package/dist/services/ElastiCacheRedisService/setRedisCache.d.ts +6 -0
  74. package/dist/services/ElastiCacheRedisService/setRedisCache.js +77 -0
  75. package/dist/services/JWTService/decodeJwt.d.ts +7 -0
  76. package/dist/services/JWTService/decodeJwt.js +9 -0
  77. package/dist/services/JWTService/getJwtSecret.d.ts +13 -0
  78. package/dist/services/JWTService/getJwtSecret.js +54 -0
  79. package/dist/services/JWTService/index.d.ts +2 -0
  80. package/dist/services/JWTService/index.js +2 -0
  81. package/dist/services/JWTService/sign.d.ts +3 -0
  82. package/dist/services/JWTService/sign.js +31 -0
  83. package/dist/services/JWTService/verify.d.ts +7 -0
  84. package/dist/services/JWTService/verify.js +61 -0
  85. package/dist/services/LoggerService.d.ts +46 -0
  86. package/{src → dist}/services/LoggerService.js +36 -60
  87. package/dist/services/RDSAuroraMySQLProxyService/disconnectMySQLProxyClient.d.ts +2 -0
  88. package/dist/services/RDSAuroraMySQLProxyService/disconnectMySQLProxyClient.js +60 -0
  89. package/dist/services/RDSAuroraMySQLProxyService/getMySQLProxyClient.d.ts +8 -0
  90. package/dist/services/RDSAuroraMySQLProxyService/getMySQLProxyClient.js +87 -0
  91. package/dist/services/RDSAuroraMySQLProxyService/index.d.ts +3 -0
  92. package/dist/services/RDSAuroraMySQLProxyService/index.js +3 -0
  93. package/dist/services/RDSAuroraMySQLProxyService/query.d.ts +4 -0
  94. package/dist/services/RDSAuroraMySQLProxyService/query.js +63 -0
  95. package/dist/services/S3Service/getClient.d.ts +4 -0
  96. package/dist/services/S3Service/getClient.js +28 -0
  97. package/dist/services/S3Service/getDownloadSignedUrl.d.ts +7 -0
  98. package/dist/services/S3Service/getDownloadSignedUrl.js +58 -0
  99. package/dist/services/S3Service/getHeadObject.d.ts +13 -0
  100. package/dist/services/S3Service/getHeadObject.js +83 -0
  101. package/dist/services/S3Service/getObject.d.ts +10 -0
  102. package/dist/services/S3Service/getObject.js +89 -0
  103. package/dist/services/S3Service/getUploadSignedUrl.d.ts +7 -0
  104. package/dist/services/S3Service/getUploadSignedUrl.js +61 -0
  105. package/dist/services/S3Service/index.d.ts +6 -0
  106. package/dist/services/S3Service/index.js +6 -0
  107. package/dist/services/S3Service/putObject.d.ts +9 -0
  108. package/dist/services/S3Service/putObject.js +77 -0
  109. package/dist/services/SQSService/deleteMessage.d.ts +9 -0
  110. package/dist/services/SQSService/deleteMessage.js +69 -0
  111. package/dist/services/SQSService/dispatch.d.ts +9 -0
  112. package/dist/services/SQSService/dispatch.js +71 -0
  113. package/dist/services/SQSService/getClient.d.ts +4 -0
  114. package/dist/services/SQSService/getClient.js +28 -0
  115. package/dist/services/SQSService/getQueueUrl.d.ts +7 -0
  116. package/dist/services/SQSService/getQueueUrl.js +25 -0
  117. package/dist/services/SQSService/index.d.ts +4 -0
  118. package/dist/services/SQSService/index.js +4 -0
  119. package/dist/services/SQSService/receiveMessages.d.ts +8 -0
  120. package/dist/services/SQSService/receiveMessages.js +65 -0
  121. package/dist/services/SecretsManagerService/getClient.d.ts +7 -0
  122. package/dist/services/SecretsManagerService/getClient.js +28 -0
  123. package/dist/services/SecretsManagerService/getSecretValue.d.ts +7 -0
  124. package/dist/services/SecretsManagerService/getSecretValue.js +65 -0
  125. package/dist/services/SecretsManagerService/index.d.ts +2 -0
  126. package/dist/services/SecretsManagerService/index.js +2 -0
  127. package/dist/services/index.d.ts +1 -0
  128. package/dist/services/index.js +1 -0
  129. package/dist/types/aws.d.ts +8 -0
  130. package/dist/types/aws.js +1 -0
  131. package/dist/utils/cache/redis/deleteCache.d.ts +19 -0
  132. package/dist/utils/cache/redis/deleteCache.js +21 -0
  133. package/dist/utils/cache/redis/getCache.d.ts +22 -0
  134. package/dist/utils/cache/redis/getCache.js +24 -0
  135. package/dist/utils/cache/redis/getClient.d.ts +30 -0
  136. package/dist/utils/cache/redis/getClient.js +32 -0
  137. package/dist/utils/cache/redis/index.d.ts +4 -0
  138. package/dist/utils/cache/redis/index.js +4 -0
  139. package/dist/utils/cache/redis/setCache.d.ts +25 -0
  140. package/dist/utils/cache/redis/setCache.js +26 -0
  141. package/dist/utils/crypto/decrypt.d.ts +33 -0
  142. package/dist/utils/crypto/decrypt.js +59 -0
  143. package/dist/utils/crypto/encrypt.d.ts +31 -0
  144. package/dist/utils/crypto/encrypt.js +41 -0
  145. package/dist/utils/crypto/hash.d.ts +31 -0
  146. package/dist/utils/crypto/hash.js +56 -0
  147. package/dist/utils/crypto/index.d.ts +3 -0
  148. package/dist/utils/crypto/index.js +3 -0
  149. package/dist/utils/crypto/validateEncryptionFields.d.ts +19 -0
  150. package/dist/utils/crypto/validateEncryptionFields.js +71 -0
  151. package/dist/utils/db/mysql/proxy/disconnect.d.ts +2 -0
  152. package/dist/utils/db/mysql/proxy/disconnect.js +5 -0
  153. package/dist/utils/db/mysql/proxy/disconnectDb.d.ts +2 -0
  154. package/dist/utils/db/mysql/proxy/disconnectDb.js +5 -0
  155. package/dist/utils/db/mysql/proxy/getClient.d.ts +4 -0
  156. package/dist/utils/db/mysql/proxy/getClient.js +5 -0
  157. package/dist/utils/db/mysql/proxy/index.d.ts +3 -0
  158. package/dist/utils/db/mysql/proxy/index.js +3 -0
  159. package/dist/utils/db/mysql/proxy/query.d.ts +4 -0
  160. package/dist/utils/db/mysql/proxy/query.js +45 -0
  161. package/dist/utils/dynamodb/deleteRecord.d.ts +5 -0
  162. package/dist/utils/dynamodb/deleteRecord.js +39 -0
  163. package/dist/utils/dynamodb/getClient.d.ts +3 -0
  164. package/dist/utils/dynamodb/getClient.js +5 -0
  165. package/dist/utils/dynamodb/index.d.ts +6 -0
  166. package/dist/utils/dynamodb/index.js +6 -0
  167. package/dist/utils/dynamodb/putRecord.d.ts +4 -0
  168. package/dist/utils/dynamodb/putRecord.js +39 -0
  169. package/dist/utils/dynamodb/query.d.ts +5 -0
  170. package/dist/utils/dynamodb/query.js +52 -0
  171. package/dist/utils/dynamodb/scan.d.ts +4 -0
  172. package/dist/utils/dynamodb/scan.js +40 -0
  173. package/dist/utils/dynamodb/updateRecord.d.ts +5 -0
  174. package/dist/utils/dynamodb/updateRecord.js +53 -0
  175. package/dist/utils/formatUnixTimestamp.d.ts +8 -0
  176. package/dist/utils/formatUnixTimestamp.js +17 -0
  177. package/dist/utils/generateUid.d.ts +13 -0
  178. package/{src → dist}/utils/generateUid.js +9 -4
  179. package/dist/utils/getCurrentDatetime.d.ts +2 -0
  180. package/dist/utils/getCurrentDatetime.js +4 -0
  181. package/dist/utils/getCurrentTimestamp.d.ts +7 -0
  182. package/dist/utils/getCurrentTimestamp.js +9 -0
  183. package/dist/utils/getJwtSubFromAuthHeader.d.ts +9 -0
  184. package/dist/utils/getJwtSubFromAuthHeader.js +24 -0
  185. package/dist/utils/index.d.ts +9 -0
  186. package/dist/utils/index.js +9 -0
  187. package/dist/utils/isDecimal.d.ts +8 -0
  188. package/dist/utils/isDecimal.js +9 -0
  189. package/dist/utils/isEmail.d.ts +9 -0
  190. package/{src → dist}/utils/isEmail.js +9 -4
  191. package/dist/utils/isEmpty.d.ts +8 -0
  192. package/dist/utils/isEmpty.js +19 -0
  193. package/dist/utils/jwt/index.d.ts +2 -0
  194. package/dist/utils/jwt/index.js +2 -0
  195. package/dist/utils/jwt/sign.d.ts +3 -0
  196. package/dist/utils/jwt/sign.js +5 -0
  197. package/dist/utils/jwt/verify.d.ts +3 -0
  198. package/dist/utils/jwt/verify.js +12 -0
  199. package/dist/utils/logger.d.ts +20 -0
  200. package/dist/utils/logger.js +38 -0
  201. package/dist/utils/s3/getClient.d.ts +3 -0
  202. package/dist/utils/s3/getClient.js +5 -0
  203. package/dist/utils/s3/getDownloadSignedUrl.d.ts +5 -0
  204. package/dist/utils/s3/getDownloadSignedUrl.js +39 -0
  205. package/dist/utils/s3/getHeadObject.d.ts +10 -0
  206. package/dist/utils/s3/getHeadObject.js +39 -0
  207. package/dist/utils/s3/getObject.d.ts +13 -0
  208. package/dist/utils/s3/getObject.js +51 -0
  209. package/dist/utils/s3/getUploadSignedUrl.d.ts +5 -0
  210. package/dist/utils/s3/getUploadSignedUrl.js +39 -0
  211. package/dist/utils/s3/index.d.ts +6 -0
  212. package/dist/utils/s3/index.js +6 -0
  213. package/dist/utils/s3/putObject.d.ts +5 -0
  214. package/dist/utils/s3/putObject.js +39 -0
  215. package/dist/utils/secretsmanager/getClient.d.ts +3 -0
  216. package/dist/utils/secretsmanager/getClient.js +5 -0
  217. package/dist/utils/secretsmanager/getSecretValue.d.ts +4 -0
  218. package/dist/utils/secretsmanager/getSecretValue.js +68 -0
  219. package/dist/utils/secretsmanager/index.d.ts +2 -0
  220. package/dist/utils/secretsmanager/index.js +2 -0
  221. package/dist/utils/sqs/deleteMessage.d.ts +5 -0
  222. package/dist/utils/sqs/deleteMessage.js +39 -0
  223. package/dist/utils/sqs/dispatch.d.ts +5 -0
  224. package/dist/utils/sqs/dispatch.js +39 -0
  225. package/dist/utils/sqs/getClient.d.ts +3 -0
  226. package/dist/utils/sqs/getClient.js +5 -0
  227. package/dist/utils/sqs/index.d.ts +4 -0
  228. package/dist/utils/sqs/index.js +4 -0
  229. package/dist/utils/sqs/receiveMessages.d.ts +5 -0
  230. package/dist/utils/sqs/receiveMessages.js +39 -0
  231. package/dist/utils/validateFields.d.ts +22 -0
  232. package/{src → dist}/utils/validateFields.js +13 -19
  233. package/package.json +145 -34
  234. package/CHANGELOG.md +0 -9
  235. package/src/exceptions/__tests__/LesgoException.spec.js +0 -24
  236. package/src/exceptions/index.js +0 -4
  237. package/src/index.js +0 -4
  238. package/src/middlewares/__mocks__/ValidationErrorException.js +0 -18
  239. package/src/middlewares/__tests__/basicAuthMiddleware.spec.js +0 -225
  240. package/src/middlewares/__tests__/clientAuthMiddleware.spec.js +0 -137
  241. package/src/middlewares/__tests__/errorHttpResponseMiddleware.spec.js +0 -190
  242. package/src/middlewares/__tests__/gzipHttpResponse.spec.js +0 -185
  243. package/src/middlewares/__tests__/httpNoOutputMiddleware.spec.js +0 -199
  244. package/src/middlewares/__tests__/normalizeHttpRequestMiddleware.spec.js +0 -181
  245. package/src/middlewares/__tests__/normalizeSQSMessageMiddleware.spec.js +0 -120
  246. package/src/middlewares/__tests__/serverAuthMiddleware.spec.js +0 -170
  247. package/src/middlewares/__tests__/successHttpResponseMiddleware.spec.js +0 -159
  248. package/src/middlewares/__tests__/verifyJwtMiddleware.spec.js +0 -222
  249. package/src/middlewares/basicAuthMiddleware.js +0 -145
  250. package/src/middlewares/clientAuthMiddleware.js +0 -82
  251. package/src/middlewares/errorHttpResponseMiddleware.js +0 -99
  252. package/src/middlewares/gzipHttpResponse.js +0 -98
  253. package/src/middlewares/httpMiddleware.js +0 -19
  254. package/src/middlewares/httpNoOutputMiddleware.js +0 -87
  255. package/src/middlewares/index.js +0 -15
  256. package/src/middlewares/normalizeHttpRequestMiddleware.js +0 -101
  257. package/src/middlewares/normalizeSQSMessageMiddleware.js +0 -67
  258. package/src/middlewares/serverAuthMiddleware.js +0 -29
  259. package/src/middlewares/successHttpResponseMiddleware.js +0 -83
  260. package/src/middlewares/verifyJwtMiddleware.js +0 -62
  261. package/src/services/AuroraDbRDSProxyService.js +0 -182
  262. package/src/services/AuroraDbService.js +0 -111
  263. package/src/services/DynamoDbService.js +0 -177
  264. package/src/services/ElastiCacheService.js +0 -17
  265. package/src/services/ElasticsearchService.js +0 -181
  266. package/src/services/FirebaseAdminService.js +0 -108
  267. package/src/services/JwtService.js +0 -52
  268. package/src/services/S3Service.js +0 -59
  269. package/src/services/SQSService.js +0 -65
  270. package/src/services/__tests__/AuroraDbRDSProxyService.spec.js +0 -278
  271. package/src/services/__tests__/AuroraDbService.spec.js +0 -211
  272. package/src/services/__tests__/AwsElasticsearchConnection.spec.js +0 -89
  273. package/src/services/__tests__/DynamoDbService.spec.js +0 -314
  274. package/src/services/__tests__/ElasticsearchService.spec.js +0 -201
  275. package/src/services/__tests__/FirebaseAdminService.spec.js +0 -356
  276. package/src/services/__tests__/JwtService.spec.js +0 -35
  277. package/src/services/__tests__/LengthAwarePaginator.spec.js +0 -223
  278. package/src/services/__tests__/LoggerService.spec.js +0 -252
  279. package/src/services/__tests__/Paginator.spec.js +0 -383
  280. package/src/services/__tests__/S3Service.spec.js +0 -55
  281. package/src/services/__tests__/SQSService.spec.js +0 -47
  282. package/src/services/__tests__/SignedRequest.spec.js +0 -103
  283. package/src/services/aws/AwsElasticsearchConnection.js +0 -59
  284. package/src/services/aws/SignedRequest.js +0 -158
  285. package/src/services/index.js +0 -19
  286. package/src/services/pagination/LengthAwarePaginator.js +0 -49
  287. package/src/services/pagination/Paginator.js +0 -260
  288. package/src/utils/__mocks__/db.js +0 -109
  289. package/src/utils/__tests__/cache.spec.js +0 -131
  290. package/src/utils/__tests__/crypto.spec.js +0 -122
  291. package/src/utils/__tests__/db.spec.js +0 -70
  292. package/src/utils/__tests__/dynamodb.spec.js +0 -27
  293. package/src/utils/__tests__/elasticsearch.spec.js +0 -43
  294. package/src/utils/__tests__/generateUid.spec.js +0 -36
  295. package/src/utils/__tests__/getJwtSubFromAuthHeader.spec.js +0 -20
  296. package/src/utils/__tests__/isDecimal.spec.js +0 -12
  297. package/src/utils/__tests__/isEmail.spec.js +0 -28
  298. package/src/utils/__tests__/isEmpty.spec.js +0 -31
  299. package/src/utils/__tests__/logger.spec.js +0 -11
  300. package/src/utils/__tests__/objectStore.spec.js +0 -67
  301. package/src/utils/__tests__/prepSQLInsertParams.spec.js +0 -46
  302. package/src/utils/__tests__/prepSQLUpdateParams.spec.js +0 -36
  303. package/src/utils/__tests__/queue.spec.js +0 -54
  304. package/src/utils/__tests__/validateFields.spec.js +0 -374
  305. package/src/utils/cache.js +0 -215
  306. package/src/utils/crypto.js +0 -77
  307. package/src/utils/db.js +0 -17
  308. package/src/utils/dynamodb.js +0 -6
  309. package/src/utils/elasticsearch.js +0 -20
  310. package/src/utils/getJwtSubFromAuthHeader.js +0 -18
  311. package/src/utils/index.js +0 -26
  312. package/src/utils/isDecimal.js +0 -2
  313. package/src/utils/isEmpty.js +0 -6
  314. package/src/utils/logger.js +0 -25
  315. package/src/utils/objectStore.js +0 -11
  316. package/src/utils/prepSQLInsertParams.js +0 -21
  317. package/src/utils/prepSQLUpdateParams.js +0 -25
  318. package/src/utils/queue.js +0 -11
@@ -1,109 +0,0 @@
1
- export const mockData = {
2
- index_0: 'data_0',
3
- index_1: 'data_1',
4
- index_2: 'data_2',
5
- index_3: 'data_3',
6
- index_4: 'data_4',
7
- };
8
-
9
- export const mockDataFirstItem = {
10
- index_0: 'data_0_first_item',
11
- index_1: 'data_1_first_item',
12
- index_2: 'data_2_first_item',
13
- index_3: 'data_3_first_item',
14
- index_4: 'data_4_first_item',
15
- };
16
-
17
- export const mockDataLastItem = {
18
- index_0: 'data_0_last_item',
19
- index_1: 'data_1_last_item',
20
- index_2: 'data_2_last_item',
21
- index_3: 'data_3_last_item',
22
- index_4: 'data_4_last_item',
23
- };
24
-
25
- export default {
26
- // eslint-disable-next-line no-unused-vars
27
- select: jest.fn().mockImplementation((sql, sqlParams) => {
28
- if (sql.startsWith('SELECT * FROM tests LIMIT 6 OFFSET 10')) {
29
- return Promise.resolve([
30
- { ...mockDataFirstItem },
31
- { ...mockData },
32
- { ...mockData },
33
- { ...mockData },
34
- { ...mockDataLastItem },
35
- ]);
36
- }
37
-
38
- if (
39
- sql.startsWith('SELECT * FROM tests LIMIT 6') ||
40
- sql.startsWith('SELECT * FROM total_tests LIMIT 6')
41
- ) {
42
- return Promise.resolve([
43
- { ...mockDataFirstItem },
44
- { ...mockData },
45
- { ...mockData },
46
- { ...mockData },
47
- { ...mockDataLastItem },
48
- { ...mockData },
49
- ]);
50
- }
51
-
52
- if (sql.startsWith('SELECT * FROM total_tests')) {
53
- return Promise.resolve([
54
- { ...mockDataFirstItem },
55
- { ...mockData },
56
- { ...mockData },
57
- { ...mockData },
58
- { ...mockData },
59
- { ...mockData },
60
- { ...mockData },
61
- { ...mockData },
62
- { ...mockData },
63
- { ...mockData },
64
- { ...mockData },
65
- { ...mockData },
66
- { ...mockData },
67
- { ...mockData },
68
- { ...mockData },
69
- { ...mockData },
70
- { ...mockData },
71
- { ...mockData },
72
- { ...mockData },
73
- { ...mockData },
74
- { ...mockData },
75
- { ...mockData },
76
- { ...mockData },
77
- { ...mockData },
78
- { ...mockData },
79
- { ...mockData },
80
- { ...mockData },
81
- { ...mockData },
82
- { ...mockData },
83
- { ...mockDataLastItem },
84
- ]);
85
- }
86
-
87
- if (sql.startsWith('SELECT * FROM tests')) {
88
- return Promise.resolve([
89
- { ...mockData },
90
- { ...mockData },
91
- { ...mockData },
92
- { ...mockData },
93
- { ...mockData },
94
- { ...mockData },
95
- { ...mockData },
96
- { ...mockData },
97
- { ...mockData },
98
- { ...mockData },
99
- ]);
100
- }
101
-
102
- return Promise.resolve({
103
- mocked: {
104
- sql,
105
- sqlParams,
106
- },
107
- });
108
- }),
109
- };
@@ -1,131 +0,0 @@
1
- import config from 'Config/cache'; // eslint-disable-line import/no-unresolved
2
-
3
- import cache from '../cache';
4
- import isEmpty from '../isEmpty';
5
-
6
- export const cacheKey = 'cacheKey';
7
- export const cacheKey2 = 'cacheKey2';
8
- export const cacheTime = 10;
9
- export const cacheData = {
10
- someData: [
11
- {
12
- someDataKey1: 'someDataValue1',
13
- },
14
- {
15
- someDataKey2: 'someDataValue2',
16
- },
17
- ],
18
- };
19
- export const cacheData2 = 'someValue2';
20
-
21
- describe('UtilsGroup: test cache utils', () => {
22
- it('test cache utils', async () => {
23
- await expect(cache.set(cacheKey, cacheData, cacheTime)).resolves.toBe();
24
- await expect(cache.set(cacheKey2, cacheData2, cacheTime)).resolves.toBe();
25
-
26
- await expect(cache.get(cacheKey)).resolves.toMatchObject(cacheData);
27
- await expect(cache.getMulti([cacheKey, cacheKey2])).resolves.toMatchObject([
28
- cacheData,
29
- cacheData2,
30
- ]);
31
-
32
- await expect(cache.del(cacheKey)).resolves.toBe();
33
- await expect(cache.delMulti([cacheKey, cacheKey2])).resolves.toBe();
34
-
35
- await expect(cache.end()).resolves.toBe();
36
- await expect(cache.disconnect()).resolves.toBe();
37
- });
38
-
39
- it('test connect using legacy config', async () => {
40
- config.connections.memcached = {
41
- ...config.connections.memcached,
42
- url: 'localhost',
43
- };
44
-
45
- await cache.pConnect('memcached');
46
- expect(Object.keys(cache.singleton)[0]).toEqual('memcached');
47
- });
48
-
49
- it('test pConnect', async () => {
50
- await cache.pConnect('memcached');
51
- expect(Object.keys(cache.singleton)[0]).toEqual('memcached');
52
- });
53
-
54
- it('test pConnect without connectionName to default', async () => {
55
- await cache.pConnect();
56
- expect(Object.keys(cache.singleton)[0]).toEqual('memcached');
57
- });
58
-
59
- it('test disconnecting with pConnect', async () => {
60
- await cache.pConnect('memcached');
61
-
62
- await expect(cache.end()).resolves.toBe();
63
- expect(isEmpty(Object.keys(cache.singleton))).toEqual(true);
64
- });
65
-
66
- it('test cache utils with pConnect', async () => {
67
- await cache.pConnect('memcached');
68
-
69
- await expect(cache.set(cacheKey, cacheData, cacheTime)).resolves.toBe();
70
- await expect(cache.set(cacheKey2, cacheData2, cacheTime)).resolves.toBe();
71
-
72
- await expect(cache.get(cacheKey)).resolves.toMatchObject(cacheData);
73
- await expect(cache.getMulti([cacheKey, cacheKey2])).resolves.toMatchObject([
74
- cacheData,
75
- cacheData2,
76
- ]);
77
-
78
- await expect(cache.del(cacheKey)).resolves.toBe();
79
- await expect(cache.delMulti([cacheKey, cacheKey2])).resolves.toBe();
80
-
81
- await expect(cache.end()).resolves.toBe();
82
- await expect(cache.disconnect()).resolves.toBe();
83
- });
84
-
85
- it('test setting cache with exception', async () => {
86
- await expect(
87
- cache.set('mockException', cacheData, cacheTime)
88
- ).rejects.toMatchObject({
89
- code: 'CACHE_SET_EXCEPTION',
90
- message: 'mockedException',
91
- name: 'LesgoException',
92
- statusCode: 500,
93
- });
94
- });
95
-
96
- it('test getting cache with exception', async () => {
97
- await expect(cache.get('mockException')).rejects.toMatchObject({
98
- code: 'CACHE_GET_EXCEPTION',
99
- message: 'mockedException',
100
- name: 'LesgoException',
101
- statusCode: 500,
102
- });
103
- });
104
-
105
- it('test getting multiple cache with exception', async () => {
106
- await expect(cache.getMulti(['mockException'])).rejects.toMatchObject({
107
- code: 'CACHE_GET_MULTI_EXCEPTION',
108
- message: 'mockedException',
109
- name: 'LesgoException',
110
- statusCode: 500,
111
- });
112
- });
113
-
114
- it('test deleting cache with exception', async () => {
115
- await expect(cache.del('mockException')).rejects.toMatchObject({
116
- code: 'CACHE_DEL_EXCEPTION',
117
- message: 'mockedException',
118
- name: 'LesgoException',
119
- statusCode: 500,
120
- });
121
- });
122
-
123
- it('test deleting multiple cache with exception', async () => {
124
- await expect(cache.delMulti(['mockException'])).rejects.toMatchObject({
125
- code: 'CACHE_DEL_MULTI_EXCEPTION',
126
- message: 'mockedException',
127
- name: 'LesgoException',
128
- statusCode: 500,
129
- });
130
- });
131
- });
@@ -1,122 +0,0 @@
1
- import { encrypt, decrypt, hash, hashMD5 } from '../crypto';
2
- import LesgoException from '../../exceptions/LesgoException';
3
-
4
- describe('test crypto encrypt', () => {
5
- it('should return hashed random string', () => {
6
- return expect(encrypt('test')).toBeTruthy();
7
- });
8
-
9
- test('should throw an Error when empty sting parameters were passed', () => {
10
- expect(() => {
11
- encrypt('');
12
- }).toThrow(
13
- new LesgoException(
14
- 'Empty parameter supplied on encrypt',
15
- 'CRYPTO_ENCRYPT_EMPTY_PARAMETER'
16
- )
17
- );
18
- });
19
-
20
- test('should throws an Error when null parameters were passed', () => {
21
- expect(() => {
22
- encrypt(null);
23
- }).toThrow(
24
- new LesgoException(
25
- 'Empty parameter supplied on encrypt',
26
- 'CRYPTO_ENCRYPT_EMPTY_PARAMETER'
27
- )
28
- );
29
- });
30
- });
31
-
32
- describe('test crypto decrypt', () => {
33
- test('should throws an Error when empty sting parameters were passed', () => {
34
- expect(() => {
35
- decrypt('');
36
- }).toThrow(
37
- new LesgoException(
38
- 'Empty parameter supplied on decryp',
39
- 'CRYPTO_DECRYPT_EMPTY_PARAMETER'
40
- )
41
- );
42
- });
43
-
44
- test('should throws an Error when null parameters were passed', () => {
45
- expect(() => {
46
- decrypt(null);
47
- }).toThrow(
48
- new LesgoException(
49
- 'Empty parameter supplied on decryp',
50
- 'CRYPTO_DECRYPT_EMPTY_PARAMETER'
51
- )
52
- );
53
- });
54
-
55
- it('should return correct string encrypted', () => {
56
- const encryptedText = encrypt('test');
57
- return expect(decrypt(encryptedText)).toBe('test');
58
- });
59
- });
60
-
61
- describe('test crypto hash', () => {
62
- it('should return hashed value', () => {
63
- const hashValueOfTest =
64
- '9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08';
65
-
66
- expect(hash('test')).toBeTruthy();
67
- expect(hash('test')).toBe(hashValueOfTest);
68
- });
69
-
70
- test('should throws an Error when empty sting parameters were passed', () => {
71
- expect(() => {
72
- hash('');
73
- }).toThrow(
74
- new LesgoException(
75
- 'Empty parameter supplied on hash',
76
- 'CRYPTO_HASH_EMPTY_PARAMETER'
77
- )
78
- );
79
- });
80
-
81
- test('should throws an Error when null parameters were passed', () => {
82
- expect(() => {
83
- hash(null);
84
- }).toThrow(
85
- new LesgoException(
86
- 'Empty parameter supplied on hash',
87
- 'CRYPTO_HASH_EMPTY_PARAMETER'
88
- )
89
- );
90
- });
91
- });
92
-
93
- describe('test crypto hashMD5', () => {
94
- it('should return hashed value', () => {
95
- const hashValueOfTest = '098f6bcd4621d373cade4e832627b4f6';
96
-
97
- expect(hashMD5('test')).toBeTruthy();
98
- expect(hashMD5('test')).toBe(hashValueOfTest);
99
- });
100
-
101
- test('should throws an Error when empty sting parameters were passed', () => {
102
- expect(() => {
103
- hashMD5('');
104
- }).toThrow(
105
- new LesgoException(
106
- 'Empty parameter supplied on hashMD5',
107
- 'CRYPTO_HASHMD5_EMPTY_PARAMETER'
108
- )
109
- );
110
- });
111
-
112
- test('should throws an Error when null parameters were passed', () => {
113
- expect(() => {
114
- hashMD5(null);
115
- }).toThrow(
116
- new LesgoException(
117
- 'Empty parameter supplied on hashMD5',
118
- 'CRYPTO_HASHMD5_EMPTY_PARAMETER'
119
- )
120
- );
121
- });
122
- });
@@ -1,70 +0,0 @@
1
- import config from 'Config/db'; // eslint-disable-line import/no-unresolved
2
-
3
- let db;
4
-
5
- beforeEach(() => {
6
- jest.isolateModules(() => {
7
- db = require('../db').default; // eslint-disable-line global-require
8
- });
9
- });
10
-
11
- describe('test db utils instantiate', () => {
12
- it('should not throw error on instantiating AuroraDbService', () => {
13
- return expect(db).toMatchObject({
14
- client: {
15
- mocked: {
16
- database: config.database,
17
- resourceArn: config.resourceArn,
18
- secretArn: config.secretArn,
19
- },
20
- },
21
- });
22
- });
23
-
24
- it('should update AuroraDb credentials on connect', () => {
25
- db.connect({
26
- database: config.database,
27
- resourceArn: config.resourceArn,
28
- secretArn: config.secretCommandArn,
29
- });
30
-
31
- return expect(db.client).toMatchObject({
32
- mocked: {
33
- database: config.database,
34
- resourceArn: config.resourceArn,
35
- secretArn: config.secretCommandArn,
36
- },
37
- });
38
- });
39
-
40
- it('should update AuroraDb credentials on connect based on dataApi config', () => {
41
- config.default = 'dataApi';
42
- let thisDb;
43
- jest.isolateModules(() => {
44
- thisDb = require('../db').default; // eslint-disable-line global-require
45
- });
46
-
47
- return expect(thisDb.client).toMatchObject({
48
- mocked: {
49
- database: config.connections.dataApi.database,
50
- resourceArn: config.connections.dataApi.resourceArn,
51
- secretArn: config.connections.dataApi.secretArn,
52
- },
53
- });
54
- });
55
-
56
- it('should update AuroraDb credentials on connect based on rdsProxy config', () => {
57
- config.default = 'rdsProxy';
58
- let thisDb;
59
- jest.isolateModules(() => {
60
- thisDb = require('../db').default; // eslint-disable-line global-require
61
- });
62
-
63
- return expect(thisDb.clientOpts).toMatchObject({
64
- database: config.connections.rdsProxy.database,
65
- host: config.connections.rdsProxy.host,
66
- user: config.connections.rdsProxy.user,
67
- password: config.connections.rdsProxy.password,
68
- });
69
- });
70
- });
@@ -1,27 +0,0 @@
1
- import dynamodb from '../dynamodb';
2
-
3
- describe('test dynamodb utils instantiate', () => {
4
- it('should not throw error on instantiating DynamoDb', () => {
5
- expect(dynamodb.client).toEqual(
6
- expect.objectContaining({
7
- mocked: {
8
- region: 'ap-southeast-1',
9
- },
10
- })
11
- );
12
- });
13
-
14
- it('should update DynamoDb region on connect', () => {
15
- dynamodb.connect({
16
- region: 'us-west-1',
17
- });
18
-
19
- expect(dynamodb.client).toEqual(
20
- expect.objectContaining({
21
- mocked: {
22
- region: 'us-west-1',
23
- },
24
- })
25
- );
26
- });
27
- });
@@ -1,43 +0,0 @@
1
- import es from '../elasticsearch';
2
-
3
- // TODO we'll need to add more expected response
4
-
5
- describe('UtilsGroup: test elasticsearch utils', () => {
6
- it('test creating index', async () => {
7
- await expect(
8
- es().createIndices({
9
- number_of_shards: 3,
10
- number_of_replicas: 2,
11
- })
12
- ).resolves.toMatchObject({
13
- data: {},
14
- mocked: {
15
- params: {
16
- body: {
17
- number_of_shards: 3,
18
- number_of_replicas: 2,
19
- },
20
- index: 'lesgo',
21
- },
22
- },
23
- });
24
-
25
- // test singleton instance
26
- await expect(
27
- es().createIndices({
28
- number_of_shards: 4,
29
- number_of_replicas: 5,
30
- })
31
- ).resolves.toMatchObject({
32
- data: {},
33
- mocked: {
34
- params: {
35
- body: {
36
- number_of_shards: 4,
37
- number_of_replicas: 5,
38
- },
39
- },
40
- },
41
- });
42
- });
43
- });
@@ -1,36 +0,0 @@
1
- import generateUid from '../generateUid';
2
-
3
- describe('UtilsGroup: test generateUid utils', () => {
4
- it('test generating default unique id', async () => {
5
- const uid = await generateUid();
6
- expect(uid.length).toEqual(21);
7
- });
8
-
9
- it('test generating unique id with prefix', async () => {
10
- const uid = await generateUid({ prefix: 'somePrefix' });
11
- expect(uid.length).toEqual(32);
12
- expect(uid.startsWith('somePrefix-')).toBeTruthy();
13
- });
14
-
15
- it('test generating unique id with suffix', async () => {
16
- const uid = await generateUid({ suffix: 'someSuffix' });
17
- expect(uid.length).toEqual(32);
18
- expect(uid.endsWith('-someSuffix')).toBeTruthy();
19
- });
20
-
21
- it('test generating unique id with custom length', async () => {
22
- const uid = await generateUid({ length: 10 });
23
- expect(uid.length).toEqual(10);
24
- });
25
-
26
- it('test generating unique id with all parameters', async () => {
27
- const uid = await generateUid({
28
- length: 15,
29
- prefix: 'somePrefix',
30
- suffix: 'someSuffix',
31
- });
32
- expect(uid.length).toEqual(37);
33
- expect(uid.startsWith('somePrefix-')).toBeTruthy();
34
- expect(uid.endsWith('-someSuffix')).toBeTruthy();
35
- });
36
- });
@@ -1,20 +0,0 @@
1
- import getJwtSubFromAuthHeader from '../getJwtSubFromAuthHeader';
2
-
3
- const authorizationHeader =
4
- 'eyJraWQiOiIzSHc3YmRuUHBIMnJSZWhjT3k5NFRLZm5ybzU0Y1RFUW1lcGtVYWc2bW1vPSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJmMmI1MzQ5ZC1mNWUzLTQ0ZjUtOWMwOC1hZTZiMDFlOTU0MzQiLCJhdWQiOiI0aHM0a2ZpNTAwZWtkajJhZTdiOWExazU4byIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiZXZlbnRfaWQiOiJlNzdiZGZmYy0wYjFjLTQzMzMtYWUxZS1lM2QwNjZkNzAyZGMiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTYxNTYxMTc3NywiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLmFwLXNvdXRoZWFzdC0xLmFtYXpvbmF3cy5jb21cL2FwLXNvdXRoZWFzdC0xXzR3QjFuSmNvSyIsImNvZ25pdG86dXNlcm5hbWUiOiJmMmI1MzQ5ZC1mNWUzLTQ0ZjUtOWMwOC1hZTZiMDFlOTU0MzQiLCJleHAiOjE2MTU2MTUzNzcsImlhdCI6MTYxNTYxMTc3NywiZW1haWwiOiJzdWZpeWFuK3Rlc3RAaW5jdWJlOC5zZyJ9.hbNYnVt6_fhX5KJEfn6Fi9cOZkQAldHGitVBWXSd0_YcWDU_BJ1OVu_VFEKzIvaRLR_zy2eW3dIJ27pn1_6U0sS8MZMsvtz0SKQP4M1hTEnhb5TOSIcOs9Y6ZPy1e1ShIqQmq2j_K1JFzEZH7u3eOmCTmFcs8X5vUk8O1sT2KqBP5UCBVB_4rCVEjbRGdyynqEKcdKkd7Nk6v9onpxRbG3FOg6vlsKSlfZ6RIz3jbjO4ZkCJiYAgrI7bsh2VGwE8pZq80GuQy9pocLkTcZiAFcni50-yvePQX8tkXhPzbp7DibAI6nU87Ol6TW4ZmB-0BZ56Nfeowoe7tT-7hvGkGA';
5
-
6
- describe('test Utils/getJwtSubFromAuthHeader util', () => {
7
- it('should get sub from Authorization header', () => {
8
- expect(getJwtSubFromAuthHeader(authorizationHeader)).toBe(
9
- 'f2b5349d-f5e3-44f5-9c08-ae6b01e95434'
10
- );
11
- });
12
-
13
- it('should get sub as null from missing or empty header', () => {
14
- expect(getJwtSubFromAuthHeader()).toBe(null);
15
- });
16
-
17
- it('should get sub as null from invalid Authorization header', () => {
18
- expect(getJwtSubFromAuthHeader('some-invalid-token')).toBe(null);
19
- });
20
- });
@@ -1,12 +0,0 @@
1
- import isDecimal from '../isDecimal';
2
-
3
- describe('test Utils/isDecimal util', () => {
4
- it('should return false for string', () => {
5
- expect(isDecimal('1')).toBeFalsy();
6
- expect(isDecimal('one')).toBeFalsy();
7
- });
8
-
9
- it('should return true for decimal number', () => {
10
- return expect(isDecimal(1.5)).toBeTruthy();
11
- });
12
- });
@@ -1,28 +0,0 @@
1
- import isEmail from '../isEmail';
2
- import LesgoException from '../../exceptions/LesgoException';
3
-
4
- describe('test isEmail util', () => {
5
- test('isEmail should throws an Error when empty sting parameters were passed', () => {
6
- expect(() => {
7
- isEmail('');
8
- }).toThrow(
9
- new LesgoException('Empty parameter supplied', 'IS_EMAIL_EMPTY_PARAMETER')
10
- );
11
- });
12
-
13
- test('isEmail should throws an Error when null parameters were passed', () => {
14
- expect(() => {
15
- isEmail(null);
16
- }).toThrow(
17
- new LesgoException('Empty parameter supplied', 'IS_EMAIL_EMPTY_PARAMETER')
18
- );
19
- });
20
-
21
- it('isEmail should return false for invalid email ', () => {
22
- return expect(isEmail('test@g')).toBeFalsy();
23
- });
24
-
25
- it('isEmail should return true for valid email', () => {
26
- return expect(isEmail('test@gmail.com')).toBeTruthy();
27
- });
28
- });
@@ -1,31 +0,0 @@
1
- import isEmpty from '../isEmpty';
2
-
3
- describe('test isEmpty util', () => {
4
- it('isEmpty should return true for undefined object', () => {
5
- return expect(isEmpty(undefined)).toBeTruthy();
6
- });
7
-
8
- it('isEmpty should return true for null object', () => {
9
- return expect(isEmpty(null)).toBeTruthy();
10
- });
11
-
12
- it('isEmpty should return true for empty string', () => {
13
- return expect(isEmpty('')).toBeTruthy();
14
- });
15
-
16
- it('isEmpty should return true for empty object', () => {
17
- return expect(isEmpty({})).toBeTruthy();
18
- });
19
-
20
- it('isEmpty should return true for empty array', () => {
21
- return expect(isEmpty([])).toBeTruthy();
22
- });
23
-
24
- it('isEmpty should return false for non-empty array', () => {
25
- return expect(isEmpty(['apple', 'banana', 'chiku'])).toBeFalsy();
26
- });
27
-
28
- it('isEmpty should return false for non-empty object', () => {
29
- return expect(isEmpty({ someKey: 'someValue' })).toBeFalsy();
30
- });
31
- });
@@ -1,11 +0,0 @@
1
- import logger from '../logger';
2
-
3
- describe('UtilsGroup: test logger utils', () => {
4
- it('test logger', () => {
5
- logger.info('some info log');
6
-
7
- expect(logger.transports).toEqual(
8
- expect.arrayContaining([expect.objectContaining({ logType: 'console' })])
9
- );
10
- });
11
- });