lesgo 1.0.0 → 2.1.1
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.
- package/README.md +5 -4
- package/bin/lesgo-scripts.sh +4 -4
- package/dist/config/app.d.ts +7 -0
- package/dist/config/app.js +9 -0
- package/dist/config/aws.d.ts +5 -0
- package/dist/config/aws.js +4 -0
- package/dist/config/basicAuth.d.ts +7 -0
- package/dist/config/basicAuth.js +8 -0
- package/dist/config/crypto.d.ts +10 -0
- package/dist/config/crypto.js +9 -0
- package/dist/config/dynamodb.d.ts +8 -0
- package/dist/config/dynamodb.js +14 -0
- package/dist/config/elasticache.d.ts +7 -0
- package/dist/config/elasticache.js +6 -0
- package/dist/config/index.d.ts +11 -0
- package/dist/config/index.js +11 -0
- package/dist/config/jwt.d.ts +12 -0
- package/dist/config/jwt.js +16 -0
- package/dist/config/rds.d.ts +12 -0
- package/dist/config/rds.js +13 -0
- package/dist/config/s3.d.ts +5 -0
- package/dist/config/s3.js +5 -0
- package/dist/config/secretsManager.d.ts +4 -0
- package/dist/config/secretsManager.js +4 -0
- package/dist/config/sqs.d.ts +9 -0
- package/dist/config/sqs.js +18 -0
- package/dist/exceptions/LesgoException.d.ts +6 -0
- package/{src → dist}/exceptions/LesgoException.js +5 -4
- package/dist/exceptions/index.d.ts +1 -0
- package/dist/exceptions/index.js +1 -0
- package/dist/middlewares/disconnectMiddleware.d.ts +8 -0
- package/dist/middlewares/disconnectMiddleware.js +78 -0
- package/dist/middlewares/httpMiddleware.d.ts +12 -0
- package/dist/middlewares/httpMiddleware.js +74 -0
- package/dist/middlewares/httpResponseMiddleware.d.ts +7 -0
- package/dist/middlewares/httpResponseMiddleware.js +128 -0
- package/dist/middlewares/index.d.ts +7 -0
- package/dist/middlewares/index.js +7 -0
- package/dist/middlewares/invokeCommandMiddleware.d.ts +12 -0
- package/dist/middlewares/invokeCommandMiddleware.js +70 -0
- package/dist/middlewares/sqsMiddleware.d.ts +10 -0
- package/dist/middlewares/sqsMiddleware.js +70 -0
- package/dist/middlewares/verifyBasicAuthMiddleware.d.ts +8 -0
- package/dist/middlewares/verifyBasicAuthMiddleware.js +59 -0
- package/dist/middlewares/verifyJwtMiddleware.d.ts +6 -0
- package/dist/middlewares/verifyJwtMiddleware.js +37 -0
- package/dist/services/DynamoDbService/deleteRecord.d.ts +8 -0
- package/dist/services/DynamoDbService/deleteRecord.js +69 -0
- package/dist/services/DynamoDbService/getClient.d.ts +7 -0
- package/dist/services/DynamoDbService/getClient.js +30 -0
- package/dist/services/DynamoDbService/getTableName.d.ts +2 -0
- package/dist/services/DynamoDbService/getTableName.js +15 -0
- package/dist/services/DynamoDbService/index.d.ts +6 -0
- package/dist/services/DynamoDbService/index.js +6 -0
- package/dist/services/DynamoDbService/putRecord.d.ts +8 -0
- package/dist/services/DynamoDbService/putRecord.js +64 -0
- package/dist/services/DynamoDbService/query.d.ts +7 -0
- package/dist/services/DynamoDbService/query.js +78 -0
- package/dist/services/DynamoDbService/scan.d.ts +7 -0
- package/dist/services/DynamoDbService/scan.js +60 -0
- package/dist/services/DynamoDbService/updateRecord.d.ts +9 -0
- package/dist/services/DynamoDbService/updateRecord.js +89 -0
- package/dist/services/ElastiCacheRedisService/deleteRedisCache.d.ts +3 -0
- package/dist/services/ElastiCacheRedisService/deleteRedisCache.js +62 -0
- package/dist/services/ElastiCacheRedisService/disconnectElastiCacheRedisClient.d.ts +11 -0
- package/dist/services/ElastiCacheRedisService/disconnectElastiCacheRedisClient.js +69 -0
- package/dist/services/ElastiCacheRedisService/getElastiCacheRedisClient.d.ts +12 -0
- package/dist/services/ElastiCacheRedisService/getElastiCacheRedisClient.js +114 -0
- package/dist/services/ElastiCacheRedisService/getRedisCache.d.ts +3 -0
- package/dist/services/ElastiCacheRedisService/getRedisCache.js +70 -0
- package/dist/services/ElastiCacheRedisService/index.d.ts +5 -0
- package/dist/services/ElastiCacheRedisService/index.js +5 -0
- package/dist/services/ElastiCacheRedisService/setRedisCache.d.ts +6 -0
- package/dist/services/ElastiCacheRedisService/setRedisCache.js +77 -0
- package/dist/services/JWTService/decodeJwt.d.ts +7 -0
- package/dist/services/JWTService/decodeJwt.js +9 -0
- package/dist/services/JWTService/getJwtSecret.d.ts +13 -0
- package/dist/services/JWTService/getJwtSecret.js +54 -0
- package/dist/services/JWTService/index.d.ts +2 -0
- package/dist/services/JWTService/index.js +2 -0
- package/dist/services/JWTService/sign.d.ts +3 -0
- package/dist/services/JWTService/sign.js +31 -0
- package/dist/services/JWTService/verify.d.ts +7 -0
- package/dist/services/JWTService/verify.js +61 -0
- package/dist/services/LoggerService.d.ts +46 -0
- package/{src → dist}/services/LoggerService.js +29 -60
- package/dist/services/RDSAuroraMySQLProxyService/disconnectMySQLProxyClient.d.ts +2 -0
- package/dist/services/RDSAuroraMySQLProxyService/disconnectMySQLProxyClient.js +60 -0
- package/dist/services/RDSAuroraMySQLProxyService/getMySQLProxyClient.d.ts +8 -0
- package/dist/services/RDSAuroraMySQLProxyService/getMySQLProxyClient.js +87 -0
- package/dist/services/RDSAuroraMySQLProxyService/index.d.ts +3 -0
- package/dist/services/RDSAuroraMySQLProxyService/index.js +3 -0
- package/dist/services/RDSAuroraMySQLProxyService/query.d.ts +4 -0
- package/dist/services/RDSAuroraMySQLProxyService/query.js +63 -0
- package/dist/services/S3Service/getClient.d.ts +4 -0
- package/dist/services/S3Service/getClient.js +28 -0
- package/dist/services/S3Service/getDownloadSignedUrl.d.ts +7 -0
- package/dist/services/S3Service/getDownloadSignedUrl.js +58 -0
- package/dist/services/S3Service/getHeadObject.d.ts +13 -0
- package/dist/services/S3Service/getHeadObject.js +83 -0
- package/dist/services/S3Service/getObject.d.ts +10 -0
- package/dist/services/S3Service/getObject.js +89 -0
- package/dist/services/S3Service/getUploadSignedUrl.d.ts +7 -0
- package/dist/services/S3Service/getUploadSignedUrl.js +61 -0
- package/dist/services/S3Service/index.d.ts +6 -0
- package/dist/services/S3Service/index.js +6 -0
- package/dist/services/S3Service/putObject.d.ts +9 -0
- package/dist/services/S3Service/putObject.js +77 -0
- package/dist/services/SQSService/deleteMessage.d.ts +9 -0
- package/dist/services/SQSService/deleteMessage.js +69 -0
- package/dist/services/SQSService/dispatch.d.ts +9 -0
- package/dist/services/SQSService/dispatch.js +71 -0
- package/dist/services/SQSService/getClient.d.ts +4 -0
- package/dist/services/SQSService/getClient.js +28 -0
- package/dist/services/SQSService/getQueueUrl.d.ts +7 -0
- package/dist/services/SQSService/getQueueUrl.js +25 -0
- package/dist/services/SQSService/index.d.ts +4 -0
- package/dist/services/SQSService/index.js +4 -0
- package/dist/services/SQSService/receiveMessages.d.ts +8 -0
- package/dist/services/SQSService/receiveMessages.js +65 -0
- package/dist/services/SecretsManagerService/getClient.d.ts +7 -0
- package/dist/services/SecretsManagerService/getClient.js +28 -0
- package/dist/services/SecretsManagerService/getSecretValue.d.ts +7 -0
- package/dist/services/SecretsManagerService/getSecretValue.js +65 -0
- package/dist/services/SecretsManagerService/index.d.ts +2 -0
- package/dist/services/SecretsManagerService/index.js +2 -0
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.js +1 -0
- package/dist/types/aws.d.ts +8 -0
- package/dist/types/aws.js +1 -0
- package/dist/utils/cache/redis/deleteCache.d.ts +19 -0
- package/dist/utils/cache/redis/deleteCache.js +21 -0
- package/dist/utils/cache/redis/getCache.d.ts +22 -0
- package/dist/utils/cache/redis/getCache.js +24 -0
- package/dist/utils/cache/redis/getClient.d.ts +30 -0
- package/dist/utils/cache/redis/getClient.js +32 -0
- package/dist/utils/cache/redis/index.d.ts +4 -0
- package/dist/utils/cache/redis/index.js +4 -0
- package/dist/utils/cache/redis/setCache.d.ts +25 -0
- package/dist/utils/cache/redis/setCache.js +26 -0
- package/dist/utils/crypto/decrypt.d.ts +33 -0
- package/dist/utils/crypto/decrypt.js +59 -0
- package/dist/utils/crypto/encrypt.d.ts +31 -0
- package/dist/utils/crypto/encrypt.js +41 -0
- package/dist/utils/crypto/hash.d.ts +31 -0
- package/dist/utils/crypto/hash.js +56 -0
- package/dist/utils/crypto/index.d.ts +3 -0
- package/dist/utils/crypto/index.js +3 -0
- package/dist/utils/crypto/validateEncryptionFields.d.ts +19 -0
- package/dist/utils/crypto/validateEncryptionFields.js +71 -0
- package/dist/utils/db/mysql/proxy/disconnect.d.ts +2 -0
- package/dist/utils/db/mysql/proxy/disconnect.js +5 -0
- package/dist/utils/db/mysql/proxy/disconnectDb.d.ts +2 -0
- package/dist/utils/db/mysql/proxy/disconnectDb.js +5 -0
- package/dist/utils/db/mysql/proxy/getClient.d.ts +4 -0
- package/dist/utils/db/mysql/proxy/getClient.js +5 -0
- package/dist/utils/db/mysql/proxy/index.d.ts +3 -0
- package/dist/utils/db/mysql/proxy/index.js +3 -0
- package/dist/utils/db/mysql/proxy/query.d.ts +4 -0
- package/dist/utils/db/mysql/proxy/query.js +45 -0
- package/dist/utils/dynamodb/deleteRecord.d.ts +5 -0
- package/dist/utils/dynamodb/deleteRecord.js +39 -0
- package/dist/utils/dynamodb/getClient.d.ts +3 -0
- package/dist/utils/dynamodb/getClient.js +5 -0
- package/dist/utils/dynamodb/index.d.ts +6 -0
- package/dist/utils/dynamodb/index.js +6 -0
- package/dist/utils/dynamodb/putRecord.d.ts +4 -0
- package/dist/utils/dynamodb/putRecord.js +39 -0
- package/dist/utils/dynamodb/query.d.ts +5 -0
- package/dist/utils/dynamodb/query.js +52 -0
- package/dist/utils/dynamodb/scan.d.ts +4 -0
- package/dist/utils/dynamodb/scan.js +40 -0
- package/dist/utils/dynamodb/updateRecord.d.ts +5 -0
- package/dist/utils/dynamodb/updateRecord.js +53 -0
- package/dist/utils/formatUnixTimestamp.d.ts +8 -0
- package/dist/utils/formatUnixTimestamp.js +17 -0
- package/dist/utils/generateUid.d.ts +13 -0
- package/{src → dist}/utils/generateUid.js +9 -4
- package/dist/utils/getCurrentDatetime.d.ts +2 -0
- package/dist/utils/getCurrentDatetime.js +4 -0
- package/dist/utils/getCurrentTimestamp.d.ts +7 -0
- package/dist/utils/getCurrentTimestamp.js +9 -0
- package/dist/utils/getJwtSubFromAuthHeader.d.ts +9 -0
- package/dist/utils/getJwtSubFromAuthHeader.js +24 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/isDecimal.d.ts +8 -0
- package/dist/utils/isDecimal.js +9 -0
- package/dist/utils/isEmail.d.ts +9 -0
- package/{src → dist}/utils/isEmail.js +9 -4
- package/dist/utils/isEmpty.d.ts +8 -0
- package/dist/utils/isEmpty.js +19 -0
- package/dist/utils/jwt/index.d.ts +2 -0
- package/dist/utils/jwt/index.js +2 -0
- package/dist/utils/jwt/sign.d.ts +3 -0
- package/dist/utils/jwt/sign.js +5 -0
- package/dist/utils/jwt/verify.d.ts +3 -0
- package/dist/utils/jwt/verify.js +12 -0
- package/dist/utils/logger.d.ts +20 -0
- package/dist/utils/logger.js +38 -0
- package/dist/utils/s3/getClient.d.ts +3 -0
- package/dist/utils/s3/getClient.js +5 -0
- package/dist/utils/s3/getDownloadSignedUrl.d.ts +5 -0
- package/dist/utils/s3/getDownloadSignedUrl.js +39 -0
- package/dist/utils/s3/getHeadObject.d.ts +10 -0
- package/dist/utils/s3/getHeadObject.js +39 -0
- package/dist/utils/s3/getObject.d.ts +13 -0
- package/dist/utils/s3/getObject.js +51 -0
- package/dist/utils/s3/getUploadSignedUrl.d.ts +5 -0
- package/dist/utils/s3/getUploadSignedUrl.js +39 -0
- package/dist/utils/s3/index.d.ts +6 -0
- package/dist/utils/s3/index.js +6 -0
- package/dist/utils/s3/putObject.d.ts +5 -0
- package/dist/utils/s3/putObject.js +39 -0
- package/dist/utils/secretsmanager/getClient.d.ts +3 -0
- package/dist/utils/secretsmanager/getClient.js +5 -0
- package/dist/utils/secretsmanager/getSecretValue.d.ts +4 -0
- package/dist/utils/secretsmanager/getSecretValue.js +68 -0
- package/dist/utils/secretsmanager/index.d.ts +2 -0
- package/dist/utils/secretsmanager/index.js +2 -0
- package/dist/utils/sqs/deleteMessage.d.ts +5 -0
- package/dist/utils/sqs/deleteMessage.js +39 -0
- package/dist/utils/sqs/dispatch.d.ts +5 -0
- package/dist/utils/sqs/dispatch.js +39 -0
- package/dist/utils/sqs/getClient.d.ts +3 -0
- package/dist/utils/sqs/getClient.js +5 -0
- package/dist/utils/sqs/index.d.ts +4 -0
- package/dist/utils/sqs/index.js +4 -0
- package/dist/utils/sqs/receiveMessages.d.ts +5 -0
- package/dist/utils/sqs/receiveMessages.js +39 -0
- package/dist/utils/validateFields.d.ts +22 -0
- package/{src → dist}/utils/validateFields.js +13 -19
- package/package.json +145 -34
- package/src/exceptions/__tests__/LesgoException.spec.js +0 -24
- package/src/exceptions/index.js +0 -4
- package/src/index.js +0 -4
- package/src/middlewares/__mocks__/ValidationErrorException.js +0 -18
- package/src/middlewares/__tests__/basicAuthMiddleware.spec.js +0 -264
- package/src/middlewares/__tests__/clientAuthMiddleware.spec.js +0 -235
- package/src/middlewares/__tests__/errorHttpResponseMiddleware.spec.js +0 -203
- package/src/middlewares/__tests__/gzipHttpResponse.spec.js +0 -185
- package/src/middlewares/__tests__/httpNoOutputMiddleware.spec.js +0 -201
- package/src/middlewares/__tests__/normalizeHttpRequestMiddleware.spec.js +0 -181
- package/src/middlewares/__tests__/normalizeSQSMessageMiddleware.spec.js +0 -120
- package/src/middlewares/__tests__/successHttpResponseMiddleware.spec.js +0 -172
- package/src/middlewares/__tests__/verifyJwtMiddleware.spec.js +0 -297
- package/src/middlewares/basicAuthMiddleware.js +0 -125
- package/src/middlewares/clientAuthMiddleware.js +0 -103
- package/src/middlewares/errorHttpResponseMiddleware.js +0 -101
- package/src/middlewares/gzipHttpResponse.js +0 -98
- package/src/middlewares/httpMiddleware.js +0 -19
- package/src/middlewares/httpNoOutputMiddleware.js +0 -91
- package/src/middlewares/index.js +0 -19
- package/src/middlewares/normalizeHttpRequestMiddleware.js +0 -101
- package/src/middlewares/normalizeSQSMessageMiddleware.js +0 -67
- package/src/middlewares/successHttpResponseMiddleware.js +0 -85
- package/src/middlewares/verifyJwtMiddleware.js +0 -73
- package/src/services/AuroraDbRDSProxyService.js +0 -182
- package/src/services/AuroraDbService.js +0 -111
- package/src/services/DynamoDbService.js +0 -177
- package/src/services/ElastiCacheService.js +0 -17
- package/src/services/ElasticsearchService.js +0 -181
- package/src/services/FirebaseAdminService.js +0 -108
- package/src/services/JwtService.js +0 -52
- package/src/services/S3Service.js +0 -59
- package/src/services/SQSService.js +0 -65
- package/src/services/__tests__/AuroraDbRDSProxyService.spec.js +0 -278
- package/src/services/__tests__/AuroraDbService.spec.js +0 -211
- package/src/services/__tests__/AwsElasticsearchConnection.spec.js +0 -89
- package/src/services/__tests__/DynamoDbService.spec.js +0 -314
- package/src/services/__tests__/ElasticsearchService.spec.js +0 -201
- package/src/services/__tests__/FirebaseAdminService.spec.js +0 -356
- package/src/services/__tests__/JwtService.spec.js +0 -35
- package/src/services/__tests__/LengthAwarePaginator.spec.js +0 -223
- package/src/services/__tests__/LoggerService.spec.js +0 -267
- package/src/services/__tests__/Paginator.spec.js +0 -383
- package/src/services/__tests__/S3Service.spec.js +0 -55
- package/src/services/__tests__/SQSService.spec.js +0 -47
- package/src/services/__tests__/SignedRequest.spec.js +0 -103
- package/src/services/aws/AwsElasticsearchConnection.js +0 -59
- package/src/services/aws/SignedRequest.js +0 -158
- package/src/services/index.js +0 -19
- package/src/services/pagination/LengthAwarePaginator.js +0 -49
- package/src/services/pagination/Paginator.js +0 -260
- package/src/utils/__mocks__/db.js +0 -109
- package/src/utils/__tests__/cache.spec.js +0 -131
- package/src/utils/__tests__/crypto.spec.js +0 -122
- package/src/utils/__tests__/db.spec.js +0 -70
- package/src/utils/__tests__/dynamodb.spec.js +0 -27
- package/src/utils/__tests__/elasticsearch.spec.js +0 -43
- package/src/utils/__tests__/generateUid.spec.js +0 -36
- package/src/utils/__tests__/getJwtSubFromAuthHeader.spec.js +0 -20
- package/src/utils/__tests__/isDecimal.spec.js +0 -12
- package/src/utils/__tests__/isEmail.spec.js +0 -28
- package/src/utils/__tests__/isEmpty.spec.js +0 -31
- package/src/utils/__tests__/logger.spec.js +0 -11
- package/src/utils/__tests__/objectStore.spec.js +0 -67
- package/src/utils/__tests__/prepSQLInsertParams.spec.js +0 -46
- package/src/utils/__tests__/prepSQLUpdateParams.spec.js +0 -36
- package/src/utils/__tests__/queue.spec.js +0 -54
- package/src/utils/__tests__/validateFields.spec.js +0 -374
- package/src/utils/cache.js +0 -215
- package/src/utils/crypto.js +0 -77
- package/src/utils/db.js +0 -17
- package/src/utils/dynamodb.js +0 -6
- package/src/utils/elasticsearch.js +0 -20
- package/src/utils/getJwtSubFromAuthHeader.js +0 -18
- package/src/utils/index.js +0 -26
- package/src/utils/isDecimal.js +0 -2
- package/src/utils/isEmpty.js +0 -6
- package/src/utils/logger.js +0 -25
- package/src/utils/objectStore.js +0 -11
- package/src/utils/prepSQLInsertParams.js +0 -21
- package/src/utils/prepSQLUpdateParams.js +0 -25
- package/src/utils/queue.js +0 -11
|
@@ -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
|
-
});
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import s3, { getObject } from '../objectStore';
|
|
2
|
-
import LesgoException from '../../exceptions/LesgoException';
|
|
3
|
-
|
|
4
|
-
describe('UtilsGroup: test objectStore utils', () => {
|
|
5
|
-
it('test objectStore.getObject', () => {
|
|
6
|
-
return expect(
|
|
7
|
-
// eslint-disable-next-line import/no-named-as-default-member
|
|
8
|
-
s3.getObject('someKey', 'someBucket')
|
|
9
|
-
).resolves.toMatchObject({
|
|
10
|
-
LastModified: '2019-09-04T05:00:57.000Z',
|
|
11
|
-
ContentLength: 27892,
|
|
12
|
-
ETag: '38e6c8a510f49edec0ad4244a7665312',
|
|
13
|
-
ContentType: '.jpg',
|
|
14
|
-
Metadata: {},
|
|
15
|
-
Body: {
|
|
16
|
-
type: 'Buffer',
|
|
17
|
-
data: [],
|
|
18
|
-
},
|
|
19
|
-
mocked: {
|
|
20
|
-
opts: {},
|
|
21
|
-
params: {
|
|
22
|
-
Key: 'someKey',
|
|
23
|
-
Bucket: 'someBucket',
|
|
24
|
-
},
|
|
25
|
-
},
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
it('test objectStore getObject', () => {
|
|
30
|
-
return expect(getObject('someKey', 'someBucket')).resolves.toMatchObject({
|
|
31
|
-
LastModified: '2019-09-04T05:00:57.000Z',
|
|
32
|
-
ContentLength: 27892,
|
|
33
|
-
ETag: '38e6c8a510f49edec0ad4244a7665312',
|
|
34
|
-
ContentType: '.jpg',
|
|
35
|
-
Metadata: {},
|
|
36
|
-
Body: {
|
|
37
|
-
type: 'Buffer',
|
|
38
|
-
data: [],
|
|
39
|
-
},
|
|
40
|
-
mocked: {
|
|
41
|
-
opts: {},
|
|
42
|
-
params: {
|
|
43
|
-
Key: 'someKey',
|
|
44
|
-
Bucket: 'someBucket',
|
|
45
|
-
},
|
|
46
|
-
},
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
it('test objectStore getObject with empty key', () => {
|
|
51
|
-
return expect(() => getObject()).toThrow(
|
|
52
|
-
new LesgoException(
|
|
53
|
-
'Key is undefined in S3Service.getObject()',
|
|
54
|
-
'S3SERVICE_GETOBJECT_KEY_UNDEFINED'
|
|
55
|
-
)
|
|
56
|
-
);
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
it('test objectStore getObject with empty bucket', () => {
|
|
60
|
-
return expect(() => getObject('someKey')).toThrow(
|
|
61
|
-
new LesgoException(
|
|
62
|
-
'Bucket is undefined in S3Service.getObject()',
|
|
63
|
-
'S3SERVICE_GETOBJECT_BUCKET_UNDEFINED'
|
|
64
|
-
)
|
|
65
|
-
);
|
|
66
|
-
});
|
|
67
|
-
});
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import prepSQLInsertParams from '../prepSQLInsertParams';
|
|
2
|
-
|
|
3
|
-
const columns = [
|
|
4
|
-
{ key: 'uid', type: 'string', required: true },
|
|
5
|
-
{
|
|
6
|
-
key: 'type',
|
|
7
|
-
type: 'enum',
|
|
8
|
-
enumValues: ['photo', 'video'],
|
|
9
|
-
required: true,
|
|
10
|
-
},
|
|
11
|
-
{ key: 'table_name', type: 'string', required: false },
|
|
12
|
-
{ key: 'row_id', type: 'number', required: false },
|
|
13
|
-
{ key: 'id', type: 'number', required: true },
|
|
14
|
-
];
|
|
15
|
-
|
|
16
|
-
describe('test prepSQLInsertParams util', () => {
|
|
17
|
-
test('should return all the fields if provided', () => {
|
|
18
|
-
const params = {
|
|
19
|
-
uid: 'sample-123123',
|
|
20
|
-
type: 'photo',
|
|
21
|
-
table_name: 'medias',
|
|
22
|
-
row_id: 123,
|
|
23
|
-
id: 123,
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
expect(prepSQLInsertParams(params, columns)).toMatchObject({
|
|
27
|
-
insertColumns: 'uid,type,table_name,row_id,id',
|
|
28
|
-
insertValues: ':uid,:type,:table_name,:row_id,:id',
|
|
29
|
-
insertFields: params,
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
test('should return only the given fields', () => {
|
|
34
|
-
const params = {
|
|
35
|
-
uid: 'sample-123123',
|
|
36
|
-
type: 'photo',
|
|
37
|
-
id: 123,
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
expect(prepSQLInsertParams(params, columns)).toMatchObject({
|
|
41
|
-
insertColumns: 'uid,type,id',
|
|
42
|
-
insertValues: ':uid,:type,:id',
|
|
43
|
-
insertFields: params,
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
});
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import prepSQLUpdateParams from '../prepSQLUpdateParams';
|
|
2
|
-
|
|
3
|
-
const columns = [
|
|
4
|
-
{ key: 'id', type: 'number', required: true },
|
|
5
|
-
{ key: 'table_name', type: 'string', required: false },
|
|
6
|
-
{ key: 'row_id', type: 'number', required: false },
|
|
7
|
-
];
|
|
8
|
-
|
|
9
|
-
describe('test prepSQLUpdateParams util', () => {
|
|
10
|
-
test('should return all the fields if provided', () => {
|
|
11
|
-
const params = {
|
|
12
|
-
id: 123,
|
|
13
|
-
table_name: 'users',
|
|
14
|
-
row_id: 123,
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
expect(prepSQLUpdateParams(params, columns)).toMatchObject({
|
|
18
|
-
updateColumnValues: 'table_name=:table_name,row_id=:row_id',
|
|
19
|
-
wherePrimaryKey: 'id=:id',
|
|
20
|
-
updateFields: params,
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
test('should return only the provided fields', () => {
|
|
25
|
-
const params = {
|
|
26
|
-
id: 123,
|
|
27
|
-
row_id: 124,
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
expect(prepSQLUpdateParams(params, columns)).toMatchObject({
|
|
31
|
-
updateColumnValues: 'row_id=:row_id',
|
|
32
|
-
wherePrimaryKey: 'id=:id',
|
|
33
|
-
updateFields: params,
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
});
|