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.
- package/README.md +5 -4
- package/bin/lesgo-scripts.sh +52 -7
- 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 +36 -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/CHANGELOG.md +0 -9
- 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 -225
- package/src/middlewares/__tests__/clientAuthMiddleware.spec.js +0 -137
- package/src/middlewares/__tests__/errorHttpResponseMiddleware.spec.js +0 -190
- package/src/middlewares/__tests__/gzipHttpResponse.spec.js +0 -185
- package/src/middlewares/__tests__/httpNoOutputMiddleware.spec.js +0 -199
- package/src/middlewares/__tests__/normalizeHttpRequestMiddleware.spec.js +0 -181
- package/src/middlewares/__tests__/normalizeSQSMessageMiddleware.spec.js +0 -120
- package/src/middlewares/__tests__/serverAuthMiddleware.spec.js +0 -170
- package/src/middlewares/__tests__/successHttpResponseMiddleware.spec.js +0 -159
- package/src/middlewares/__tests__/verifyJwtMiddleware.spec.js +0 -222
- package/src/middlewares/basicAuthMiddleware.js +0 -145
- package/src/middlewares/clientAuthMiddleware.js +0 -82
- package/src/middlewares/errorHttpResponseMiddleware.js +0 -99
- package/src/middlewares/gzipHttpResponse.js +0 -98
- package/src/middlewares/httpMiddleware.js +0 -19
- package/src/middlewares/httpNoOutputMiddleware.js +0 -87
- package/src/middlewares/index.js +0 -15
- package/src/middlewares/normalizeHttpRequestMiddleware.js +0 -101
- package/src/middlewares/normalizeSQSMessageMiddleware.js +0 -67
- package/src/middlewares/serverAuthMiddleware.js +0 -29
- package/src/middlewares/successHttpResponseMiddleware.js +0 -83
- package/src/middlewares/verifyJwtMiddleware.js +0 -62
- 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 -252
- 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,252 +0,0 @@
|
|
|
1
|
-
/* eslint no-console: 0 */
|
|
2
|
-
|
|
3
|
-
import LoggerService from '../LoggerService';
|
|
4
|
-
import LesgoException from '../../exceptions/LesgoException';
|
|
5
|
-
|
|
6
|
-
describe('ServicesGroup: test LoggerService instantiation', () => {
|
|
7
|
-
it('test instantiate default LoggerService', () => {
|
|
8
|
-
const logger = new LoggerService();
|
|
9
|
-
|
|
10
|
-
expect(logger.logger).toBe('lesgo-logger');
|
|
11
|
-
expect(logger.meta).toMatchObject({});
|
|
12
|
-
expect(logger.transports).toEqual(expect.arrayContaining([]));
|
|
13
|
-
expect(logger.logLevels).toMatchObject({
|
|
14
|
-
error: 0,
|
|
15
|
-
warn: 1,
|
|
16
|
-
info: 2,
|
|
17
|
-
debug: 3,
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
it('test instantiate LoggerService with console transport', () => {
|
|
22
|
-
const logger = new LoggerService({
|
|
23
|
-
transports: [
|
|
24
|
-
{
|
|
25
|
-
logType: 'console',
|
|
26
|
-
level: 'info',
|
|
27
|
-
config: {
|
|
28
|
-
getCreatedAt: true,
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
],
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
expect(logger.logger).toBe('lesgo-logger');
|
|
35
|
-
expect(logger.meta).toMatchObject({});
|
|
36
|
-
expect(logger.transports[0]).toMatchObject({
|
|
37
|
-
logType: 'console',
|
|
38
|
-
level: 'info',
|
|
39
|
-
config: {
|
|
40
|
-
getCreatedAt: true,
|
|
41
|
-
},
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
it('test instantiate LoggerService with default meta', () => {
|
|
46
|
-
const logger = new LoggerService({
|
|
47
|
-
defaultMeta: {
|
|
48
|
-
someMeta1: 'someMeta1',
|
|
49
|
-
someMeta2: 'someMeta2',
|
|
50
|
-
},
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
expect(logger.logger).toBe('lesgo-logger');
|
|
54
|
-
expect(logger.meta).toMatchObject({
|
|
55
|
-
someMeta1: 'someMeta1',
|
|
56
|
-
someMeta2: 'someMeta2',
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
describe('ServicesGroup: test log LoggerService with console transport', () => {
|
|
62
|
-
const consoleTransportConfig = {
|
|
63
|
-
transports: [
|
|
64
|
-
{
|
|
65
|
-
logType: 'console',
|
|
66
|
-
level: 'info',
|
|
67
|
-
config: {
|
|
68
|
-
tags: {
|
|
69
|
-
addTag: 'config.tags.addTag',
|
|
70
|
-
},
|
|
71
|
-
meta: {
|
|
72
|
-
addMeta: 'config.meta.addMeta',
|
|
73
|
-
},
|
|
74
|
-
},
|
|
75
|
-
},
|
|
76
|
-
],
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
it('test log with undefined level', () => {
|
|
80
|
-
const logger = new LoggerService();
|
|
81
|
-
expect(() => logger.log('invalidLevel', 'some message')).toThrow(
|
|
82
|
-
new LesgoException('Invalid level provided in log()')
|
|
83
|
-
);
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
it('test log with undefined transport', () => {
|
|
87
|
-
const logger = new LoggerService();
|
|
88
|
-
logger.log('info', 'some info log');
|
|
89
|
-
|
|
90
|
-
expect(console.info).not.toHaveBeenCalled();
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
it('test log with log method', () => {
|
|
94
|
-
const logger = new LoggerService({ transports: [{ logType: 'console' }] });
|
|
95
|
-
logger.log('info', 'some info log');
|
|
96
|
-
|
|
97
|
-
expect(console.info).toHaveBeenCalledWith(
|
|
98
|
-
JSON.stringify({
|
|
99
|
-
level: 'info',
|
|
100
|
-
message: 'some info log',
|
|
101
|
-
logger: 'lesgo-logger',
|
|
102
|
-
extra: {},
|
|
103
|
-
})
|
|
104
|
-
);
|
|
105
|
-
});
|
|
106
|
-
|
|
107
|
-
it('test log with info level', () => {
|
|
108
|
-
const logger = new LoggerService({ transports: [{ logType: 'console' }] });
|
|
109
|
-
logger.info('some info log');
|
|
110
|
-
|
|
111
|
-
expect(console.info).toHaveBeenCalledWith(
|
|
112
|
-
JSON.stringify({
|
|
113
|
-
level: 'info',
|
|
114
|
-
message: 'some info log',
|
|
115
|
-
logger: 'lesgo-logger',
|
|
116
|
-
extra: {},
|
|
117
|
-
})
|
|
118
|
-
);
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
it('test log with debug level', () => {
|
|
122
|
-
const logger = new LoggerService({ transports: [{ logType: 'console' }] });
|
|
123
|
-
logger.debug('some debug log');
|
|
124
|
-
|
|
125
|
-
expect(console.debug).toHaveBeenCalledWith(
|
|
126
|
-
JSON.stringify({
|
|
127
|
-
level: 'debug',
|
|
128
|
-
message: 'some debug log',
|
|
129
|
-
logger: 'lesgo-logger',
|
|
130
|
-
extra: {},
|
|
131
|
-
})
|
|
132
|
-
);
|
|
133
|
-
});
|
|
134
|
-
|
|
135
|
-
it('test log with warn level', () => {
|
|
136
|
-
const logger = new LoggerService({ transports: [{ logType: 'console' }] });
|
|
137
|
-
logger.warn('some warn log');
|
|
138
|
-
|
|
139
|
-
expect(console.warn).toHaveBeenCalledWith(
|
|
140
|
-
JSON.stringify({
|
|
141
|
-
level: 'warn',
|
|
142
|
-
message: 'some warn log',
|
|
143
|
-
logger: 'lesgo-logger',
|
|
144
|
-
extra: {},
|
|
145
|
-
})
|
|
146
|
-
);
|
|
147
|
-
});
|
|
148
|
-
|
|
149
|
-
it('test log with error level', () => {
|
|
150
|
-
const logger = new LoggerService({ transports: [{ logType: 'console' }] });
|
|
151
|
-
logger.error('some error log');
|
|
152
|
-
|
|
153
|
-
expect(console.error).toHaveBeenCalledWith(
|
|
154
|
-
JSON.stringify({
|
|
155
|
-
level: 'error',
|
|
156
|
-
message: 'some error log',
|
|
157
|
-
logger: 'lesgo-logger',
|
|
158
|
-
extra: {},
|
|
159
|
-
})
|
|
160
|
-
);
|
|
161
|
-
});
|
|
162
|
-
|
|
163
|
-
it('test log with custom meta', () => {
|
|
164
|
-
const logger = new LoggerService({ transports: [{ logType: 'console' }] });
|
|
165
|
-
logger.addMeta({
|
|
166
|
-
someMeta: 'someMeta',
|
|
167
|
-
});
|
|
168
|
-
logger.log('info', 'some info log');
|
|
169
|
-
|
|
170
|
-
expect(console.info).toHaveBeenCalledWith(
|
|
171
|
-
JSON.stringify({
|
|
172
|
-
level: 'info',
|
|
173
|
-
message: 'some info log',
|
|
174
|
-
logger: 'lesgo-logger',
|
|
175
|
-
extra: {
|
|
176
|
-
someMeta: 'someMeta',
|
|
177
|
-
},
|
|
178
|
-
})
|
|
179
|
-
);
|
|
180
|
-
});
|
|
181
|
-
|
|
182
|
-
it('test log with custom empty meta', () => {
|
|
183
|
-
console.info = jest.fn();
|
|
184
|
-
|
|
185
|
-
const logger = new LoggerService({ transports: [{ logType: 'console' }] });
|
|
186
|
-
logger.addMeta();
|
|
187
|
-
logger.log('info', 'some info log');
|
|
188
|
-
|
|
189
|
-
expect(console.info).toHaveBeenCalledWith(
|
|
190
|
-
JSON.stringify({
|
|
191
|
-
level: 'info',
|
|
192
|
-
message: 'some info log',
|
|
193
|
-
logger: 'lesgo-logger',
|
|
194
|
-
extra: {},
|
|
195
|
-
})
|
|
196
|
-
);
|
|
197
|
-
});
|
|
198
|
-
|
|
199
|
-
it('test log with lower level', () => {
|
|
200
|
-
console.info = jest.fn();
|
|
201
|
-
|
|
202
|
-
const logger = new LoggerService({
|
|
203
|
-
transports: [{ logType: 'console', level: 'error' }],
|
|
204
|
-
});
|
|
205
|
-
logger.log('info', 'some info log');
|
|
206
|
-
|
|
207
|
-
expect(console.info).not.toHaveBeenCalled();
|
|
208
|
-
});
|
|
209
|
-
|
|
210
|
-
it('test log with additional meta in config', () => {
|
|
211
|
-
const logger = new LoggerService(consoleTransportConfig);
|
|
212
|
-
logger.log('info', 'some info log');
|
|
213
|
-
|
|
214
|
-
expect(console.info).toHaveBeenCalledWith(
|
|
215
|
-
JSON.stringify({
|
|
216
|
-
level: 'info',
|
|
217
|
-
message: 'some info log',
|
|
218
|
-
logger: 'lesgo-logger',
|
|
219
|
-
extra: {
|
|
220
|
-
addMeta: 'config.meta.addMeta',
|
|
221
|
-
},
|
|
222
|
-
tags: {
|
|
223
|
-
addTag: 'config.tags.addTag',
|
|
224
|
-
},
|
|
225
|
-
})
|
|
226
|
-
);
|
|
227
|
-
});
|
|
228
|
-
|
|
229
|
-
it('test log with additional tag and meta in message log', () => {
|
|
230
|
-
const logger = new LoggerService(consoleTransportConfig);
|
|
231
|
-
logger.log('info', 'some info log', {
|
|
232
|
-
tags: { addTag2: 'someTag' },
|
|
233
|
-
someMoreMeta: 'someMetaAdded',
|
|
234
|
-
});
|
|
235
|
-
|
|
236
|
-
expect(console.info).toHaveBeenCalledWith(
|
|
237
|
-
JSON.stringify({
|
|
238
|
-
level: 'info',
|
|
239
|
-
message: 'some info log',
|
|
240
|
-
logger: 'lesgo-logger',
|
|
241
|
-
extra: {
|
|
242
|
-
someMoreMeta: 'someMetaAdded',
|
|
243
|
-
addMeta: 'config.meta.addMeta',
|
|
244
|
-
},
|
|
245
|
-
tags: {
|
|
246
|
-
addTag: 'config.tags.addTag',
|
|
247
|
-
addTag2: 'someTag',
|
|
248
|
-
},
|
|
249
|
-
})
|
|
250
|
-
);
|
|
251
|
-
});
|
|
252
|
-
});
|
|
@@ -1,383 +0,0 @@
|
|
|
1
|
-
import Paginator from '../pagination/Paginator';
|
|
2
|
-
import {
|
|
3
|
-
mockData,
|
|
4
|
-
mockDataFirstItem,
|
|
5
|
-
mockDataLastItem,
|
|
6
|
-
} from '../../utils/__mocks__/db';
|
|
7
|
-
import db from '../../utils/db';
|
|
8
|
-
|
|
9
|
-
jest.mock('../../utils/db');
|
|
10
|
-
|
|
11
|
-
beforeEach(() => {
|
|
12
|
-
db.select.mockClear();
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
const FILE = 'Services/pagination/Paginator';
|
|
16
|
-
|
|
17
|
-
describe('test Paginator instantiate', () => {
|
|
18
|
-
it.each`
|
|
19
|
-
currentPage | perPage | expectedCount | firstItem | lastItem
|
|
20
|
-
${undefined} | ${undefined} | ${10} | ${mockData} | ${mockData}
|
|
21
|
-
${undefined} | ${5} | ${5} | ${mockDataFirstItem} | ${mockDataLastItem}
|
|
22
|
-
`(
|
|
23
|
-
'should not throw exception if page is $page and perPage is $perPage',
|
|
24
|
-
async ({ currentPage, perPage, expectedCount, firstItem, lastItem }) => {
|
|
25
|
-
const paginator = new Paginator(
|
|
26
|
-
db,
|
|
27
|
-
'SELECT * FROM tests',
|
|
28
|
-
{},
|
|
29
|
-
{
|
|
30
|
-
perPage,
|
|
31
|
-
currentPage,
|
|
32
|
-
}
|
|
33
|
-
);
|
|
34
|
-
|
|
35
|
-
expect(await paginator.count()).toEqual(expectedCount);
|
|
36
|
-
expect(paginator.currentPage()).toEqual(1);
|
|
37
|
-
expect(await paginator.firstItem()).toMatchObject(firstItem);
|
|
38
|
-
expect(await paginator.lastItem()).toMatchObject(lastItem);
|
|
39
|
-
expect(paginator.perPage()).toEqual(expectedCount);
|
|
40
|
-
expect(await paginator.total()).toEqual(10);
|
|
41
|
-
}
|
|
42
|
-
);
|
|
43
|
-
|
|
44
|
-
it('should be instantiated without options', async () => {
|
|
45
|
-
const paginator = new Paginator(db, 'SELECT * FROM tests', {});
|
|
46
|
-
|
|
47
|
-
expect(await paginator.count()).toEqual(10);
|
|
48
|
-
expect(paginator.currentPage()).toEqual(1);
|
|
49
|
-
expect(await paginator.firstItem()).toMatchObject(mockData);
|
|
50
|
-
expect(await paginator.lastItem()).toMatchObject(mockData);
|
|
51
|
-
expect(paginator.perPage()).toEqual(10);
|
|
52
|
-
expect(await paginator.total()).toEqual(10);
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
it.each`
|
|
56
|
-
currentPage | perPage | errorName | errorMessage | errorCode | errorStatusCode
|
|
57
|
-
${'sample'} | ${10} | ${'LesgoException'} | ${"Invalid type for 'currentPage', expecting 'number'"} | ${`${FILE}::FIELD_VALIDATION_EXCEPTION`} | ${500}
|
|
58
|
-
${1} | ${'sample'} | ${'LesgoException'} | ${"Invalid type for 'perPage', expecting 'number'"} | ${`${FILE}::FIELD_VALIDATION_EXCEPTION`} | ${500}
|
|
59
|
-
`(
|
|
60
|
-
'should throw $errorMessage when page is $page and perPage is $perPage',
|
|
61
|
-
({
|
|
62
|
-
currentPage,
|
|
63
|
-
perPage,
|
|
64
|
-
errorName,
|
|
65
|
-
errorMessage,
|
|
66
|
-
errorCode,
|
|
67
|
-
errorStatusCode,
|
|
68
|
-
}) => {
|
|
69
|
-
try {
|
|
70
|
-
const values = new Paginator(
|
|
71
|
-
db,
|
|
72
|
-
'SELECT * FROM tests',
|
|
73
|
-
{},
|
|
74
|
-
{
|
|
75
|
-
perPage,
|
|
76
|
-
currentPage,
|
|
77
|
-
}
|
|
78
|
-
);
|
|
79
|
-
expect(values).toThrow();
|
|
80
|
-
} catch (err) {
|
|
81
|
-
expect(err.name).toEqual(errorName);
|
|
82
|
-
expect(err.message).toEqual(errorMessage);
|
|
83
|
-
expect(err.code).toEqual(errorCode);
|
|
84
|
-
expect(err.statusCode).toEqual(errorStatusCode);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
);
|
|
88
|
-
|
|
89
|
-
it('should return the first item of the result', async () => {
|
|
90
|
-
const paginator = new Paginator(
|
|
91
|
-
db,
|
|
92
|
-
'SELECT * FROM tests',
|
|
93
|
-
{},
|
|
94
|
-
{
|
|
95
|
-
perPage: 5,
|
|
96
|
-
}
|
|
97
|
-
);
|
|
98
|
-
|
|
99
|
-
expect(await paginator.firstItem()).toMatchObject(mockDataFirstItem);
|
|
100
|
-
});
|
|
101
|
-
it('should return the last item of the result', async () => {
|
|
102
|
-
const paginator = new Paginator(
|
|
103
|
-
db,
|
|
104
|
-
'SELECT * FROM tests',
|
|
105
|
-
{},
|
|
106
|
-
{
|
|
107
|
-
perPage: 5,
|
|
108
|
-
}
|
|
109
|
-
);
|
|
110
|
-
|
|
111
|
-
expect(await paginator.lastItem()).toMatchObject(mockDataLastItem);
|
|
112
|
-
});
|
|
113
|
-
it('should return the defined per page', () => {
|
|
114
|
-
const paginator = new Paginator(
|
|
115
|
-
db,
|
|
116
|
-
'SELECT * FROM tests',
|
|
117
|
-
{},
|
|
118
|
-
{
|
|
119
|
-
perPage: 5,
|
|
120
|
-
}
|
|
121
|
-
);
|
|
122
|
-
|
|
123
|
-
expect(paginator.perPage()).toEqual(5);
|
|
124
|
-
});
|
|
125
|
-
it('should return the previous page if exist', () => {
|
|
126
|
-
const paginator1 = new Paginator(
|
|
127
|
-
db,
|
|
128
|
-
'SELECT * FROM tests',
|
|
129
|
-
{},
|
|
130
|
-
{
|
|
131
|
-
perPage: 5,
|
|
132
|
-
currentPage: 2,
|
|
133
|
-
}
|
|
134
|
-
);
|
|
135
|
-
expect(paginator1.previousPage()).toEqual(1);
|
|
136
|
-
|
|
137
|
-
const paginator2 = new Paginator(
|
|
138
|
-
db,
|
|
139
|
-
'SELECT * FROM tests',
|
|
140
|
-
{},
|
|
141
|
-
{
|
|
142
|
-
perPage: 5,
|
|
143
|
-
currentPage: 1,
|
|
144
|
-
}
|
|
145
|
-
);
|
|
146
|
-
expect(paginator2.previousPage()).toEqual(false);
|
|
147
|
-
});
|
|
148
|
-
it('should return the next page if exist', async () => {
|
|
149
|
-
const paginator1 = new Paginator(
|
|
150
|
-
db,
|
|
151
|
-
'SELECT * FROM tests',
|
|
152
|
-
{},
|
|
153
|
-
{
|
|
154
|
-
perPage: 5,
|
|
155
|
-
}
|
|
156
|
-
);
|
|
157
|
-
expect(await paginator1.nextPage()).toEqual(2);
|
|
158
|
-
|
|
159
|
-
const paginator2 = new Paginator(
|
|
160
|
-
db,
|
|
161
|
-
'SELECT * FROM tests',
|
|
162
|
-
{},
|
|
163
|
-
{
|
|
164
|
-
perPage: 5,
|
|
165
|
-
currentPage: 2,
|
|
166
|
-
}
|
|
167
|
-
);
|
|
168
|
-
expect(await paginator2.nextPage()).toEqual(3);
|
|
169
|
-
|
|
170
|
-
const paginator3 = new Paginator(
|
|
171
|
-
db,
|
|
172
|
-
'SELECT * FROM tests',
|
|
173
|
-
{},
|
|
174
|
-
{
|
|
175
|
-
perPage: 5,
|
|
176
|
-
currentPage: 3,
|
|
177
|
-
}
|
|
178
|
-
);
|
|
179
|
-
expect(await paginator3.nextPage()).toEqual(false);
|
|
180
|
-
});
|
|
181
|
-
});
|
|
182
|
-
|
|
183
|
-
describe('test count() usage', () => {
|
|
184
|
-
it('should count number of items of the current page', async () => {
|
|
185
|
-
const paginator = new Paginator(
|
|
186
|
-
db,
|
|
187
|
-
'SELECT * FROM tests',
|
|
188
|
-
{},
|
|
189
|
-
{
|
|
190
|
-
perPage: 5,
|
|
191
|
-
}
|
|
192
|
-
);
|
|
193
|
-
|
|
194
|
-
expect(await paginator.count()).toEqual(5);
|
|
195
|
-
});
|
|
196
|
-
it('should only run executeQuery once', async () => {
|
|
197
|
-
const paginator = new Paginator(
|
|
198
|
-
db,
|
|
199
|
-
'SELECT * FROM tests',
|
|
200
|
-
{},
|
|
201
|
-
{
|
|
202
|
-
perPage: 5,
|
|
203
|
-
}
|
|
204
|
-
);
|
|
205
|
-
|
|
206
|
-
await paginator.count();
|
|
207
|
-
await paginator.count();
|
|
208
|
-
await paginator.count();
|
|
209
|
-
await paginator.count();
|
|
210
|
-
await paginator.count();
|
|
211
|
-
|
|
212
|
-
expect(db.select).toHaveBeenCalledTimes(1);
|
|
213
|
-
});
|
|
214
|
-
});
|
|
215
|
-
|
|
216
|
-
describe('test currentPage() usage', () => {
|
|
217
|
-
it('should return 1 as current page if no currentPage is defined', () => {
|
|
218
|
-
const paginator = new Paginator(
|
|
219
|
-
db,
|
|
220
|
-
'SELECT * FROM tests',
|
|
221
|
-
{},
|
|
222
|
-
{
|
|
223
|
-
perPage: 5,
|
|
224
|
-
}
|
|
225
|
-
);
|
|
226
|
-
|
|
227
|
-
expect(paginator.currentPage()).toEqual(1);
|
|
228
|
-
});
|
|
229
|
-
it('should return the defined current page on instantiation', () => {
|
|
230
|
-
const paginator = new Paginator(
|
|
231
|
-
db,
|
|
232
|
-
'SELECT * FROM tests',
|
|
233
|
-
{},
|
|
234
|
-
{
|
|
235
|
-
perPage: 5,
|
|
236
|
-
currentPage: 2,
|
|
237
|
-
}
|
|
238
|
-
);
|
|
239
|
-
|
|
240
|
-
expect(paginator.currentPage()).toEqual(2);
|
|
241
|
-
});
|
|
242
|
-
});
|
|
243
|
-
|
|
244
|
-
describe('test items() usage', () => {
|
|
245
|
-
it('should return all results from the current page', async () => {
|
|
246
|
-
const paginator = new Paginator(
|
|
247
|
-
db,
|
|
248
|
-
'SELECT * FROM tests',
|
|
249
|
-
{},
|
|
250
|
-
{
|
|
251
|
-
perPage: 5,
|
|
252
|
-
}
|
|
253
|
-
);
|
|
254
|
-
|
|
255
|
-
expect(await paginator.items()).toMatchObject([
|
|
256
|
-
{ ...mockDataFirstItem },
|
|
257
|
-
{ ...mockData },
|
|
258
|
-
{ ...mockData },
|
|
259
|
-
{ ...mockData },
|
|
260
|
-
{ ...mockDataLastItem },
|
|
261
|
-
]);
|
|
262
|
-
});
|
|
263
|
-
|
|
264
|
-
it('should only run executeQuery once', async () => {
|
|
265
|
-
const paginator = new Paginator(
|
|
266
|
-
db,
|
|
267
|
-
'SELECT * FROM tests',
|
|
268
|
-
{},
|
|
269
|
-
{
|
|
270
|
-
perPage: 5,
|
|
271
|
-
}
|
|
272
|
-
);
|
|
273
|
-
|
|
274
|
-
await paginator.items();
|
|
275
|
-
await paginator.items();
|
|
276
|
-
await paginator.items();
|
|
277
|
-
await paginator.items();
|
|
278
|
-
|
|
279
|
-
expect(db.select).toHaveBeenCalledTimes(1);
|
|
280
|
-
});
|
|
281
|
-
});
|
|
282
|
-
|
|
283
|
-
describe('test toObject() usage', () => {
|
|
284
|
-
it('should return object version of the paginator', async () => {
|
|
285
|
-
const paginator = new Paginator(
|
|
286
|
-
db,
|
|
287
|
-
'SELECT * FROM tests',
|
|
288
|
-
{},
|
|
289
|
-
{
|
|
290
|
-
perPage: 5,
|
|
291
|
-
}
|
|
292
|
-
);
|
|
293
|
-
|
|
294
|
-
expect(await paginator.toObject()).toMatchObject({
|
|
295
|
-
count: 5,
|
|
296
|
-
previous_page: false,
|
|
297
|
-
current_page: 1,
|
|
298
|
-
next_page: 2,
|
|
299
|
-
last_page: 2,
|
|
300
|
-
per_page: 5,
|
|
301
|
-
total: 10,
|
|
302
|
-
items: [
|
|
303
|
-
{ ...mockDataFirstItem },
|
|
304
|
-
{ ...mockData },
|
|
305
|
-
{ ...mockData },
|
|
306
|
-
{ ...mockData },
|
|
307
|
-
{ ...mockDataLastItem },
|
|
308
|
-
],
|
|
309
|
-
});
|
|
310
|
-
});
|
|
311
|
-
|
|
312
|
-
it('should only run executeQuery twice', async () => {
|
|
313
|
-
const paginator = new Paginator(
|
|
314
|
-
db,
|
|
315
|
-
'SELECT * FROM tests',
|
|
316
|
-
{},
|
|
317
|
-
{
|
|
318
|
-
perPage: 5,
|
|
319
|
-
}
|
|
320
|
-
);
|
|
321
|
-
|
|
322
|
-
await paginator.toObject();
|
|
323
|
-
await paginator.toObject();
|
|
324
|
-
await paginator.toObject();
|
|
325
|
-
await paginator.toObject();
|
|
326
|
-
|
|
327
|
-
expect(db.select).toHaveBeenCalledTimes(2);
|
|
328
|
-
});
|
|
329
|
-
});
|
|
330
|
-
|
|
331
|
-
describe('test total() usage', () => {
|
|
332
|
-
it('should get total number of data using default countTotalItems method', async () => {
|
|
333
|
-
const paginator = new Paginator(
|
|
334
|
-
db,
|
|
335
|
-
'SELECT * FROM total_tests',
|
|
336
|
-
{},
|
|
337
|
-
{
|
|
338
|
-
currentPage: 1,
|
|
339
|
-
}
|
|
340
|
-
);
|
|
341
|
-
|
|
342
|
-
expect(await paginator.total()).toEqual(30);
|
|
343
|
-
expect(db.select).toHaveBeenCalled();
|
|
344
|
-
});
|
|
345
|
-
});
|
|
346
|
-
|
|
347
|
-
describe('test lastPage() usage', () => {
|
|
348
|
-
it('should get the last page using default countTotalItems method when getting total data', async () => {
|
|
349
|
-
const paginator1 = new Paginator(
|
|
350
|
-
db,
|
|
351
|
-
'SELECT * FROM total_tests',
|
|
352
|
-
{},
|
|
353
|
-
{
|
|
354
|
-
currentPage: 1,
|
|
355
|
-
}
|
|
356
|
-
);
|
|
357
|
-
expect(await paginator1.lastPage()).toEqual(3);
|
|
358
|
-
|
|
359
|
-
const paginator2 = new Paginator(
|
|
360
|
-
db,
|
|
361
|
-
'SELECT * FROM total_tests',
|
|
362
|
-
{},
|
|
363
|
-
{
|
|
364
|
-
perPage: 5,
|
|
365
|
-
currentPage: 1,
|
|
366
|
-
}
|
|
367
|
-
);
|
|
368
|
-
expect(await paginator2.lastPage()).toEqual(6);
|
|
369
|
-
|
|
370
|
-
const paginator3 = new Paginator(
|
|
371
|
-
db,
|
|
372
|
-
'SELECT * FROM total_tests',
|
|
373
|
-
{},
|
|
374
|
-
{
|
|
375
|
-
perPage: 7,
|
|
376
|
-
currentPage: 1,
|
|
377
|
-
}
|
|
378
|
-
);
|
|
379
|
-
expect(await paginator3.lastPage()).toEqual(5);
|
|
380
|
-
|
|
381
|
-
expect(db.select).toHaveBeenCalled();
|
|
382
|
-
});
|
|
383
|
-
});
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { S3 } from 'aws-sdk';
|
|
2
|
-
|
|
3
|
-
import S3Service from '../S3Service';
|
|
4
|
-
|
|
5
|
-
describe('ServicesGroup: test S3Service instantiation', () => {
|
|
6
|
-
it('test instantiate default S3Service', () => {
|
|
7
|
-
// eslint-disable-next-line no-unused-vars
|
|
8
|
-
const s3Instance = new S3Service();
|
|
9
|
-
|
|
10
|
-
expect(S3).toHaveBeenCalledWith({});
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
it('test instantiate S3Service with custom options', () => {
|
|
14
|
-
// eslint-disable-next-line no-unused-vars
|
|
15
|
-
const s3Instance = new S3Service({
|
|
16
|
-
accessKeyId: 'aws.s3.options.accessKeyId',
|
|
17
|
-
secretAccessKey: 'aws.s3.options.secretAccessKey',
|
|
18
|
-
region: 'aws.s3.options.region',
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
expect(S3).toHaveBeenCalledWith({
|
|
22
|
-
accessKeyId: 'aws.s3.options.accessKeyId',
|
|
23
|
-
secretAccessKey: 'aws.s3.options.secretAccessKey',
|
|
24
|
-
region: 'aws.s3.options.region',
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
describe('ServicesGroup: test S3Service usage', () => {
|
|
30
|
-
it('test getObject', () => {
|
|
31
|
-
// eslint-disable-next-line no-unused-vars
|
|
32
|
-
const s3Instance = new S3Service();
|
|
33
|
-
|
|
34
|
-
return expect(
|
|
35
|
-
s3Instance.getObject('someKey', 'someBucket')
|
|
36
|
-
).resolves.toMatchObject({
|
|
37
|
-
LastModified: '2019-09-04T05:00:57.000Z',
|
|
38
|
-
ContentLength: 27892,
|
|
39
|
-
ETag: '38e6c8a510f49edec0ad4244a7665312',
|
|
40
|
-
ContentType: '.jpg',
|
|
41
|
-
Metadata: {},
|
|
42
|
-
Body: {
|
|
43
|
-
type: 'Buffer',
|
|
44
|
-
data: [],
|
|
45
|
-
},
|
|
46
|
-
mocked: {
|
|
47
|
-
opts: {},
|
|
48
|
-
params: {
|
|
49
|
-
Key: 'someKey',
|
|
50
|
-
Bucket: 'someBucket',
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
});
|