@digitraffic/common 2022.10.5 → 2022.10.7-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 +49 -0
- package/aws/index.d.ts +1 -0
- package/aws/index.js +18 -0
- package/aws/infra/api/index.d.ts +1 -0
- package/aws/infra/api/index.js +18 -0
- package/aws/infra/api/responses.js +1 -1
- package/aws/infra/stack/lambda-configs.js +1 -1
- package/aws/infra/stack/rest_apis.d.ts +1 -0
- package/aws/infra/stack/rest_apis.js +8 -2
- package/aws/infra/stack/stack.d.ts +4 -1
- package/aws/infra/stack/stack.js +1 -1
- package/aws/infra/usage-plans.js +1 -1
- package/aws/types/errors.js +1 -1
- package/aws/types/tags.js +1 -1
- package/database/last-updated.js +10 -10
- package/package.json +27 -13
- package/test/httpserver.js +1 -1
- package/types/index.d.ts +1 -0
- package/types/index.js +18 -0
- package/types/language.js +1 -1
- package/utils/geometry.js +1 -1
- package/src/aws/infra/api/integration.js +0 -52
- package/src/aws/infra/api/response.js +0 -61
- package/src/aws/infra/api/responses.js +0 -79
- package/src/aws/infra/api/static-integration.js +0 -54
- package/src/aws/infra/canaries/canary-alarm.js +0 -26
- package/src/aws/infra/canaries/canary-parameters.js +0 -3
- package/src/aws/infra/canaries/canary-role.js +0 -46
- package/src/aws/infra/canaries/canary.js +0 -29
- package/src/aws/infra/canaries/database-canary.js +0 -55
- package/src/aws/infra/canaries/database-checker.js +0 -109
- package/src/aws/infra/canaries/url-canary.js +0 -46
- package/src/aws/infra/canaries/url-checker.js +0 -238
- package/src/aws/infra/documentation.js +0 -95
- package/src/aws/infra/scheduler.js +0 -31
- package/src/aws/infra/security-rule.js +0 -39
- package/src/aws/infra/sqs-integration.js +0 -93
- package/src/aws/infra/sqs-queue.js +0 -130
- package/src/aws/infra/stack/lambda-configs.js +0 -93
- package/src/aws/infra/stack/monitoredfunction.js +0 -135
- package/src/aws/infra/stack/rest_apis.js +0 -179
- package/src/aws/infra/stack/stack-checking-aspect.js +0 -163
- package/src/aws/infra/stack/stack.js +0 -58
- package/src/aws/infra/stack/subscription.js +0 -41
- package/src/aws/infra/usage-plans.js +0 -42
- package/src/aws/runtime/apikey.js +0 -13
- package/src/aws/runtime/digitraffic-integration-response.js +0 -26
- package/src/aws/runtime/messaging.js +0 -31
- package/src/aws/runtime/s3.js +0 -30
- package/src/aws/runtime/secrets/dbsecret.js +0 -96
- package/src/aws/runtime/secrets/proxy-holder.js +0 -26
- package/src/aws/runtime/secrets/rds-holder.js +0 -26
- package/src/aws/runtime/secrets/secret-holder.js +0 -73
- package/src/aws/runtime/secrets/secret.js +0 -43
- package/src/aws/types/errors.js +0 -9
- package/src/aws/types/lambda-response.js +0 -28
- package/src/aws/types/mediatypes.js +0 -15
- package/src/aws/types/model-with-reference.js +0 -3
- package/src/aws/types/proxytypes.js +0 -3
- package/src/aws/types/tags.js +0 -7
- package/src/database/cached.js +0 -32
- package/src/database/database.js +0 -62
- package/src/database/last-updated.js +0 -54
- package/src/marine/id_utils.js +0 -33
- package/src/marine/rtz.js +0 -3
- package/src/test/asserter.js +0 -45
- package/src/test/db-testutils.js +0 -31
- package/src/test/httpserver.js +0 -67
- package/src/test/secret.js +0 -25
- package/src/test/secrets-manager.js +0 -59
- package/src/test/testutils.js +0 -44
- package/src/types/input-error.js +0 -7
- package/src/types/language.js +0 -10
- package/src/types/traffictype.js +0 -13
- package/src/types/validator.js +0 -14
- package/src/utils/api-model.js +0 -129
- package/src/utils/base64.js +0 -21
- package/src/utils/date-utils.js +0 -34
- package/src/utils/geojson-types.js +0 -18
- package/src/utils/geometry.js +0 -140
- package/src/utils/retry.js +0 -50
- package/src/utils/slack.js +0 -25
- package/src/utils/utils.js +0 -40
- package/test/marine/id_utils.test.js +0 -69
- package/test/promise/promise.test.js +0 -125
- package/test/secrets/dbsecret.test.js +0 -71
- package/test/secrets/secret-holder.test.js +0 -124
- package/test/secrets/secret.test.js +0 -66
- package/test/test/httpserver.test.js +0 -87
- package/test/utils/date-utils.test.js +0 -51
- package/test/utils/geometry.test.js +0 -49
- package/test/utils/utils.test.js +0 -49
@@ -1,71 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
-
if (k2 === undefined) k2 = k;
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
-
}
|
8
|
-
Object.defineProperty(o, k2, desc);
|
9
|
-
}) : (function(o, m, k, k2) {
|
10
|
-
if (k2 === undefined) k2 = k;
|
11
|
-
o[k2] = m[k];
|
12
|
-
}));
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
-
}) : function(o, v) {
|
16
|
-
o["default"] = v;
|
17
|
-
});
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
-
if (mod && mod.__esModule) return mod;
|
20
|
-
var result = {};
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
-
__setModuleDefault(result, mod);
|
23
|
-
return result;
|
24
|
-
};
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
26
|
-
const secrets_manager_1 = require("../../src/test/secrets-manager");
|
27
|
-
const sinon = __importStar(require("sinon"));
|
28
|
-
const SECRET_ID = "test_secret";
|
29
|
-
const SECRET_WITH_PREFIX = {
|
30
|
-
"prefix.value": "value",
|
31
|
-
"prefix.name": "name",
|
32
|
-
"wrong.value": "value",
|
33
|
-
};
|
34
|
-
const SECRET_EMPTY = {};
|
35
|
-
(0, secrets_manager_1.stubSecretsManager)();
|
36
|
-
const secret_1 = require("../../src/aws/runtime/secrets/secret");
|
37
|
-
describe('secret - test', () => {
|
38
|
-
afterEach(() => {
|
39
|
-
sinon.restore();
|
40
|
-
});
|
41
|
-
test('getSecret - no secret', async () => {
|
42
|
-
(0, secrets_manager_1.mockSecret)(null);
|
43
|
-
await expect(async () => {
|
44
|
-
await (0, secret_1.withSecret)(SECRET_ID, () => {
|
45
|
-
// do nothing
|
46
|
-
});
|
47
|
-
}).rejects.toThrowError("No secret found!");
|
48
|
-
});
|
49
|
-
test('getSecret - empty secret', async () => {
|
50
|
-
(0, secrets_manager_1.mockSecret)(SECRET_EMPTY);
|
51
|
-
await (0, secret_1.withSecret)(SECRET_ID, (secret) => {
|
52
|
-
expect(secret).toEqual(SECRET_EMPTY);
|
53
|
-
});
|
54
|
-
});
|
55
|
-
test('getSecret - no prefix', async () => {
|
56
|
-
(0, secrets_manager_1.mockSecret)(SECRET_WITH_PREFIX);
|
57
|
-
await (0, secret_1.withSecret)(SECRET_ID, (secret) => {
|
58
|
-
expect(secret).toEqual(SECRET_WITH_PREFIX);
|
59
|
-
});
|
60
|
-
});
|
61
|
-
test('getSecret - with prefix', async () => {
|
62
|
-
(0, secrets_manager_1.mockSecret)(SECRET_WITH_PREFIX);
|
63
|
-
await (0, secret_1.withSecretAndPrefix)(SECRET_ID, 'prefix', (secret) => {
|
64
|
-
expect(secret).toEqual({
|
65
|
-
value: "value",
|
66
|
-
name: "name",
|
67
|
-
});
|
68
|
-
});
|
69
|
-
});
|
70
|
-
});
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGJzZWNyZXQudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3Qvc2VjcmV0cy9kYnNlY3JldC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvRUFBOEU7QUFFOUUsNkNBQStCO0FBRS9CLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQztBQUNoQyxNQUFNLGtCQUFrQixHQUFHO0lBQ3ZCLGNBQWMsRUFBRyxPQUFPO0lBQ3hCLGFBQWEsRUFBRyxNQUFNO0lBQ3RCLGFBQWEsRUFBRyxPQUFPO0NBQzFCLENBQUM7QUFDRixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFFeEIsSUFBQSxvQ0FBa0IsR0FBRSxDQUFDO0FBRXJCLGlFQUFvRztBQUVwRyxRQUFRLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtJQUMzQixTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ1gsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLHVCQUF1QixFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3JDLElBQUEsNEJBQVUsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUVqQixNQUFNLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNwQixNQUFNLElBQUEsbUJBQVUsRUFBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO2dCQUM3QixhQUFhO1lBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2hELENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLDBCQUEwQixFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3hDLElBQUEsNEJBQVUsRUFBQyxZQUFZLENBQUMsQ0FBQztRQUV6QixNQUFNLElBQUEsbUJBQVUsRUFBQyxTQUFTLEVBQUcsQ0FBQyxNQUFxQixFQUFFLEVBQUU7WUFDbkQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLHVCQUF1QixFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3JDLElBQUEsNEJBQVUsRUFBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRS9CLE1BQU0sSUFBQSxtQkFBVSxFQUFDLFNBQVMsRUFBRyxDQUFDLE1BQXFCLEVBQUUsRUFBRTtZQUNuRCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN2QyxJQUFBLDRCQUFVLEVBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUUvQixNQUFNLElBQUEsNEJBQW1CLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRyxDQUFDLE1BQXFCLEVBQUUsRUFBRTtZQUN0RSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUNuQixLQUFLLEVBQUUsT0FBTztnQkFDZCxJQUFJLEVBQUUsTUFBTTthQUNmLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBRVAsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7bW9ja1NlY3JldCwgc3R1YlNlY3JldHNNYW5hZ2VyfSBmcm9tIFwiLi4vLi4vc3JjL3Rlc3Qvc2VjcmV0cy1tYW5hZ2VyXCI7XG5cbmltcG9ydCAqIGFzIHNpbm9uIGZyb20gJ3Npbm9uJztcblxuY29uc3QgU0VDUkVUX0lEID0gXCJ0ZXN0X3NlY3JldFwiO1xuY29uc3QgU0VDUkVUX1dJVEhfUFJFRklYID0ge1xuICAgIFwicHJlZml4LnZhbHVlXCIgOiBcInZhbHVlXCIsXG4gICAgXCJwcmVmaXgubmFtZVwiIDogXCJuYW1lXCIsXG4gICAgXCJ3cm9uZy52YWx1ZVwiIDogXCJ2YWx1ZVwiLFxufTtcbmNvbnN0IFNFQ1JFVF9FTVBUWSA9IHt9O1xuXG5zdHViU2VjcmV0c01hbmFnZXIoKTtcblxuaW1wb3J0IHtHZW5lcmljU2VjcmV0LCB3aXRoU2VjcmV0LCB3aXRoU2VjcmV0QW5kUHJlZml4fSBmcm9tIFwiLi4vLi4vc3JjL2F3cy9ydW50aW1lL3NlY3JldHMvc2VjcmV0XCI7XG5cbmRlc2NyaWJlKCdzZWNyZXQgLSB0ZXN0JywgKCkgPT4ge1xuICAgIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgICAgIHNpbm9uLnJlc3RvcmUoKTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ2dldFNlY3JldCAtIG5vIHNlY3JldCcsIGFzeW5jICgpID0+IHtcbiAgICAgICAgbW9ja1NlY3JldChudWxsKTtcblxuICAgICAgICBhd2FpdCBleHBlY3QoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgYXdhaXQgd2l0aFNlY3JldChTRUNSRVRfSUQsICgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBkbyBub3RoaW5nXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSkucmVqZWN0cy50b1Rocm93RXJyb3IoXCJObyBzZWNyZXQgZm91bmQhXCIpO1xuICAgIH0pO1xuXG4gICAgdGVzdCgnZ2V0U2VjcmV0IC0gZW1wdHkgc2VjcmV0JywgYXN5bmMgKCkgPT4ge1xuICAgICAgICBtb2NrU2VjcmV0KFNFQ1JFVF9FTVBUWSk7XG5cbiAgICAgICAgYXdhaXQgd2l0aFNlY3JldChTRUNSRVRfSUQsICAoc2VjcmV0OiBHZW5lcmljU2VjcmV0KSA9PiB7XG4gICAgICAgICAgICBleHBlY3Qoc2VjcmV0KS50b0VxdWFsKFNFQ1JFVF9FTVBUWSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdGVzdCgnZ2V0U2VjcmV0IC0gbm8gcHJlZml4JywgYXN5bmMgKCkgPT4ge1xuICAgICAgICBtb2NrU2VjcmV0KFNFQ1JFVF9XSVRIX1BSRUZJWCk7XG5cbiAgICAgICAgYXdhaXQgd2l0aFNlY3JldChTRUNSRVRfSUQsICAoc2VjcmV0OiBHZW5lcmljU2VjcmV0KSA9PiB7XG4gICAgICAgICAgICBleHBlY3Qoc2VjcmV0KS50b0VxdWFsKFNFQ1JFVF9XSVRIX1BSRUZJWCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdGVzdCgnZ2V0U2VjcmV0IC0gd2l0aCBwcmVmaXgnLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIG1vY2tTZWNyZXQoU0VDUkVUX1dJVEhfUFJFRklYKTtcblxuICAgICAgICBhd2FpdCB3aXRoU2VjcmV0QW5kUHJlZml4KFNFQ1JFVF9JRCwgJ3ByZWZpeCcsICAoc2VjcmV0OiBHZW5lcmljU2VjcmV0KSA9PiB7XG4gICAgICAgICAgICBleHBlY3Qoc2VjcmV0KS50b0VxdWFsKHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogXCJ2YWx1ZVwiLFxuICAgICAgICAgICAgICAgIG5hbWU6IFwibmFtZVwiLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgfSk7XG59KTtcbiJdfQ==
|
@@ -1,124 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
-
if (k2 === undefined) k2 = k;
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
-
}
|
8
|
-
Object.defineProperty(o, k2, desc);
|
9
|
-
}) : (function(o, m, k, k2) {
|
10
|
-
if (k2 === undefined) k2 = k;
|
11
|
-
o[k2] = m[k];
|
12
|
-
}));
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
-
}) : function(o, v) {
|
16
|
-
o["default"] = v;
|
17
|
-
});
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
-
if (mod && mod.__esModule) return mod;
|
20
|
-
var result = {};
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
-
__setModuleDefault(result, mod);
|
23
|
-
return result;
|
24
|
-
};
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
26
|
-
const secrets_manager_1 = require("../../src/test/secrets-manager");
|
27
|
-
const sinon = __importStar(require("sinon"));
|
28
|
-
const SECRET_WITH_PREFIX = {
|
29
|
-
"prefix.value": "value",
|
30
|
-
"prefix.name": "name",
|
31
|
-
"wrong.value": "value",
|
32
|
-
"username": "DB_USER",
|
33
|
-
};
|
34
|
-
const SECRET_EMPTY = {};
|
35
|
-
const stubSM = (0, secrets_manager_1.stubSecretsManager)();
|
36
|
-
const secret_holder_1 = require("../../src/aws/runtime/secrets/secret-holder");
|
37
|
-
const dbsecret_1 = require("../../src/aws/runtime/secrets/dbsecret");
|
38
|
-
describe('SecretHolder - tests', () => {
|
39
|
-
afterEach(() => {
|
40
|
-
sinon.restore();
|
41
|
-
sinon.reset();
|
42
|
-
delete process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_USER];
|
43
|
-
});
|
44
|
-
test('get - no secret', async () => {
|
45
|
-
(0, secrets_manager_1.mockSecret)(null);
|
46
|
-
const holder = secret_holder_1.SecretHolder.create();
|
47
|
-
await expect(async () => {
|
48
|
-
await holder.get();
|
49
|
-
}).rejects.toThrowError("No secret found!");
|
50
|
-
});
|
51
|
-
test('get - empty secret', async () => {
|
52
|
-
(0, secrets_manager_1.mockSecret)(SECRET_EMPTY);
|
53
|
-
const holder = secret_holder_1.SecretHolder.create();
|
54
|
-
const secret = await holder.get();
|
55
|
-
expect(secret).toEqual(SECRET_EMPTY);
|
56
|
-
});
|
57
|
-
test('get - no prefix', async () => {
|
58
|
-
(0, secrets_manager_1.mockSecret)(SECRET_WITH_PREFIX);
|
59
|
-
const holder = secret_holder_1.SecretHolder.create();
|
60
|
-
const secret = await holder.get();
|
61
|
-
expect(secret).toEqual(SECRET_WITH_PREFIX);
|
62
|
-
});
|
63
|
-
test('get - check keys - not found', async () => {
|
64
|
-
(0, secrets_manager_1.mockSecret)(SECRET_WITH_PREFIX);
|
65
|
-
const holder = secret_holder_1.SecretHolder.create('', ['not_found']);
|
66
|
-
await expect(async () => {
|
67
|
-
await holder.get();
|
68
|
-
}).rejects.toThrow();
|
69
|
-
});
|
70
|
-
test('get - check keys - found', async () => {
|
71
|
-
(0, secrets_manager_1.mockSecret)(SECRET_WITH_PREFIX);
|
72
|
-
const holder = secret_holder_1.SecretHolder.create('', ['prefix.value', 'username']);
|
73
|
-
await holder.get();
|
74
|
-
});
|
75
|
-
test('setDatabaseCredentials - no prefix', async () => {
|
76
|
-
(0, secrets_manager_1.mockSecret)(SECRET_WITH_PREFIX);
|
77
|
-
const holder = secret_holder_1.SecretHolder.create();
|
78
|
-
expect(process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_USER]).toBeUndefined();
|
79
|
-
await holder.setDatabaseCredentials();
|
80
|
-
expect(process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_USER]).toEqual(SECRET_WITH_PREFIX.username);
|
81
|
-
});
|
82
|
-
test('setDatabaseCredentials - with prefix', async () => {
|
83
|
-
(0, secrets_manager_1.mockSecret)(SECRET_WITH_PREFIX);
|
84
|
-
const holder = secret_holder_1.SecretHolder.create('prefix');
|
85
|
-
expect(process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_USER]).toBeUndefined();
|
86
|
-
await holder.setDatabaseCredentials();
|
87
|
-
expect(process.env[dbsecret_1.DatabaseEnvironmentKeys.DB_USER]).toEqual(SECRET_WITH_PREFIX.username);
|
88
|
-
});
|
89
|
-
test('getSecret - with prefix', async () => {
|
90
|
-
(0, secrets_manager_1.mockSecret)(SECRET_WITH_PREFIX);
|
91
|
-
const holder = secret_holder_1.SecretHolder.create('prefix');
|
92
|
-
const secret = await holder.get();
|
93
|
-
expect(secret).toEqual({
|
94
|
-
value: "value",
|
95
|
-
name: "name",
|
96
|
-
});
|
97
|
-
});
|
98
|
-
test('get - ttl - do not fetch', async () => {
|
99
|
-
(0, secrets_manager_1.mockSecret)(SECRET_WITH_PREFIX);
|
100
|
-
const holder = secret_holder_1.SecretHolder.create();
|
101
|
-
const callCount = stubSM.callCount;
|
102
|
-
await holder.get();
|
103
|
-
expect(stubSM.callCount).toEqual(callCount + 1);
|
104
|
-
// gets cached secret
|
105
|
-
await holder.get();
|
106
|
-
expect(stubSM.callCount).toEqual(callCount + 1);
|
107
|
-
});
|
108
|
-
test('get - ttl - fetch', async () => {
|
109
|
-
(0, secrets_manager_1.mockSecret)(SECRET_WITH_PREFIX);
|
110
|
-
const holder = new secret_holder_1.SecretHolder('', '', [], {
|
111
|
-
ttl: 1,
|
112
|
-
});
|
113
|
-
const callCount = stubSM.callCount;
|
114
|
-
await holder.get();
|
115
|
-
expect(stubSM.callCount).toEqual(callCount + 1);
|
116
|
-
// cache expires, fetches secret again
|
117
|
-
const start = Date.now();
|
118
|
-
while (Date.now() < start + 2000)
|
119
|
-
;
|
120
|
-
await holder.get();
|
121
|
-
expect(stubSM.callCount).toEqual(callCount + 2);
|
122
|
-
});
|
123
|
-
});
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0LWhvbGRlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC9zZWNyZXRzL3NlY3JldC1ob2xkZXIudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0VBQThFO0FBRTlFLDZDQUErQjtBQUUvQixNQUFNLGtCQUFrQixHQUFHO0lBQ3ZCLGNBQWMsRUFBRyxPQUFPO0lBQ3hCLGFBQWEsRUFBRyxNQUFNO0lBQ3RCLGFBQWEsRUFBRyxPQUFPO0lBQ3ZCLFVBQVUsRUFBRSxTQUFTO0NBQ3hCLENBQUM7QUFDRixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFFeEIsTUFBTSxNQUFNLEdBQUcsSUFBQSxvQ0FBa0IsR0FBRSxDQUFDO0FBRXBDLCtFQUF5RTtBQUN6RSxxRUFBK0U7QUFFL0UsUUFBUSxDQUFDLHNCQUFzQixFQUFFLEdBQUcsRUFBRTtJQUNsQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ1gsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hCLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNkLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQ0FBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4RCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLElBQUksRUFBRTtRQUMvQixJQUFBLDRCQUFVLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFFakIsTUFBTSxNQUFNLEdBQUcsNEJBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNyQyxNQUFNLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNwQixNQUFNLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENB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QUVILE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFFbkMsTUFBTSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDbkIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRWhELHNDQUFzQztRQUN0QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBSyxHQUFDLElBQUk7WUFBQyxDQUFDO1FBRWhDLE1BQU0sTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHttb2NrU2VjcmV0LCBzdHViU2VjcmV0c01hbmFnZXJ9IGZyb20gXCIuLi8uLi9zcmMvdGVzdC9zZWNyZXRzLW1hbmFnZXJcIjtcblxuaW1wb3J0ICogYXMgc2lub24gZnJvbSAnc2lub24nO1xuXG5jb25zdCBTRUNSRVRfV0lUSF9QUkVGSVggPSB7XG4gICAgXCJwcmVmaXgudmFsdWVcIiA6IFwidmFsdWVcIixcbiAgICBcInByZWZpeC5uYW1lXCIgOiBcIm5hbWVcIixcbiAgICBcIndyb25nLnZhbHVlXCIgOiBcInZhbHVlXCIsXG4gICAgXCJ1c2VybmFtZVwiOiBcIkRCX1VTRVJcIixcbn07XG5jb25zdCBTRUNSRVRfRU1QVFkgPSB7fTtcblxuY29uc3Qgc3R1YlNNID0gc3R1YlNlY3JldHNNYW5hZ2VyKCk7XG5cbmltcG9ydCB7U2VjcmV0SG9sZGVyfSBmcm9tIFwiLi4vLi4vc3JjL2F3cy9ydW50aW1lL3NlY3JldHMvc2VjcmV0LWhvbGRlclwiO1xuaW1wb3J0IHtEYXRhYmFzZUVudmlyb25tZW50S2V5c30gZnJvbSBcIi4uLy4uL3NyYy9hd3MvcnVudGltZS9zZWNyZXRzL2Ric2VjcmV0XCI7XG5cbmRlc2NyaWJlKCdTZWNyZXRIb2xkZXIgLSB0ZXN0cycsICgpID0+IHtcbiAgICBhZnRlckVhY2goKCkgPT4ge1xuICAgICAgICBzaW5vbi5yZXN0b3JlKCk7XG4gICAgICAgIHNpbm9uLnJlc2V0KCk7XG4gICAgICAgIGRlbGV0ZSBwcm9jZXNzLmVudltEYXRhYmFzZUVudmlyb25tZW50S2V5cy5EQl9VU0VSXTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ2dldCAtIG5vIHNlY3JldCcsIGFzeW5jICgpID0+IHtcbiAgICAgICAgbW9ja1NlY3JldChudWxsKTtcblxuICAgICAgICBjb25zdCBob2xkZXIgPSBTZWNyZXRIb2xkZXIuY3JlYXRlKCk7XG4gICAgICAgIGF3YWl0IGV4cGVjdChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBhd2FpdCBob2xkZXIuZ2V0KCk7XG4gICAgICAgIH0pLnJlamVjdHMudG9UaHJvd0Vycm9yKFwiTm8gc2VjcmV0IGZvdW5kIVwiKTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ2dldCAtIGVtcHR5IHNlY3JldCcsIGFzeW5jICgpID0+IHtcbiAgICAgICAgbW9ja1NlY3JldChTRUNSRVRfRU1QVFkpO1xuXG4gICAgICAgIGNvbnN0IGhvbGRlciA9IFNlY3JldEhvbGRlci5jcmVhdGUoKTtcbiAgICAgICAgY29uc3Qgc2VjcmV0ID0gYXdhaXQgaG9sZGVyLmdldCgpO1xuXG4gICAgICAgIGV4cGVjdChzZWNyZXQpLnRvRXF1YWwoU0VDUkVUX0VNUFRZKTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ2dldCAtIG5vIHByZWZpeCcsIGFzeW5jICgpID0+IHtcbiAgICAgICAgbW9ja1NlY3JldChTRUNSRVRfV0lUSF9QUkVGSVgpO1xuXG4gICAgICAgIGNvbnN0IGhvbGRlciA9IFNlY3JldEhvbGRlci5jcmVhdGUoKTtcbiAgICAgICAgY29uc3Qgc2VjcmV0ID0gYXdhaXQgaG9sZGVyLmdldCgpO1xuXG4gICAgICAgIGV4cGVjdChzZWNyZXQpLnRvRXF1YWwoU0VDUkVUX1dJVEhfUFJFRklYKTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ2dldCAtIGNoZWNrIGtleXMgLSBub3QgZm91bmQnLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIG1vY2tTZWNyZXQoU0VDUkVUX1dJVEhfUFJFRklYKTtcblxuICAgICAgICBjb25zdCBob2xkZXIgPSBTZWNyZXRIb2xkZXIuY3JlYXRlKCcnLCBbJ25vdF9mb3VuZCddKTtcbiAgICAgICAgYXdhaXQgZXhwZWN0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGF3YWl0IGhvbGRlci5nZXQoKTtcbiAgICAgICAgfSkucmVqZWN0cy50b1Rocm93KCk7XG4gICAgfSk7XG5cbiAgICB0ZXN0KCdnZXQgLSBjaGVjayBrZXlzIC0gZm91bmQnLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIG1vY2tTZWNyZXQoU0VDUkVUX1dJVEhfUFJFRklYKTtcblxuICAgICAgICBjb25zdCBob2xkZXIgPSBTZWNyZXRIb2xkZXIuY3JlYXRlKCcnLCBbJ3ByZWZpeC52YWx1ZScsICd1c2VybmFtZSddKTtcblxuICAgICAgICBhd2FpdCBob2xkZXIuZ2V0KCk7XG4gICAgfSk7XG5cbiAgICB0ZXN0KCdzZXREYXRhYmFzZUNyZWRlbnRpYWxzIC0gbm8gcHJlZml4JywgYXN5bmMoKSA9PiB7XG4gICAgICAgIG1vY2tTZWNyZXQoU0VDUkVUX1dJVEhfUFJFRklYKTtcblxuICAgICAgICBjb25zdCBob2xkZXIgPSBTZWNyZXRIb2xkZXIuY3JlYXRlKCk7XG4gICAgICAgIGV4cGVjdChwcm9jZXNzLmVudltEYXRhYmFzZUVudmlyb25tZW50S2V5cy5EQl9VU0VSXSkudG9CZVVuZGVmaW5lZCgpO1xuXG4gICAgICAgIGF3YWl0IGhvbGRlci5zZXREYXRhYmFzZUNyZWRlbnRpYWxzKCk7XG4gICAgICAgIGV4cGVjdChwcm9jZXNzLmVudltEYXRhYmFzZUVudmlyb25tZW50S2V5cy5EQl9VU0VSXSkudG9FcXVhbChTRUNSRVRfV0lUSF9QUkVGSVgudXNlcm5hbWUpO1xuICAgIH0pO1xuXG4gICAgdGVzdCgnc2V0RGF0YWJhc2VDcmVkZW50aWFscyAtIHdpdGggcHJlZml4JywgYXN5bmMoKSA9PiB7XG4gICAgICAgIG1vY2tTZWNyZXQoU0VDUkVUX1dJVEhfUFJFRklYKTtcblxuICAgICAgICBjb25zdCBob2xkZXIgPSBTZWNyZXRIb2xkZXIuY3JlYXRlKCdwcmVmaXgnKTtcbiAgICAgICAgZXhwZWN0KHByb2Nlc3MuZW52W0RhdGFiYXNlRW52aXJvbm1lbnRLZXlzLkRCX1VTRVJdKS50b0JlVW5kZWZpbmVkKCk7XG5cbiAgICAgICAgYXdhaXQgaG9sZGVyLnNldERhdGFiYXNlQ3JlZGVudGlhbHMoKTtcbiAgICAgICAgZXhwZWN0KHByb2Nlc3MuZW52W0RhdGFiYXNlRW52aXJvbm1lbnRLZXlzLkRCX1VTRVJdKS50b0VxdWFsKFNFQ1JFVF9XSVRIX1BSRUZJWC51c2VybmFtZSk7XG4gICAgfSk7XG5cbiAgICB0ZXN0KCdnZXRTZWNyZXQgLSB3aXRoIHByZWZpeCcsIGFzeW5jICgpID0+IHtcbiAgICAgICAgbW9ja1NlY3JldChTRUNSRVRfV0lUSF9QUkVGSVgpO1xuXG4gICAgICAgIGNvbnN0IGhvbGRlciA9IFNlY3JldEhvbGRlci5jcmVhdGUoJ3ByZWZpeCcpO1xuICAgICAgICBjb25zdCBzZWNyZXQgPSBhd2FpdCBob2xkZXIuZ2V0KCk7XG5cbiAgICAgICAgZXhwZWN0KHNlY3JldCkudG9FcXVhbCh7XG4gICAgICAgICAgICB2YWx1ZTogXCJ2YWx1ZVwiLFxuICAgICAgICAgICAgbmFtZTogXCJuYW1lXCIsXG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdGVzdCgnZ2V0IC0gdHRsIC0gZG8gbm90IGZldGNoJywgYXN5bmMgKCkgPT4ge1xuICAgICAgICBtb2NrU2VjcmV0KFNFQ1JFVF9XSVRIX1BSRUZJWCk7XG5cbiAgICAgICAgY29uc3QgaG9sZGVyID0gU2VjcmV0SG9sZGVyLmNyZWF0ZSgpO1xuXG4gICAgICAgIGNvbnN0IGNhbGxDb3VudCA9IHN0dWJTTS5jYWxsQ291bnQ7XG5cbiAgICAgICAgYXdhaXQgaG9sZGVyLmdldCgpO1xuICAgICAgICBleHBlY3Qoc3R1YlNNLmNhbGxDb3VudCkudG9FcXVhbChjYWxsQ291bnQgKyAxKTtcblxuICAgICAgICAvLyBnZXRzIGNhY2hlZCBzZWNyZXRcbiAgICAgICAgYXdhaXQgaG9sZGVyLmdldCgpO1xuICAgICAgICBleHBlY3Qoc3R1YlNNLmNhbGxDb3VudCkudG9FcXVhbChjYWxsQ291bnQgKyAxKTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ2dldCAtIHR0bCAtIGZldGNoJywgYXN5bmMgKCkgPT4ge1xuICAgICAgICBtb2NrU2VjcmV0KFNFQ1JFVF9XSVRIX1BSRUZJWCk7XG5cbiAgICAgICAgY29uc3QgaG9sZGVyID0gbmV3IFNlY3JldEhvbGRlcignJywgJycsIFtdLCB7XG4gICAgICAgICAgICB0dGw6IDEsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGNhbGxDb3VudCA9IHN0dWJTTS5jYWxsQ291bnQ7XG5cbiAgICAgICAgYXdhaXQgaG9sZGVyLmdldCgpO1xuICAgICAgICBleHBlY3Qoc3R1YlNNLmNhbGxDb3VudCkudG9FcXVhbChjYWxsQ291bnQgKyAxKTtcblxuICAgICAgICAvLyBjYWNoZSBleHBpcmVzLCBmZXRjaGVzIHNlY3JldCBhZ2FpblxuICAgICAgICBjb25zdCBzdGFydCA9IERhdGUubm93KCk7XG4gICAgICAgIHdoaWxlIChEYXRlLm5vdygpIDwgc3RhcnQrMjAwMCk7XG5cbiAgICAgICAgYXdhaXQgaG9sZGVyLmdldCgpO1xuICAgICAgICBleHBlY3Qoc3R1YlNNLmNhbGxDb3VudCkudG9FcXVhbChjYWxsQ291bnQgKyAyKTtcbiAgICB9KTtcbn0pO1xuIl19
|
@@ -1,66 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
-
if (k2 === undefined) k2 = k;
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
-
}
|
8
|
-
Object.defineProperty(o, k2, desc);
|
9
|
-
}) : (function(o, m, k, k2) {
|
10
|
-
if (k2 === undefined) k2 = k;
|
11
|
-
o[k2] = m[k];
|
12
|
-
}));
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
-
}) : function(o, v) {
|
16
|
-
o["default"] = v;
|
17
|
-
});
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
-
if (mod && mod.__esModule) return mod;
|
20
|
-
var result = {};
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
-
__setModuleDefault(result, mod);
|
23
|
-
return result;
|
24
|
-
};
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
26
|
-
const secrets_manager_1 = require("../../src/test/secrets-manager");
|
27
|
-
const sinon = __importStar(require("sinon"));
|
28
|
-
const SECRET_ID = "test_secret";
|
29
|
-
const SECRET_WITH_PREFIX = {
|
30
|
-
"prefix.value": "value",
|
31
|
-
"prefix.name": "name",
|
32
|
-
"wrong.value": "value",
|
33
|
-
};
|
34
|
-
const SECRET_EMPTY = {};
|
35
|
-
(0, secrets_manager_1.stubSecretsManager)();
|
36
|
-
const secret_1 = require("../../src/aws/runtime/secrets/secret");
|
37
|
-
describe('secret - test', () => {
|
38
|
-
afterEach(() => {
|
39
|
-
sinon.restore();
|
40
|
-
});
|
41
|
-
test('getSecret - no secret', async () => {
|
42
|
-
(0, secrets_manager_1.mockSecret)(null);
|
43
|
-
await expect(async () => {
|
44
|
-
await (0, secret_1.getSecret)(SECRET_ID, '');
|
45
|
-
}).rejects.toThrowError("No secret found!");
|
46
|
-
});
|
47
|
-
test('getSecret - empty secret', async () => {
|
48
|
-
(0, secrets_manager_1.mockSecret)(SECRET_EMPTY);
|
49
|
-
const secret = await (0, secret_1.getSecret)(SECRET_ID, '');
|
50
|
-
expect(secret).toEqual(SECRET_EMPTY);
|
51
|
-
});
|
52
|
-
test('getSecret - no prefix', async () => {
|
53
|
-
(0, secrets_manager_1.mockSecret)(SECRET_WITH_PREFIX);
|
54
|
-
const secret = await (0, secret_1.getSecret)(SECRET_ID, '');
|
55
|
-
expect(secret).toEqual(SECRET_WITH_PREFIX);
|
56
|
-
});
|
57
|
-
test('getSecret - with prefix', async () => {
|
58
|
-
(0, secrets_manager_1.mockSecret)(SECRET_WITH_PREFIX);
|
59
|
-
const secret = await (0, secret_1.getSecret)(SECRET_ID, 'prefix');
|
60
|
-
expect(secret).toEqual({
|
61
|
-
value: "value",
|
62
|
-
name: "name",
|
63
|
-
});
|
64
|
-
});
|
65
|
-
});
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0LnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3NlY3JldHMvc2VjcmV0LnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9FQUE4RTtBQUU5RSw2Q0FBK0I7QUFFL0IsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDO0FBQ2hDLE1BQU0sa0JBQWtCLEdBQUc7SUFDdkIsY0FBYyxFQUFHLE9BQU87SUFDeEIsYUFBYSxFQUFHLE1BQU07SUFDdEIsYUFBYSxFQUFHLE9BQU87Q0FDMUIsQ0FBQztBQUNGLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUV4QixJQUFBLG9DQUFrQixHQUFFLENBQUM7QUFFckIsaUVBQStEO0FBRS9ELFFBQVEsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO0lBQzNCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDWCxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDckMsSUFBQSw0QkFBVSxFQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pCLE1BQU0sTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3BCLE1BQU0sSUFBQSxrQkFBUyxFQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsMEJBQTBCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDeEMsSUFBQSw0QkFBVSxFQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3pCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSxrQkFBUyxFQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5QyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLHVCQUF1QixFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3JDLElBQUEsNEJBQVUsRUFBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQy9CLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSxrQkFBUyxFQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5QyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDL0MsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMseUJBQXlCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDdkMsSUFBQSw0QkFBVSxFQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDL0IsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFBLGtCQUFTLEVBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDbkIsS0FBSyxFQUFFLE9BQU87WUFDZCxJQUFJLEVBQUUsTUFBTTtTQUNmLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge21vY2tTZWNyZXQsIHN0dWJTZWNyZXRzTWFuYWdlcn0gZnJvbSBcIi4uLy4uL3NyYy90ZXN0L3NlY3JldHMtbWFuYWdlclwiO1xuXG5pbXBvcnQgKiBhcyBzaW5vbiBmcm9tICdzaW5vbic7XG5cbmNvbnN0IFNFQ1JFVF9JRCA9IFwidGVzdF9zZWNyZXRcIjtcbmNvbnN0IFNFQ1JFVF9XSVRIX1BSRUZJWCA9IHtcbiAgICBcInByZWZpeC52YWx1ZVwiIDogXCJ2YWx1ZVwiLFxuICAgIFwicHJlZml4Lm5hbWVcIiA6IFwibmFtZVwiLFxuICAgIFwid3JvbmcudmFsdWVcIiA6IFwidmFsdWVcIixcbn07XG5jb25zdCBTRUNSRVRfRU1QVFkgPSB7fTtcblxuc3R1YlNlY3JldHNNYW5hZ2VyKCk7XG5cbmltcG9ydCB7Z2V0U2VjcmV0fSBmcm9tIFwiLi4vLi4vc3JjL2F3cy9ydW50aW1lL3NlY3JldHMvc2VjcmV0XCI7XG5cbmRlc2NyaWJlKCdzZWNyZXQgLSB0ZXN0JywgKCkgPT4ge1xuICAgIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgICAgIHNpbm9uLnJlc3RvcmUoKTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ2dldFNlY3JldCAtIG5vIHNlY3JldCcsIGFzeW5jICgpID0+IHtcbiAgICAgICAgbW9ja1NlY3JldChudWxsKTtcbiAgICAgICAgYXdhaXQgZXhwZWN0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGF3YWl0IGdldFNlY3JldChTRUNSRVRfSUQsICcnKTtcbiAgICAgICAgfSkucmVqZWN0cy50b1Rocm93RXJyb3IoXCJObyBzZWNyZXQgZm91bmQhXCIpO1xuICAgIH0pO1xuXG4gICAgdGVzdCgnZ2V0U2VjcmV0IC0gZW1wdHkgc2VjcmV0JywgYXN5bmMgKCkgPT4ge1xuICAgICAgICBtb2NrU2VjcmV0KFNFQ1JFVF9FTVBUWSk7XG4gICAgICAgIGNvbnN0IHNlY3JldCA9IGF3YWl0IGdldFNlY3JldChTRUNSRVRfSUQsICcnKTtcbiAgICAgICAgZXhwZWN0KHNlY3JldCkudG9FcXVhbChTRUNSRVRfRU1QVFkpO1xuICAgIH0pO1xuXG4gICAgdGVzdCgnZ2V0U2VjcmV0IC0gbm8gcHJlZml4JywgYXN5bmMgKCkgPT4ge1xuICAgICAgICBtb2NrU2VjcmV0KFNFQ1JFVF9XSVRIX1BSRUZJWCk7XG4gICAgICAgIGNvbnN0IHNlY3JldCA9IGF3YWl0IGdldFNlY3JldChTRUNSRVRfSUQsICcnKTtcbiAgICAgICAgZXhwZWN0KHNlY3JldCkudG9FcXVhbChTRUNSRVRfV0lUSF9QUkVGSVgpO1xuICAgIH0pO1xuXG4gICAgdGVzdCgnZ2V0U2VjcmV0IC0gd2l0aCBwcmVmaXgnLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIG1vY2tTZWNyZXQoU0VDUkVUX1dJVEhfUFJFRklYKTtcbiAgICAgICAgY29uc3Qgc2VjcmV0ID0gYXdhaXQgZ2V0U2VjcmV0KFNFQ1JFVF9JRCwgJ3ByZWZpeCcpO1xuICAgICAgICBleHBlY3Qoc2VjcmV0KS50b0VxdWFsKHtcbiAgICAgICAgICAgIHZhbHVlOiBcInZhbHVlXCIsXG4gICAgICAgICAgICBuYW1lOiBcIm5hbWVcIixcbiAgICAgICAgfSk7XG4gICAgfSk7XG59KTtcbiJdfQ==
|
@@ -1,87 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
const httpserver_1 = require("../../src/test/httpserver");
|
4
|
-
const http = require("http");
|
5
|
-
const DEFAULT_PATH = "/";
|
6
|
-
const PORT = 8091;
|
7
|
-
const DEFAULT_PROPS = {
|
8
|
-
"/": () => "",
|
9
|
-
};
|
10
|
-
describe('TestHttpServer - test', () => {
|
11
|
-
async function withServer(fn, props = DEFAULT_PROPS, statusCode = 200) {
|
12
|
-
const server = new httpserver_1.TestHttpServer();
|
13
|
-
server.listen(PORT, props, false, statusCode);
|
14
|
-
try {
|
15
|
-
await fn(server);
|
16
|
-
}
|
17
|
-
finally {
|
18
|
-
server.close();
|
19
|
-
}
|
20
|
-
}
|
21
|
-
function sendGetRequest(path = DEFAULT_PATH) {
|
22
|
-
return sendRequest("GET", path);
|
23
|
-
}
|
24
|
-
function sendPostRequest(path = DEFAULT_PATH, body) {
|
25
|
-
return sendRequest("POST", path, body);
|
26
|
-
}
|
27
|
-
function sendRequest(method, path, body) {
|
28
|
-
return new Promise((resolve, reject) => {
|
29
|
-
const request = http.request({
|
30
|
-
path,
|
31
|
-
port: PORT,
|
32
|
-
method,
|
33
|
-
}, (response) => {
|
34
|
-
response.on('data', () => {
|
35
|
-
// do nothing
|
36
|
-
});
|
37
|
-
//the whole response has been received, so we just print it out here
|
38
|
-
response.on('end', () => {
|
39
|
-
resolve(response);
|
40
|
-
});
|
41
|
-
response.on('error', (error) => {
|
42
|
-
reject(error);
|
43
|
-
});
|
44
|
-
});
|
45
|
-
if (method === "POST") {
|
46
|
-
request.write(body);
|
47
|
-
}
|
48
|
-
request.end();
|
49
|
-
});
|
50
|
-
}
|
51
|
-
test('no calls', async () => {
|
52
|
-
await withServer((server) => {
|
53
|
-
expect(server.getCallCount()).toEqual(0);
|
54
|
-
});
|
55
|
-
});
|
56
|
-
test('one get', async () => {
|
57
|
-
await withServer(async (server) => {
|
58
|
-
await sendGetRequest();
|
59
|
-
expect(server.getCallCount()).toEqual(1);
|
60
|
-
});
|
61
|
-
});
|
62
|
-
test('one get - no MATCH', async () => {
|
63
|
-
await withServer(async (server) => {
|
64
|
-
const response = await sendGetRequest("/no-match");
|
65
|
-
expect(server.getCallCount()).toEqual(1);
|
66
|
-
expect(server.getRequestBody(0)).toEqual(httpserver_1.ERROR_NO_MATCH);
|
67
|
-
expect(response.statusCode).toEqual(httpserver_1.ERRORCODE_NOT_FOUND);
|
68
|
-
});
|
69
|
-
});
|
70
|
-
test('get - error 405', async () => {
|
71
|
-
const ERROR_CODE = 405;
|
72
|
-
await withServer(async (server) => {
|
73
|
-
const response = await sendGetRequest();
|
74
|
-
expect(server.getCallCount()).toEqual(1);
|
75
|
-
expect(response.statusCode).toEqual(ERROR_CODE);
|
76
|
-
}, DEFAULT_PROPS, ERROR_CODE);
|
77
|
-
});
|
78
|
-
test('one post', async () => {
|
79
|
-
await withServer(async (server) => {
|
80
|
-
const testBody = "Testing123!";
|
81
|
-
await sendPostRequest(DEFAULT_PATH, testBody);
|
82
|
-
expect(server.getCallCount()).toEqual(1);
|
83
|
-
expect(server.getRequestBody(0)).toEqual(testBody);
|
84
|
-
});
|
85
|
-
});
|
86
|
-
});
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cHNlcnZlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC90ZXN0L2h0dHBzZXJ2ZXIudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBEQUFnSDtBQUVoSCw2QkFBOEI7QUFFOUIsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDO0FBQ3pCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztBQUVsQixNQUFNLGFBQWEsR0FBRztJQUNsQixHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtDQUNoQixDQUFDO0FBRUYsUUFBUSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtJQUNuQyxLQUFLLFVBQVUsVUFBVSxDQUFDLEVBQXNDLEVBQUUsUUFBMEIsYUFBYSxFQUFFLFVBQVUsR0FBRyxHQUFHO1FBQ3ZILE1BQU0sTUFBTSxHQUFHLElBQUksMkJBQWMsRUFBRSxDQUFDO1FBRXBDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFOUMsSUFBSTtZQUNBLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3BCO2dCQUFTO1lBQ04sTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2xCO0lBQ0wsQ0FBQztJQUVELFNBQVMsY0FBYyxDQUFDLElBQUksR0FBRyxZQUFZO1FBQ3ZDLE9BQU8sV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsU0FBUyxlQUFlLENBQUMsSUFBSSxHQUFHLFlBQVksRUFBRSxJQUFZO1FBQ3RELE9BQU8sV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFNBQVMsV0FBVyxDQUFDLE1BQWMsRUFBRSxJQUFZLEVBQUUsSUFBYTtRQUM1RCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFF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RSxLQUFLLElBQUksRUFBRTtRQUN4QixNQUFNLFVBQVUsQ0FBQyxLQUFLLEVBQUUsTUFBc0IsRUFBRSxFQUFFO1lBQzlDLE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQztZQUMvQixNQUFNLGVBQWUsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFOUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0FBRVAsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Rlc3RIdHRwU2VydmVyLCBMaXN0ZW5Qcm9wZXJ0aWVzLCBFUlJPUl9OT19NQVRDSCwgRVJST1JDT0RFX05PVF9GT1VORH0gZnJvbSBcIi4uLy4uL3NyYy90ZXN0L2h0dHBzZXJ2ZXJcIjtcbmltcG9ydCB7SW5jb21pbmdNZXNzYWdlfSBmcm9tIFwiaHR0cFwiO1xuaW1wb3J0IGh0dHAgPSByZXF1aXJlKCdodHRwJyk7XG5cbmNvbnN0IERFRkFVTFRfUEFUSCA9IFwiL1wiO1xuY29uc3QgUE9SVCA9IDgwOTE7XG5cbmNvbnN0IERFRkFVTFRfUFJPUFMgPSB7XG4gICAgXCIvXCI6ICgpID0+IFwiXCIsXG59O1xuXG5kZXNjcmliZSgnVGVzdEh0dHBTZXJ2ZXIgLSB0ZXN0JywgKCkgPT4ge1xuICAgIGFzeW5jIGZ1bmN0aW9uIHdpdGhTZXJ2ZXIoZm46ICgoc2VydmVyOiBUZXN0SHR0cFNlcnZlcikgPT4gdm9pZCksIHByb3BzOiBMaXN0ZW5Qcm9wZXJ0aWVzID0gREVGQVVMVF9QUk9QUywgc3RhdHVzQ29kZSA9IDIwMCkge1xuICAgICAgICBjb25zdCBzZXJ2ZXIgPSBuZXcgVGVzdEh0dHBTZXJ2ZXIoKTtcblxuICAgICAgICBzZXJ2ZXIubGlzdGVuKFBPUlQsIHByb3BzLCBmYWxzZSwgc3RhdHVzQ29kZSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGF3YWl0IGZuKHNlcnZlcik7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICBzZXJ2ZXIuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHNlbmRHZXRSZXF1ZXN0KHBhdGggPSBERUZBVUxUX1BBVEgpOiBQcm9taXNlPEluY29taW5nTWVzc2FnZT4ge1xuICAgICAgICByZXR1cm4gc2VuZFJlcXVlc3QoXCJHRVRcIiwgcGF0aCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gc2VuZFBvc3RSZXF1ZXN0KHBhdGggPSBERUZBVUxUX1BBVEgsIGJvZHk6IHN0cmluZyk6IFByb21pc2U8SW5jb21pbmdNZXNzYWdlPiB7XG4gICAgICAgIHJldHVybiBzZW5kUmVxdWVzdChcIlBPU1RcIiwgcGF0aCwgYm9keSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gc2VuZFJlcXVlc3QobWV0aG9kOiBzdHJpbmcsIHBhdGg6IHN0cmluZywgYm9keT86IHN0cmluZyk6IFByb21pc2U8SW5jb21pbmdNZXNzYWdlPiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXF1ZXN0ID0gaHR0cC5yZXF1ZXN0KHtcbiAgICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICAgIHBvcnQ6IFBPUlQsXG4gICAgICAgICAgICAgICAgbWV0aG9kLFxuICAgICAgICAgICAgfSwgKHJlc3BvbnNlOiBJbmNvbWluZ01lc3NhZ2UpID0+IHtcbiAgICAgICAgICAgICAgICByZXNwb25zZS5vbignZGF0YScsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZG8gbm90aGluZ1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgLy90aGUgd2hvbGUgcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQsIHNvIHdlIGp1c3QgcHJpbnQgaXQgb3V0IGhlcmVcbiAgICAgICAgICAgICAgICByZXNwb25zZS5vbignZW5kJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIHJlc3BvbnNlLm9uKCdlcnJvcicsIChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAobWV0aG9kID09PSBcIlBPU1RcIikge1xuICAgICAgICAgICAgICAgIHJlcXVlc3Qud3JpdGUoYm9keSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXF1ZXN0LmVuZCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0ZXN0KCdubyBjYWxscycsIGFzeW5jICgpID0+IHtcbiAgICAgICAgYXdhaXQgd2l0aFNlcnZlcigoc2VydmVyOiBUZXN0SHR0cFNlcnZlcikgPT4ge1xuICAgICAgICAgICAgZXhwZWN0KHNlcnZlci5nZXRDYWxsQ291bnQoKSkudG9FcXVhbCgwKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0ZXN0KCdvbmUgZ2V0JywgYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCB3aXRoU2VydmVyKGFzeW5jIChzZXJ2ZXI6IFRlc3RIdHRwU2VydmVyKSA9PiB7XG4gICAgICAgICAgICBhd2FpdCBzZW5kR2V0UmVxdWVzdCgpO1xuXG4gICAgICAgICAgICBleHBlY3Qoc2VydmVyLmdldENhbGxDb3VudCgpKS50b0VxdWFsKDEpO1xuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ29uZSBnZXQgLSBubyBNQVRDSCcsIGFzeW5jICgpID0+IHtcbiAgICAgICAgYXdhaXQgd2l0aFNlcnZlcihhc3luYyAoc2VydmVyOiBUZXN0SHR0cFNlcnZlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBzZW5kR2V0UmVxdWVzdChcIi9uby1tYXRjaFwiKTtcblxuICAgICAgICAgICAgZXhwZWN0KHNlcnZlci5nZXRDYWxsQ291bnQoKSkudG9FcXVhbCgxKTtcbiAgICAgICAgICAgIGV4cGVjdChzZXJ2ZXIuZ2V0UmVxdWVzdEJvZHkoMCkpLnRvRXF1YWwoRVJST1JfTk9fTUFUQ0gpO1xuICAgICAgICAgICAgZXhwZWN0KHJlc3BvbnNlLnN0YXR1c0NvZGUpLnRvRXF1YWwoRVJST1JDT0RFX05PVF9GT1VORCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdGVzdCgnZ2V0IC0gZXJyb3IgNDA1JywgYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBFUlJPUl9DT0RFID0gNDA1O1xuXG4gICAgICAgIGF3YWl0IHdpdGhTZXJ2ZXIoYXN5bmMgKHNlcnZlcjogVGVzdEh0dHBTZXJ2ZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgc2VuZEdldFJlcXVlc3QoKTtcblxuICAgICAgICAgICAgZXhwZWN0KHNlcnZlci5nZXRDYWxsQ291bnQoKSkudG9FcXVhbCgxKTtcbiAgICAgICAgICAgIGV4cGVjdChyZXNwb25zZS5zdGF0dXNDb2RlKS50b0VxdWFsKEVSUk9SX0NPREUpO1xuICAgICAgICB9LCBERUZBVUxUX1BST1BTLCBFUlJPUl9DT0RFKTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ29uZSBwb3N0JywgYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCB3aXRoU2VydmVyKGFzeW5jIChzZXJ2ZXI6IFRlc3RIdHRwU2VydmVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0ZXN0Qm9keSA9IFwiVGVzdGluZzEyMyFcIjtcbiAgICAgICAgICAgIGF3YWl0IHNlbmRQb3N0UmVxdWVzdChERUZBVUxUX1BBVEgsIHRlc3RCb2R5KTtcblxuICAgICAgICAgICAgZXhwZWN0KHNlcnZlci5nZXRDYWxsQ291bnQoKSkudG9FcXVhbCgxKTtcbiAgICAgICAgICAgIGV4cGVjdChzZXJ2ZXIuZ2V0UmVxdWVzdEJvZHkoMCkpLnRvRXF1YWwodGVzdEJvZHkpO1xuICAgICAgICB9KTtcbiAgICB9KTtcblxufSk7XG4iXX0=
|
@@ -1,51 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
-
if (k2 === undefined) k2 = k;
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
-
}
|
8
|
-
Object.defineProperty(o, k2, desc);
|
9
|
-
}) : (function(o, m, k, k2) {
|
10
|
-
if (k2 === undefined) k2 = k;
|
11
|
-
o[k2] = m[k];
|
12
|
-
}));
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
-
}) : function(o, v) {
|
16
|
-
o["default"] = v;
|
17
|
-
});
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
-
if (mod && mod.__esModule) return mod;
|
20
|
-
var result = {};
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
-
__setModuleDefault(result, mod);
|
23
|
-
return result;
|
24
|
-
};
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
27
|
-
};
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
29
|
-
const moment_1 = __importDefault(require("moment"));
|
30
|
-
const CommonDateUtils = __importStar(require("../../src/utils/date-utils"));
|
31
|
-
const ISO = "2022-01-02T01:02:03.004Z";
|
32
|
-
describe('CommonDateUtilsTest', () => {
|
33
|
-
test('dateFromIsoString', () => {
|
34
|
-
const parsed = CommonDateUtils.dateFromIsoString(ISO);
|
35
|
-
expect(parsed.toISOString()).toEqual(ISO);
|
36
|
-
});
|
37
|
-
test('dateFromIsoString fails', () => {
|
38
|
-
expect(() => CommonDateUtils.dateFromIsoString(ISO + "foobar")).toThrowError();
|
39
|
-
});
|
40
|
-
test('countDiffMs', () => {
|
41
|
-
const start = new Date();
|
42
|
-
const end = (0, moment_1.default)(start).add(1234, 'milliseconds').toDate();
|
43
|
-
expect(CommonDateUtils.countDiffMs(start, end)).toEqual(1234);
|
44
|
-
});
|
45
|
-
test('countDiffMs', () => {
|
46
|
-
const start = new Date();
|
47
|
-
const end = (0, moment_1.default)(start).add(1234, 'seconds').toDate();
|
48
|
-
expect(CommonDateUtils.countDiffInSeconds(start, end)).toEqual(1234);
|
49
|
-
});
|
50
|
-
});
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS11dGlscy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC91dGlscy9kYXRlLXV0aWxzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUE0QjtBQUM1Qiw0RUFBOEQ7QUFFOUQsTUFBTSxHQUFHLEdBQUcsMEJBQTBCLENBQUM7QUFFdkMsUUFBUSxDQUFDLHFCQUFxQixFQUFFLEdBQUcsRUFBRTtJQUVqQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFO1FBQzNCLE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0RCxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLHlCQUF5QixFQUFFLEdBQUcsRUFBRTtRQUNqQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ25GLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7UUFDckIsTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN6QixNQUFNLEdBQUcsR0FBRyxJQUFBLGdCQUFNLEVBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3RCxNQUFNLENBQUUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtRQUNyQixNQUFNLEtBQUssR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3pCLE1BQU0sR0FBRyxHQUFHLElBQUEsZ0JBQU0sRUFBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3hELE1BQU0sQ0FBRSxlQUFlLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFFLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCAqIGFzIENvbW1vbkRhdGVVdGlscyBmcm9tIFwiLi4vLi4vc3JjL3V0aWxzL2RhdGUtdXRpbHNcIjtcblxuY29uc3QgSVNPID0gXCIyMDIyLTAxLTAyVDAxOjAyOjAzLjAwNFpcIjtcblxuZGVzY3JpYmUoJ0NvbW1vbkRhdGVVdGlsc1Rlc3QnLCAoKSA9PiB7XG5cbiAgICB0ZXN0KCdkYXRlRnJvbUlzb1N0cmluZycsICgpID0+IHtcbiAgICAgICAgY29uc3QgcGFyc2VkID0gQ29tbW9uRGF0ZVV0aWxzLmRhdGVGcm9tSXNvU3RyaW5nKElTTyk7XG4gICAgICAgIGV4cGVjdChwYXJzZWQudG9JU09TdHJpbmcoKSkudG9FcXVhbChJU08pO1xuICAgIH0pO1xuXG4gICAgdGVzdCgnZGF0ZUZyb21Jc29TdHJpbmcgZmFpbHMnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdCgoKSA9PiBDb21tb25EYXRlVXRpbHMuZGF0ZUZyb21Jc29TdHJpbmcoSVNPICsgXCJmb29iYXJcIikpLnRvVGhyb3dFcnJvcigpO1xuICAgIH0pO1xuXG4gICAgdGVzdCgnY291bnREaWZmTXMnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gbmV3IERhdGUoKTtcbiAgICAgICAgY29uc3QgZW5kID0gbW9tZW50KHN0YXJ0KS5hZGQoMTIzNCwgJ21pbGxpc2Vjb25kcycpLnRvRGF0ZSgpO1xuICAgICAgICBleHBlY3QgKENvbW1vbkRhdGVVdGlscy5jb3VudERpZmZNcyhzdGFydCwgZW5kKSkudG9FcXVhbCgxMjM0KTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ2NvdW50RGlmZk1zJywgKCkgPT4ge1xuICAgICAgICBjb25zdCBzdGFydCA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGNvbnN0IGVuZCA9IG1vbWVudChzdGFydCkuYWRkKDEyMzQsICdzZWNvbmRzJykudG9EYXRlKCk7XG4gICAgICAgIGV4cGVjdCAoQ29tbW9uRGF0ZVV0aWxzLmNvdW50RGlmZkluU2Vjb25kcyhzdGFydCwgZW5kKSkudG9FcXVhbCgxMjM0KTtcbiAgICB9KTtcbn0pO1xuIl19
|
@@ -1,49 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
-
if (k2 === undefined) k2 = k;
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
-
}
|
8
|
-
Object.defineProperty(o, k2, desc);
|
9
|
-
}) : (function(o, m, k, k2) {
|
10
|
-
if (k2 === undefined) k2 = k;
|
11
|
-
o[k2] = m[k];
|
12
|
-
}));
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
-
}) : function(o, v) {
|
16
|
-
o["default"] = v;
|
17
|
-
});
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
-
if (mod && mod.__esModule) return mod;
|
20
|
-
var result = {};
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
-
__setModuleDefault(result, mod);
|
23
|
-
return result;
|
24
|
-
};
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
26
|
-
const asserter_1 = require("../../src/test/asserter");
|
27
|
-
const Geometry = __importStar(require("../../src/utils/geometry"));
|
28
|
-
const TAMPERE_WGS84_X = 23.761290078;
|
29
|
-
const TAMPERE_WGS84_Y = 61.497742570;
|
30
|
-
const KUOPIO_WGS84_X = 27.688935;
|
31
|
-
const KUOPIO_WGS84_Y = 62.892983;
|
32
|
-
const TAMPERE_KUOPIO_DISTANCE_KM = 255.8;
|
33
|
-
describe('CommonGeometryTest', () => {
|
34
|
-
test('distanceBetweenWGS84PointsInKm', () => {
|
35
|
-
asserter_1.Asserter.assertToBeCloseTo(Geometry.distanceBetweenPositionsInKm([TAMPERE_WGS84_X, TAMPERE_WGS84_Y], [KUOPIO_WGS84_X, KUOPIO_WGS84_Y]), TAMPERE_KUOPIO_DISTANCE_KM, 0.5);
|
36
|
-
console.info(Geometry.distanceBetweenPositionsInKm([TAMPERE_WGS84_X, TAMPERE_WGS84_Y], [KUOPIO_WGS84_X, KUOPIO_WGS84_Y]));
|
37
|
-
});
|
38
|
-
test('distanceBetweenWGS84PointsInKm', () => {
|
39
|
-
asserter_1.Asserter.assertToBeCloseTo(Geometry.distanceBetweenPositionsInM([TAMPERE_WGS84_X, TAMPERE_WGS84_Y], [KUOPIO_WGS84_X, KUOPIO_WGS84_Y]), TAMPERE_KUOPIO_DISTANCE_KM * 1000, 500);
|
40
|
-
console.info(Geometry.distanceBetweenPositionsInM([TAMPERE_WGS84_X, TAMPERE_WGS84_Y], [KUOPIO_WGS84_X, KUOPIO_WGS84_Y]));
|
41
|
-
});
|
42
|
-
test('areDistinctPositions', () => {
|
43
|
-
expect(Geometry.areDistinctPositions([1, 2], [1, 2])).toBe(false);
|
44
|
-
expect(Geometry.areDistinctPositions([1.1, 2.2], [1.1, 2.2])).toBe(false);
|
45
|
-
expect(Geometry.areDistinctPositions([1, 2.1], [1, 2])).toBe(true);
|
46
|
-
expect(Geometry.areDistinctPositions([1, 2], [1, 2.000000000000001])).toBe(true);
|
47
|
-
});
|
48
|
-
});
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdXRpbHMvZ2VvbWV0cnkudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0RBQWlEO0FBQ2pELG1FQUFxRDtBQUVyRCxNQUFNLGVBQWUsR0FBRyxZQUFZLENBQUM7QUFDckMsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDO0FBRXJDLE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQztBQUNqQyxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUM7QUFDakMsTUFBTSwwQkFBMEIsR0FBRyxLQUFLLENBQUM7QUFFekMsUUFBUSxDQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBRTtJQUVoQyxJQUFJLENBQUMsZ0NBQWdDLEVBQUUsR0FBRyxFQUFFO1FBQ3hDLG1CQUFRLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLDRCQUE0QixDQUFDLENBQUMsZUFBZSxFQUFFLGVBQWUsQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDLEVBQUMsMEJBQTBCLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDeEssT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlILENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLEdBQUcsRUFBRTtRQUN4QyxtQkFBUSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQyxFQUFDLDBCQUEwQixHQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM1SyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxFQUFFO1FBQzlCLE1BQU0sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRCxNQUFNLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxFQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUMsR0FBRyxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xGLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Fzc2VydGVyfSBmcm9tIFwiLi4vLi4vc3JjL3Rlc3QvYXNzZXJ0ZXJcIjtcbmltcG9ydCAqIGFzIEdlb21ldHJ5IGZyb20gJy4uLy4uL3NyYy91dGlscy9nZW9tZXRyeSc7XG5cbmNvbnN0IFRBTVBFUkVfV0dTODRfWCA9IDIzLjc2MTI5MDA3ODtcbmNvbnN0IFRBTVBFUkVfV0dTODRfWSA9IDYxLjQ5Nzc0MjU3MDtcblxuY29uc3QgS1VPUElPX1dHUzg0X1ggPSAyNy42ODg5MzU7XG5jb25zdCBLVU9QSU9fV0dTODRfWSA9IDYyLjg5Mjk4MztcbmNvbnN0IFRBTVBFUkVfS1VPUElPX0RJU1RBTkNFX0tNID0gMjU1Ljg7XG5cbmRlc2NyaWJlKCdDb21tb25HZW9tZXRyeVRlc3QnLCAoKSA9PiB7XG5cbiAgICB0ZXN0KCdkaXN0YW5jZUJldHdlZW5XR1M4NFBvaW50c0luS20nLCAoKSA9PiB7XG4gICAgICAgIEFzc2VydGVyLmFzc2VydFRvQmVDbG9zZVRvKEdlb21ldHJ5LmRpc3RhbmNlQmV0d2VlblBvc2l0aW9uc0luS20oW1RBTVBFUkVfV0dTODRfWCwgVEFNUEVSRV9XR1M4NF9ZXSwgW0tVT1BJT19XR1M4NF9YLCBLVU9QSU9fV0dTODRfWV0pLFRBTVBFUkVfS1VPUElPX0RJU1RBTkNFX0tNLCAwLjUpO1xuICAgICAgICBjb25zb2xlLmluZm8oR2VvbWV0cnkuZGlzdGFuY2VCZXR3ZWVuUG9zaXRpb25zSW5LbShbVEFNUEVSRV9XR1M4NF9YLCBUQU1QRVJFX1dHUzg0X1ldLCBbS1VPUElPX1dHUzg0X1gsIEtVT1BJT19XR1M4NF9ZXSkpO1xuICAgIH0pO1xuXG4gICAgdGVzdCgnZGlzdGFuY2VCZXR3ZWVuV0dTODRQb2ludHNJbkttJywgKCkgPT4ge1xuICAgICAgICBBc3NlcnRlci5hc3NlcnRUb0JlQ2xvc2VUbyhHZW9tZXRyeS5kaXN0YW5jZUJldHdlZW5Qb3NpdGlvbnNJbk0oW1RBTVBFUkVfV0dTODRfWCwgVEFNUEVSRV9XR1M4NF9ZXSwgW0tVT1BJT19XR1M4NF9YLCBLVU9QSU9fV0dTODRfWV0pLFRBTVBFUkVfS1VPUElPX0RJU1RBTkNFX0tNKjEwMDAsIDUwMCk7XG4gICAgICAgIGNvbnNvbGUuaW5mbyhHZW9tZXRyeS5kaXN0YW5jZUJldHdlZW5Qb3NpdGlvbnNJbk0oW1RBTVBFUkVfV0dTODRfWCwgVEFNUEVSRV9XR1M4NF9ZXSwgW0tVT1BJT19XR1M4NF9YLCBLVU9QSU9fV0dTODRfWV0pKTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ2FyZURpc3RpbmN0UG9zaXRpb25zJywgKCkgPT4ge1xuICAgICAgICBleHBlY3QoR2VvbWV0cnkuYXJlRGlzdGluY3RQb3NpdGlvbnMoWzEsMl0sWzEsMl0pKS50b0JlKGZhbHNlKTtcbiAgICAgICAgZXhwZWN0KEdlb21ldHJ5LmFyZURpc3RpbmN0UG9zaXRpb25zKFsxLjEsMi4yXSxbMS4xLDIuMl0pKS50b0JlKGZhbHNlKTtcbiAgICAgICAgZXhwZWN0KEdlb21ldHJ5LmFyZURpc3RpbmN0UG9zaXRpb25zKFsxLDIuMV0sWzEsMl0pKS50b0JlKHRydWUpO1xuICAgICAgICBleHBlY3QoR2VvbWV0cnkuYXJlRGlzdGluY3RQb3NpdGlvbnMoWzEsMl0sWzEsMi4wMDAwMDAwMDAwMDAwMDFdKSkudG9CZSh0cnVlKTtcbiAgICB9KTtcbn0pO1xuIl19
|
package/test/utils/utils.test.js
DELETED
@@ -1,49 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
-
if (k2 === undefined) k2 = k;
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
-
}
|
8
|
-
Object.defineProperty(o, k2, desc);
|
9
|
-
}) : (function(o, m, k, k2) {
|
10
|
-
if (k2 === undefined) k2 = k;
|
11
|
-
o[k2] = m[k];
|
12
|
-
}));
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
-
}) : function(o, v) {
|
16
|
-
o["default"] = v;
|
17
|
-
});
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
-
if (mod && mod.__esModule) return mod;
|
20
|
-
var result = {};
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
-
__setModuleDefault(result, mod);
|
23
|
-
return result;
|
24
|
-
};
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
26
|
-
const CommonUtils = __importStar(require("../../src/utils/utils"));
|
27
|
-
describe('CommonUtilsTest', () => {
|
28
|
-
test('bothArraysHasSameValues', () => {
|
29
|
-
expect(CommonUtils.bothArraysHasSameValues([], [])).toEqual(true);
|
30
|
-
expect(CommonUtils.bothArraysHasSameValues(['a'], ['a'])).toEqual(true);
|
31
|
-
expect(CommonUtils.bothArraysHasSameValues(['a'], ['a', 'a'])).toEqual(true);
|
32
|
-
expect(CommonUtils.bothArraysHasSameValues(['a', 'a'], ['a', 'a'])).toEqual(true);
|
33
|
-
expect(CommonUtils.bothArraysHasSameValues(null, null)).toEqual(true);
|
34
|
-
expect(CommonUtils.bothArraysHasSameValues(undefined, undefined)).toEqual(true);
|
35
|
-
expect(CommonUtils.bothArraysHasSameValues(null, undefined)).toEqual(true);
|
36
|
-
expect(CommonUtils.bothArraysHasSameValues(['a'], undefined)).toEqual(false);
|
37
|
-
expect(CommonUtils.bothArraysHasSameValues(['a'], null)).toEqual(false);
|
38
|
-
/* eslint-enable */
|
39
|
-
expect(CommonUtils.bothArraysHasSameValues(['a', 'b'], ['a', 'a'])).toEqual(false);
|
40
|
-
expect(CommonUtils.bothArraysHasSameValues(['a', 'a', 'a'], ['a', 'b', 'c'])).toEqual(false);
|
41
|
-
const o1 = { a: 1, b: 2 };
|
42
|
-
const o2 = { a: 1, b: 2 };
|
43
|
-
// Objects are references to same
|
44
|
-
expect(CommonUtils.bothArraysHasSameValues([o1], [o1])).toEqual(true);
|
45
|
-
// Object's are not the same but the contents are the same
|
46
|
-
expect(CommonUtils.bothArraysHasSameValues([o1], [o2])).toEqual(false);
|
47
|
-
});
|
48
|
-
});
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdXRpbHMvdXRpbHMudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbUVBQXFEO0FBRXJELFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7SUFFN0IsSUFBSSxDQUFDLHlCQUF5QixFQUFFLEdBQUcsRUFBRTtRQUNqQyxNQUFNLENBQUMsV0FBVyxDQUFDLHVCQUF1QixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRSxNQUFNLENBQUMsV0FBVyxDQUFDLHVCQUF1QixDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sQ0FBQyxXQUFXLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdFLE1BQU0sQ0FBQyxXQUFXLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVsRixNQUFNLENBQUMsV0FBVyxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0RSxNQUFNLENBQUMsV0FBVyxDQUFDLHVCQUF1QixDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRixNQUFNLENBQUMsV0FBVyxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzRSxNQUFNLENBQUMsV0FBVyxDQUFDLHVCQUF1QixDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0UsTUFBTSxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hFLG1CQUFtQjtRQUNuQixNQUFNLENBQUMsV0FBVyxDQUFDLHVCQUF1QixDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkYsTUFBTSxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0YsTUFBTSxFQUFFLEdBQUcsRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQztRQUN4QixNQUFNLEVBQUUsR0FBRyxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDO1FBQ3hCLGlDQUFpQztRQUNqQyxNQUFNLENBQUMsV0FBVyxDQUFDLHVCQUF1QixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RFLDBEQUEwRDtRQUMxRCxNQUFNLENBQUMsV0FBVyxDQUFDLHVCQUF1QixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTNFLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBDb21tb25VdGlscyBmcm9tIFwiLi4vLi4vc3JjL3V0aWxzL3V0aWxzXCI7XG5cbmRlc2NyaWJlKCdDb21tb25VdGlsc1Rlc3QnLCAoKSA9PiB7XG5cbiAgICB0ZXN0KCdib3RoQXJyYXlzSGFzU2FtZVZhbHVlcycsICgpID0+IHtcbiAgICAgICAgZXhwZWN0KENvbW1vblV0aWxzLmJvdGhBcnJheXNIYXNTYW1lVmFsdWVzKFtdLCBbXSkpLnRvRXF1YWwodHJ1ZSk7XG4gICAgICAgIGV4cGVjdChDb21tb25VdGlscy5ib3RoQXJyYXlzSGFzU2FtZVZhbHVlcyhbJ2EnXSwgWydhJ10pKS50b0VxdWFsKHRydWUpO1xuICAgICAgICBleHBlY3QoQ29tbW9uVXRpbHMuYm90aEFycmF5c0hhc1NhbWVWYWx1ZXMoWydhJ10sIFsnYScsICdhJ10pKS50b0VxdWFsKHRydWUpO1xuICAgICAgICBleHBlY3QoQ29tbW9uVXRpbHMuYm90aEFycmF5c0hhc1NhbWVWYWx1ZXMoWydhJywgJ2EnXSwgWydhJywgJ2EnXSkpLnRvRXF1YWwodHJ1ZSk7XG5cbiAgICAgICAgZXhwZWN0KENvbW1vblV0aWxzLmJvdGhBcnJheXNIYXNTYW1lVmFsdWVzKG51bGwsIG51bGwpKS50b0VxdWFsKHRydWUpO1xuICAgICAgICBleHBlY3QoQ29tbW9uVXRpbHMuYm90aEFycmF5c0hhc1NhbWVWYWx1ZXModW5kZWZpbmVkLCB1bmRlZmluZWQpKS50b0VxdWFsKHRydWUpO1xuICAgICAgICBleHBlY3QoQ29tbW9uVXRpbHMuYm90aEFycmF5c0hhc1NhbWVWYWx1ZXMobnVsbCwgdW5kZWZpbmVkKSkudG9FcXVhbCh0cnVlKTtcbiAgICAgICAgZXhwZWN0KENvbW1vblV0aWxzLmJvdGhBcnJheXNIYXNTYW1lVmFsdWVzKFsnYSddLCB1bmRlZmluZWQpKS50b0VxdWFsKGZhbHNlKTtcbiAgICAgICAgZXhwZWN0KENvbW1vblV0aWxzLmJvdGhBcnJheXNIYXNTYW1lVmFsdWVzKFsnYSddLCBudWxsKSkudG9FcXVhbChmYWxzZSk7XG4gICAgICAgIC8qIGVzbGludC1lbmFibGUgKi9cbiAgICAgICAgZXhwZWN0KENvbW1vblV0aWxzLmJvdGhBcnJheXNIYXNTYW1lVmFsdWVzKFsnYScsICdiJ10sIFsnYScsICdhJ10pKS50b0VxdWFsKGZhbHNlKTtcbiAgICAgICAgZXhwZWN0KENvbW1vblV0aWxzLmJvdGhBcnJheXNIYXNTYW1lVmFsdWVzKFsnYScsICdhJywgJ2EnXSwgWydhJywgJ2InLCAnYyddKSkudG9FcXVhbChmYWxzZSk7XG5cbiAgICAgICAgY29uc3QgbzEgPSB7YTogMSwgYjogMn07XG4gICAgICAgIGNvbnN0IG8yID0ge2E6IDEsIGI6IDJ9O1xuICAgICAgICAvLyBPYmplY3RzIGFyZSByZWZlcmVuY2VzIHRvIHNhbWVcbiAgICAgICAgZXhwZWN0KENvbW1vblV0aWxzLmJvdGhBcnJheXNIYXNTYW1lVmFsdWVzKFtvMV0sIFtvMV0pKS50b0VxdWFsKHRydWUpO1xuICAgICAgICAvLyBPYmplY3QncyBhcmUgbm90IHRoZSBzYW1lIGJ1dCB0aGUgY29udGVudHMgYXJlIHRoZSBzYW1lXG4gICAgICAgIGV4cGVjdChDb21tb25VdGlscy5ib3RoQXJyYXlzSGFzU2FtZVZhbHVlcyhbbzFdLCBbbzJdKSkudG9FcXVhbChmYWxzZSk7XG5cbiAgICB9KTtcbn0pO1xuIl19
|