@devrev/ts-adaas 1.18.1-beta.1 → 1.19.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/dist/common/install-initial-domain-mapping.test.js +5 -2
- package/dist/common/test-utils.d.ts +19 -0
- package/dist/common/test-utils.d.ts.map +1 -0
- package/dist/common/test-utils.js +109 -0
- package/dist/index.d.ts +9 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -10
- package/dist/logger/logger.test.js +4 -19
- package/dist/mappers/mappers.test.js +8 -10
- package/dist/mock-server/mock-server.js +1 -1
- package/dist/multithreading/create-worker.test.js +12 -11
- package/dist/multithreading/spawn/spawn.js +1 -1
- package/dist/multithreading/worker-adapter/worker-adapter.artifacts.test.js +7 -3
- package/dist/multithreading/worker-adapter/worker-adapter.test.js +6 -4
- package/dist/repo/repo.test.js +17 -5
- package/dist/state/state.test.js +187 -156
- package/dist/types/external-domain-metadata.d.ts +20 -1
- package/dist/types/external-domain-metadata.d.ts.map +1 -1
- package/dist/types/extraction.test.js +17 -10
- package/dist/uploader/uploader.test.js +3 -1
- package/package.json +1 -1
|
@@ -5,7 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const axios_1 = __importDefault(require("axios"));
|
|
7
7
|
const axios_client_internal_1 = require("../http/axios-client-internal");
|
|
8
|
-
const
|
|
8
|
+
const jest_setup_1 = require("../tests/jest.setup");
|
|
9
|
+
const test_utils_1 = require("./test-utils");
|
|
9
10
|
const extraction_1 = require("../types/extraction");
|
|
10
11
|
const install_initial_domain_mapping_1 = require("./install-initial-domain-mapping");
|
|
11
12
|
// Mock dependencies
|
|
@@ -22,7 +23,9 @@ const mockAxiosClient = axios_client_internal_1.axiosClient;
|
|
|
22
23
|
const mockIsAxiosError = axios_1.default.isAxiosError;
|
|
23
24
|
describe(install_initial_domain_mapping_1.installInitialDomainMapping.name, () => {
|
|
24
25
|
// Create mock objects
|
|
25
|
-
const mockEvent = (0,
|
|
26
|
+
const mockEvent = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
|
|
27
|
+
payload: { event_type: extraction_1.EventType.ExtractionDataStart },
|
|
28
|
+
});
|
|
26
29
|
const mockInitialDomainMapping = {
|
|
27
30
|
starting_recipe_blueprint: {
|
|
28
31
|
name: 'Test Recipe Blueprint',
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AirdropEvent } from '../types/extraction';
|
|
2
|
+
export declare const MOCK_SERVER_DEFAULT_URL = "http://localhost:0";
|
|
3
|
+
/**
|
|
4
|
+
* Recursively makes all properties of T optional.
|
|
5
|
+
*/
|
|
6
|
+
export type DeepPartial<T> = {
|
|
7
|
+
[P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Creates a mock AirdropEvent for testing.
|
|
11
|
+
*
|
|
12
|
+
* @param mockServerUrl - Base URL for the mock server. Defaults to {@link MOCK_SERVER_DEFAULT_URL}.
|
|
13
|
+
* The `callback_url`, `worker_data_url`, and `devrev_endpoint` fields are
|
|
14
|
+
* derived from this value unless explicitly overridden.
|
|
15
|
+
* @param overrides - Deep partial of AirdropEvent. Any provided fields are
|
|
16
|
+
* deep-merged on top of the defaults.
|
|
17
|
+
*/
|
|
18
|
+
export declare function createMockEvent(mockServerUrl?: string, overrides?: DeepPartial<AirdropEvent>): AirdropEvent;
|
|
19
|
+
//# sourceMappingURL=test-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../src/common/test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAa,MAAM,qBAAqB,CAAC;AAE9D,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC;AAoCF;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,aAAa,GAAE,MAAgC,EAC/C,SAAS,GAAE,WAAW,CAAC,YAAY,CAAM,GACxC,YAAY,CA2Ed"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MOCK_SERVER_DEFAULT_URL = void 0;
|
|
4
|
+
exports.createMockEvent = createMockEvent;
|
|
5
|
+
const extraction_1 = require("../types/extraction");
|
|
6
|
+
exports.MOCK_SERVER_DEFAULT_URL = 'http://localhost:0';
|
|
7
|
+
/**
|
|
8
|
+
* Deep merges source into target. Arrays and primitives from source replace
|
|
9
|
+
* those in target; plain objects are merged recursively.
|
|
10
|
+
*/
|
|
11
|
+
function deepMerge(target, source) {
|
|
12
|
+
const result = Object.assign({}, target);
|
|
13
|
+
for (const key of Object.keys(source)) {
|
|
14
|
+
const sourceVal = source[key];
|
|
15
|
+
const targetVal = target[key];
|
|
16
|
+
if (sourceVal !== null &&
|
|
17
|
+
typeof sourceVal === 'object' &&
|
|
18
|
+
!Array.isArray(sourceVal) &&
|
|
19
|
+
targetVal !== null &&
|
|
20
|
+
typeof targetVal === 'object' &&
|
|
21
|
+
!Array.isArray(targetVal)) {
|
|
22
|
+
result[key] = deepMerge(targetVal, sourceVal);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
result[key] = sourceVal;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Creates a mock AirdropEvent for testing.
|
|
32
|
+
*
|
|
33
|
+
* @param mockServerUrl - Base URL for the mock server. Defaults to {@link MOCK_SERVER_DEFAULT_URL}.
|
|
34
|
+
* The `callback_url`, `worker_data_url`, and `devrev_endpoint` fields are
|
|
35
|
+
* derived from this value unless explicitly overridden.
|
|
36
|
+
* @param overrides - Deep partial of AirdropEvent. Any provided fields are
|
|
37
|
+
* deep-merged on top of the defaults.
|
|
38
|
+
*/
|
|
39
|
+
function createMockEvent(mockServerUrl = exports.MOCK_SERVER_DEFAULT_URL, overrides = {}) {
|
|
40
|
+
var _a, _b, _c, _d;
|
|
41
|
+
const base = {
|
|
42
|
+
context: {
|
|
43
|
+
secrets: {
|
|
44
|
+
service_account_token: 'test_token',
|
|
45
|
+
},
|
|
46
|
+
snap_in_version_id: 'test_snap_in_version_id',
|
|
47
|
+
snap_in_id: 'test_snap_in_id',
|
|
48
|
+
},
|
|
49
|
+
payload: {
|
|
50
|
+
connection_data: {
|
|
51
|
+
org_id: 'test_org_id',
|
|
52
|
+
org_name: 'test_org_name',
|
|
53
|
+
key: 'test_key',
|
|
54
|
+
key_type: 'test_key_type',
|
|
55
|
+
},
|
|
56
|
+
event_context: {
|
|
57
|
+
callback_url: `${mockServerUrl}/callback_url`,
|
|
58
|
+
dev_org: 'test_dev_org',
|
|
59
|
+
dev_oid: 'test_dev_oid',
|
|
60
|
+
dev_org_id: 'test_dev_org_id',
|
|
61
|
+
dev_user: 'test_dev_user',
|
|
62
|
+
dev_user_id: 'test_dev_user_id',
|
|
63
|
+
dev_uid: 'test_dev_uid',
|
|
64
|
+
event_type_adaas: 'test_event_type_adaas',
|
|
65
|
+
external_sync_unit: 'test_external_sync_unit',
|
|
66
|
+
external_sync_unit_id: 'test_external_sync_unit_id',
|
|
67
|
+
external_sync_unit_name: 'test_external_sync_unit_name',
|
|
68
|
+
external_system: 'test_external_system',
|
|
69
|
+
external_system_id: 'test_external_system_id',
|
|
70
|
+
external_system_name: 'test_external_system_name',
|
|
71
|
+
external_system_type: 'test_external_system_type',
|
|
72
|
+
import_slug: 'test_import_slug',
|
|
73
|
+
mode: 'INITIAL',
|
|
74
|
+
request_id: 'test_request_id',
|
|
75
|
+
request_id_adaas: 'test_request_id_adaas',
|
|
76
|
+
run_id: 'test_run_id',
|
|
77
|
+
sequence_version: 'test_sequence_version',
|
|
78
|
+
snap_in_slug: 'test_snap_in_slug',
|
|
79
|
+
snap_in_version_id: 'test_snap_in_version_id',
|
|
80
|
+
sync_run: 'test_sync_run',
|
|
81
|
+
sync_run_id: 'test_sync_run_id',
|
|
82
|
+
sync_tier: 'test_sync_tier',
|
|
83
|
+
sync_unit: 'test_sync_unit',
|
|
84
|
+
sync_unit_id: 'test_sync_unit_id',
|
|
85
|
+
uuid: 'test_uuid',
|
|
86
|
+
worker_data_url: `${mockServerUrl}/worker_data_url`,
|
|
87
|
+
},
|
|
88
|
+
event_type: extraction_1.EventType.StartExtractingData,
|
|
89
|
+
event_data: {},
|
|
90
|
+
},
|
|
91
|
+
execution_metadata: {
|
|
92
|
+
devrev_endpoint: mockServerUrl,
|
|
93
|
+
},
|
|
94
|
+
input_data: {
|
|
95
|
+
global_values: {},
|
|
96
|
+
event_sources: {},
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
const merged = deepMerge(base, overrides);
|
|
100
|
+
// Ensure mock server URLs always win over overrides, unless the caller
|
|
101
|
+
// explicitly provided them.
|
|
102
|
+
if (!((_b = (_a = overrides.payload) === null || _a === void 0 ? void 0 : _a.event_context) === null || _b === void 0 ? void 0 : _b.callback_url)) {
|
|
103
|
+
merged.payload.event_context.callback_url = `${mockServerUrl}/callback_url`;
|
|
104
|
+
}
|
|
105
|
+
if (!((_d = (_c = overrides.payload) === null || _c === void 0 ? void 0 : _c.event_context) === null || _d === void 0 ? void 0 : _d.worker_data_url)) {
|
|
106
|
+
merged.payload.event_context.worker_data_url = `${mockServerUrl}/worker_data_url`;
|
|
107
|
+
}
|
|
108
|
+
return merged;
|
|
109
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
|
+
export { AirSyncDefaultItemTypes } from './common/constants';
|
|
2
|
+
export { ExtractionCommonError } from './common/errors';
|
|
3
|
+
export * from './common/install-initial-domain-mapping';
|
|
1
4
|
export * from './deprecated/adapter';
|
|
2
5
|
export * from './deprecated/demo-extractor';
|
|
3
6
|
export * from './deprecated/http/client';
|
|
4
7
|
export * from './deprecated/uploader';
|
|
5
8
|
export * from './http';
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export {
|
|
9
|
-
export { AirSyncDefaultItemTypes } from './common/constants';
|
|
9
|
+
export { formatAxiosError, serializeAxiosError } from './logger/logger';
|
|
10
|
+
export { MockServer } from './mock-server/mock-server';
|
|
11
|
+
export type { RequestInfo, RetryConfig, RouteConfig, } from './mock-server/mock-server.interfaces';
|
|
10
12
|
export { processTask } from './multithreading/process-task';
|
|
11
13
|
export { spawn } from './multithreading/spawn/spawn';
|
|
12
14
|
export { WorkerAdapter } from './multithreading/worker-adapter/worker-adapter';
|
|
15
|
+
export { createMockEvent, MOCK_SERVER_DEFAULT_URL } from './common/test-utils';
|
|
16
|
+
export type { DeepPartial } from './common/test-utils';
|
|
17
|
+
export * from './types';
|
|
13
18
|
export * from './types/workers';
|
|
14
|
-
export { formatAxiosError, serializeAxiosError } from './logger/logger';
|
|
15
|
-
export { MockServer } from './mock-server/mock-server';
|
|
16
|
-
export type { RequestInfo, RetryConfig, RouteConfig, } from './mock-server/mock-server.interfaces';
|
|
17
19
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,YAAY,EACV,WAAW,EACX,WAAW,EACX,WAAW,GACZ,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,25 +14,28 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
17
|
+
exports.MOCK_SERVER_DEFAULT_URL = exports.createMockEvent = exports.WorkerAdapter = exports.spawn = exports.processTask = exports.MockServer = exports.serializeAxiosError = exports.formatAxiosError = exports.AirSyncDefaultItemTypes = void 0;
|
|
18
|
+
var constants_1 = require("./common/constants");
|
|
19
|
+
Object.defineProperty(exports, "AirSyncDefaultItemTypes", { enumerable: true, get: function () { return constants_1.AirSyncDefaultItemTypes; } });
|
|
20
|
+
__exportStar(require("./common/install-initial-domain-mapping"), exports);
|
|
18
21
|
__exportStar(require("./deprecated/adapter"), exports);
|
|
19
22
|
__exportStar(require("./deprecated/demo-extractor"), exports);
|
|
20
23
|
__exportStar(require("./deprecated/http/client"), exports);
|
|
21
24
|
__exportStar(require("./deprecated/uploader"), exports);
|
|
22
25
|
__exportStar(require("./http"), exports);
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
var logger_1 = require("./logger/logger");
|
|
27
|
+
Object.defineProperty(exports, "formatAxiosError", { enumerable: true, get: function () { return logger_1.formatAxiosError; } });
|
|
28
|
+
Object.defineProperty(exports, "serializeAxiosError", { enumerable: true, get: function () { return logger_1.serializeAxiosError; } });
|
|
29
|
+
var mock_server_1 = require("./mock-server/mock-server");
|
|
30
|
+
Object.defineProperty(exports, "MockServer", { enumerable: true, get: function () { return mock_server_1.MockServer; } });
|
|
27
31
|
var process_task_1 = require("./multithreading/process-task");
|
|
28
32
|
Object.defineProperty(exports, "processTask", { enumerable: true, get: function () { return process_task_1.processTask; } });
|
|
29
33
|
var spawn_1 = require("./multithreading/spawn/spawn");
|
|
30
34
|
Object.defineProperty(exports, "spawn", { enumerable: true, get: function () { return spawn_1.spawn; } });
|
|
31
35
|
var worker_adapter_1 = require("./multithreading/worker-adapter/worker-adapter");
|
|
32
36
|
Object.defineProperty(exports, "WorkerAdapter", { enumerable: true, get: function () { return worker_adapter_1.WorkerAdapter; } });
|
|
37
|
+
var test_utils_1 = require("./common/test-utils");
|
|
38
|
+
Object.defineProperty(exports, "createMockEvent", { enumerable: true, get: function () { return test_utils_1.createMockEvent; } });
|
|
39
|
+
Object.defineProperty(exports, "MOCK_SERVER_DEFAULT_URL", { enumerable: true, get: function () { return test_utils_1.MOCK_SERVER_DEFAULT_URL; } });
|
|
40
|
+
__exportStar(require("./types"), exports);
|
|
33
41
|
__exportStar(require("./types/workers"), exports);
|
|
34
|
-
var logger_1 = require("./logger/logger");
|
|
35
|
-
Object.defineProperty(exports, "formatAxiosError", { enumerable: true, get: function () { return logger_1.formatAxiosError; } });
|
|
36
|
-
Object.defineProperty(exports, "serializeAxiosError", { enumerable: true, get: function () { return logger_1.serializeAxiosError; } });
|
|
37
|
-
var mock_server_1 = require("./mock-server/mock-server");
|
|
38
|
-
Object.defineProperty(exports, "MockServer", { enumerable: true, get: function () { return mock_server_1.MockServer; } });
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const node_util_1 = require("node:util");
|
|
4
4
|
const constants_1 = require("../common/constants");
|
|
5
|
-
const
|
|
5
|
+
const jest_setup_1 = require("../tests/jest.setup");
|
|
6
|
+
const test_utils_1 = require("../common/test-utils");
|
|
6
7
|
const extraction_1 = require("../types/extraction");
|
|
7
8
|
const logger_1 = require("./logger");
|
|
8
9
|
const logger_constants_1 = require("./logger.constants");
|
|
@@ -20,24 +21,8 @@ describe(logger_1.Logger.name, () => {
|
|
|
20
21
|
let mockOptions;
|
|
21
22
|
beforeEach(() => {
|
|
22
23
|
jest.clearAllMocks();
|
|
23
|
-
mockEvent = (0,
|
|
24
|
-
|
|
25
|
-
eventContextOverrides: {
|
|
26
|
-
dev_org: 'DEV-test',
|
|
27
|
-
dev_org_id: 'DEV-test-id',
|
|
28
|
-
dev_user: 'DEVU-test',
|
|
29
|
-
dev_user_id: 'DEVU-test-id',
|
|
30
|
-
external_sync_unit: 'test-unit',
|
|
31
|
-
external_sync_unit_id: 'test-unit-id',
|
|
32
|
-
external_sync_unit_name: 'test-unit-name',
|
|
33
|
-
external_system: 'test-system',
|
|
34
|
-
external_system_type: 'test-type',
|
|
35
|
-
import_slug: 'test-import',
|
|
36
|
-
request_id: 'test-request-id',
|
|
37
|
-
snap_in_slug: 'test-snap-slug',
|
|
38
|
-
sync_run: 'test-sync-run',
|
|
39
|
-
sync_run_id: 'test-sync-run-id',
|
|
40
|
-
},
|
|
24
|
+
mockEvent = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
|
|
25
|
+
payload: { event_type: extraction_1.EventType.StartExtractingData },
|
|
41
26
|
});
|
|
42
27
|
mockOptions = {
|
|
43
28
|
isLocalDevelopment: false,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const test_utils_1 = require("../common/test-utils");
|
|
3
4
|
const axios_client_internal_1 = require("../http/axios-client-internal");
|
|
4
|
-
const test_helpers_1 = require("../tests/test-helpers");
|
|
5
5
|
const extraction_1 = require("../types/extraction");
|
|
6
6
|
const mappers_1 = require("./mappers");
|
|
7
7
|
const mappers_interface_1 = require("./mappers.interface");
|
|
@@ -9,7 +9,6 @@ const mappers_interface_1 = require("./mappers.interface");
|
|
|
9
9
|
jest.mock('../http/axios-client-internal');
|
|
10
10
|
const mockAxiosClient = axios_client_internal_1.axiosClient;
|
|
11
11
|
describe(mappers_1.Mappers.name, () => {
|
|
12
|
-
const apiEndpoint = 'test_devrev_endpoint';
|
|
13
12
|
const apiToken = 'test_service_token';
|
|
14
13
|
const syncUnit = 'test_sync_unit';
|
|
15
14
|
const targetId = 'test_target_id';
|
|
@@ -17,12 +16,11 @@ describe(mappers_1.Mappers.name, () => {
|
|
|
17
16
|
const id = 'test_id';
|
|
18
17
|
const externalIds = ['test_external_id'];
|
|
19
18
|
const targets = ['test_target_id'];
|
|
20
|
-
const mockEvent = (0,
|
|
21
|
-
|
|
22
|
-
executionMetadataOverrides: { devrev_endpoint: apiEndpoint },
|
|
23
|
-
contextOverrides: {
|
|
19
|
+
const mockEvent = (0, test_utils_1.createMockEvent)(test_utils_1.MOCK_SERVER_DEFAULT_URL, {
|
|
20
|
+
context: {
|
|
24
21
|
secrets: { service_account_token: apiToken },
|
|
25
22
|
},
|
|
23
|
+
payload: { event_type: extraction_1.EventType.StartExtractingData },
|
|
26
24
|
});
|
|
27
25
|
const mappers = new mappers_1.Mappers({ event: mockEvent });
|
|
28
26
|
beforeEach(() => {
|
|
@@ -38,7 +36,7 @@ describe(mappers_1.Mappers.name, () => {
|
|
|
38
36
|
// Act
|
|
39
37
|
await mappers.getByTargetId(params);
|
|
40
38
|
// Assert
|
|
41
|
-
expect(mockAxiosClient.get).toHaveBeenCalledWith(`${
|
|
39
|
+
expect(mockAxiosClient.get).toHaveBeenCalledWith(`${test_utils_1.MOCK_SERVER_DEFAULT_URL}/internal/airdrop.sync-mapper-record.get-by-target`, {
|
|
42
40
|
headers: {
|
|
43
41
|
Authorization: apiToken,
|
|
44
42
|
},
|
|
@@ -56,7 +54,7 @@ describe(mappers_1.Mappers.name, () => {
|
|
|
56
54
|
// Act
|
|
57
55
|
await mappers.getByExternalId(params);
|
|
58
56
|
// Assert
|
|
59
|
-
expect(mockAxiosClient.get).toHaveBeenCalledWith(`${
|
|
57
|
+
expect(mockAxiosClient.get).toHaveBeenCalledWith(`${test_utils_1.MOCK_SERVER_DEFAULT_URL}/internal/airdrop.sync-mapper-record.get-by-external-id`, {
|
|
60
58
|
headers: {
|
|
61
59
|
Authorization: apiToken,
|
|
62
60
|
},
|
|
@@ -79,7 +77,7 @@ describe(mappers_1.Mappers.name, () => {
|
|
|
79
77
|
// Act
|
|
80
78
|
await mappers.create(params);
|
|
81
79
|
// Assert
|
|
82
|
-
expect(mockAxiosClient.post).toHaveBeenCalledWith(`${
|
|
80
|
+
expect(mockAxiosClient.post).toHaveBeenCalledWith(`${test_utils_1.MOCK_SERVER_DEFAULT_URL}/internal/airdrop.sync-mapper-record.create`, params, {
|
|
83
81
|
headers: {
|
|
84
82
|
Authorization: apiToken,
|
|
85
83
|
},
|
|
@@ -98,7 +96,7 @@ describe(mappers_1.Mappers.name, () => {
|
|
|
98
96
|
// Act
|
|
99
97
|
await mappers.update(params);
|
|
100
98
|
// Assert
|
|
101
|
-
expect(mockAxiosClient.post).toHaveBeenCalledWith(`${
|
|
99
|
+
expect(mockAxiosClient.post).toHaveBeenCalledWith(`${test_utils_1.MOCK_SERVER_DEFAULT_URL}/internal/airdrop.sync-mapper-record.update`, params, {
|
|
102
100
|
headers: {
|
|
103
101
|
Authorization: apiToken,
|
|
104
102
|
},
|
|
@@ -7,7 +7,7 @@ const MAX_BODY_SIZE = 10 * 1024 * 1024; // 10mb
|
|
|
7
7
|
/**
|
|
8
8
|
* Parses the JSON body from an incoming request.
|
|
9
9
|
*/
|
|
10
|
-
function parseJsonBody(req) {
|
|
10
|
+
async function parseJsonBody(req) {
|
|
11
11
|
return new Promise((resolve, reject) => {
|
|
12
12
|
const chunks = [];
|
|
13
13
|
let size = 0;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const worker_threads_1 = require("worker_threads");
|
|
4
|
-
const
|
|
4
|
+
const jest_setup_1 = require("../tests/jest.setup");
|
|
5
|
+
const test_utils_1 = require("../common/test-utils");
|
|
5
6
|
const extraction_1 = require("../types/extraction");
|
|
6
7
|
const create_worker_1 = require("./create-worker");
|
|
7
8
|
describe(create_worker_1.createWorker.name, () => {
|
|
@@ -9,8 +10,8 @@ describe(create_worker_1.createWorker.name, () => {
|
|
|
9
10
|
const workerPath = __dirname + '../tests/dummy-worker.ts';
|
|
10
11
|
const worker = worker_threads_1.isMainThread
|
|
11
12
|
? await (0, create_worker_1.createWorker)({
|
|
12
|
-
event: (0,
|
|
13
|
-
|
|
13
|
+
event: (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
|
|
14
|
+
payload: { event_type: extraction_1.EventType.ExtractionExternalSyncUnitsStart },
|
|
14
15
|
}),
|
|
15
16
|
initialState: {},
|
|
16
17
|
workerPath,
|
|
@@ -28,8 +29,8 @@ describe(create_worker_1.createWorker.name, () => {
|
|
|
28
29
|
worker_threads_1.isMainThread = false;
|
|
29
30
|
const workerPath = __dirname + '../tests/dummy-worker.ts';
|
|
30
31
|
await expect((0, create_worker_1.createWorker)({
|
|
31
|
-
event: (0,
|
|
32
|
-
|
|
32
|
+
event: (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
|
|
33
|
+
payload: { event_type: extraction_1.EventType.ExtractionExternalSyncUnitsStart },
|
|
33
34
|
}),
|
|
34
35
|
initialState: {},
|
|
35
36
|
workerPath,
|
|
@@ -42,8 +43,8 @@ describe(create_worker_1.createWorker.name, () => {
|
|
|
42
43
|
const workerPath = __dirname + '../tests/dummy-worker.ts';
|
|
43
44
|
if (worker_threads_1.isMainThread) {
|
|
44
45
|
const worker = await (0, create_worker_1.createWorker)({
|
|
45
|
-
event: (0,
|
|
46
|
-
|
|
46
|
+
event: (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
|
|
47
|
+
payload: { event_type: extraction_1.EventType.ExtractionExternalSyncUnitsStart },
|
|
47
48
|
}),
|
|
48
49
|
initialState: {},
|
|
49
50
|
workerPath,
|
|
@@ -62,8 +63,8 @@ describe(create_worker_1.createWorker.name, () => {
|
|
|
62
63
|
};
|
|
63
64
|
if (worker_threads_1.isMainThread) {
|
|
64
65
|
const worker = await (0, create_worker_1.createWorker)({
|
|
65
|
-
event: (0,
|
|
66
|
-
|
|
66
|
+
event: (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
|
|
67
|
+
payload: { event_type: extraction_1.EventType.ExtractionDataStart },
|
|
67
68
|
}),
|
|
68
69
|
initialState: complexState,
|
|
69
70
|
workerPath,
|
|
@@ -76,8 +77,8 @@ describe(create_worker_1.createWorker.name, () => {
|
|
|
76
77
|
const workerPath = __dirname + '../tests/dummy-worker.ts';
|
|
77
78
|
if (worker_threads_1.isMainThread) {
|
|
78
79
|
const worker = await (0, create_worker_1.createWorker)({
|
|
79
|
-
event: (0,
|
|
80
|
-
|
|
80
|
+
event: (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
|
|
81
|
+
payload: { event_type: extraction_1.EventType.ExtractionMetadataStart },
|
|
81
82
|
}),
|
|
82
83
|
initialState: {},
|
|
83
84
|
workerPath,
|
|
@@ -64,7 +64,7 @@ async function spawn({ event, initialState, workerPath, initialDomainMapping, op
|
|
|
64
64
|
event.payload.event_type = translatedEventType;
|
|
65
65
|
// Read the command line arguments to check if the local flag is passed.
|
|
66
66
|
const argv = await (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv)).argv;
|
|
67
|
-
if (argv._.includes('local')) {
|
|
67
|
+
if (argv._.includes('local') || argv.local) {
|
|
68
68
|
options = Object.assign(Object.assign({}, (options || {})), { isLocalDevelopment: true });
|
|
69
69
|
}
|
|
70
70
|
const originalConsole = console;
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const constants_1 = require("../../common/constants");
|
|
4
4
|
const state_1 = require("../../state/state");
|
|
5
|
+
const jest_setup_1 = require("../../tests/jest.setup");
|
|
5
6
|
const test_helpers_1 = require("../../tests/test-helpers");
|
|
7
|
+
const test_utils_1 = require("../../common/test-utils");
|
|
6
8
|
const types_1 = require("../../types");
|
|
7
9
|
const worker_adapter_1 = require("./worker-adapter");
|
|
8
10
|
// 1. Create a mock function for the method you want to override.
|
|
@@ -50,7 +52,9 @@ describe('Artifact ordering when artifacts overflow batch sizes in repositories'
|
|
|
50
52
|
let testAdapter;
|
|
51
53
|
beforeEach(() => {
|
|
52
54
|
// Create a fresh adapter instance for this test to avoid mocking conflicts
|
|
53
|
-
const mockEvent = (0,
|
|
55
|
+
const mockEvent = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
|
|
56
|
+
payload: { event_type: types_1.EventType.StartExtractingData },
|
|
57
|
+
});
|
|
54
58
|
const mockAdapterState = new state_1.State({
|
|
55
59
|
event: mockEvent,
|
|
56
60
|
initialState: { attachments: { completed: false } },
|
|
@@ -129,8 +133,8 @@ describe('Artifact ordering when artifacts overflow batch sizes in repositories'
|
|
|
129
133
|
describe('External sync units splitting into artifacts', () => {
|
|
130
134
|
let testAdapter;
|
|
131
135
|
beforeEach(() => {
|
|
132
|
-
const mockEvent = (0,
|
|
133
|
-
|
|
136
|
+
const mockEvent = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
|
|
137
|
+
payload: { event_type: types_1.EventType.StartExtractingExternalSyncUnits },
|
|
134
138
|
});
|
|
135
139
|
const mockAdapterState = new state_1.State({
|
|
136
140
|
event: mockEvent,
|
|
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const attachments_streaming_pool_1 = require("../../attachments-streaming/attachments-streaming-pool");
|
|
4
4
|
const constants_1 = require("../../common/constants");
|
|
5
5
|
const state_1 = require("../../state/state");
|
|
6
|
-
const
|
|
6
|
+
const jest_setup_1 = require("../../tests/jest.setup");
|
|
7
|
+
const test_utils_1 = require("../../common/test-utils");
|
|
7
8
|
const types_1 = require("../../types");
|
|
8
9
|
const loading_1 = require("../../types/loading");
|
|
9
10
|
const worker_adapter_1 = require("./worker-adapter");
|
|
@@ -40,7 +41,9 @@ describe(worker_adapter_1.WorkerAdapter.name, () => {
|
|
|
40
41
|
// Reset all mocks
|
|
41
42
|
jest.clearAllMocks();
|
|
42
43
|
// Create mock objects
|
|
43
|
-
mockEvent = (0,
|
|
44
|
+
mockEvent = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
|
|
45
|
+
payload: { event_type: types_1.EventType.StartExtractingData },
|
|
46
|
+
});
|
|
44
47
|
const initialState = {
|
|
45
48
|
attachments: { completed: false },
|
|
46
49
|
lastSyncStarted: '',
|
|
@@ -385,8 +388,7 @@ describe(worker_adapter_1.WorkerAdapter.name, () => {
|
|
|
385
388
|
// Mock the pool to simulate timeout happening during the first artifact
|
|
386
389
|
attachments_streaming_pool_1.AttachmentsStreamingPool.mockImplementationOnce(() => {
|
|
387
390
|
return {
|
|
388
|
-
|
|
389
|
-
streamAll: jest.fn().mockImplementation(async () => {
|
|
391
|
+
streamAll: jest.fn().mockImplementation(() => {
|
|
390
392
|
adapter.isTimeout = true;
|
|
391
393
|
return {};
|
|
392
394
|
}),
|
package/dist/repo/repo.test.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const constants_1 = require("../common/constants");
|
|
4
4
|
const test_helpers_1 = require("../tests/test-helpers");
|
|
5
|
+
const jest_setup_1 = require("../tests/jest.setup");
|
|
6
|
+
const test_utils_1 = require("../common/test-utils");
|
|
5
7
|
const types_1 = require("../types");
|
|
6
8
|
const repo_1 = require("./repo");
|
|
7
9
|
jest.mock('../tests/test-helpers', () => (Object.assign(Object.assign({}, jest.requireActual('../tests/test-helpers')), { normalizeItem: jest.fn() })));
|
|
@@ -11,7 +13,9 @@ describe(repo_1.Repo.name, () => {
|
|
|
11
13
|
beforeEach(() => {
|
|
12
14
|
normalize = jest.fn();
|
|
13
15
|
repo = new repo_1.Repo({
|
|
14
|
-
event: (0,
|
|
16
|
+
event: (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
|
|
17
|
+
payload: { event_type: types_1.EventType.ExtractionDataStart },
|
|
18
|
+
}),
|
|
15
19
|
itemType: 'test_item_type',
|
|
16
20
|
normalize,
|
|
17
21
|
onUpload: jest.fn(),
|
|
@@ -29,7 +33,9 @@ describe(repo_1.Repo.name, () => {
|
|
|
29
33
|
});
|
|
30
34
|
it('should not normalize items when normalize function is not provided', async () => {
|
|
31
35
|
repo = new repo_1.Repo({
|
|
32
|
-
event: (0,
|
|
36
|
+
event: (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
|
|
37
|
+
payload: { event_type: types_1.EventType.ExtractionDataStart },
|
|
38
|
+
}),
|
|
33
39
|
itemType: 'test_item_type',
|
|
34
40
|
onUpload: jest.fn(),
|
|
35
41
|
options: {},
|
|
@@ -44,7 +50,9 @@ describe(repo_1.Repo.name, () => {
|
|
|
44
50
|
});
|
|
45
51
|
it('should not normalize items when item type is external_domain_metadata', async () => {
|
|
46
52
|
repo = new repo_1.Repo({
|
|
47
|
-
event: (0,
|
|
53
|
+
event: (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
|
|
54
|
+
payload: { event_type: types_1.EventType.ExtractionDataStart },
|
|
55
|
+
}),
|
|
48
56
|
itemType: constants_1.AirSyncDefaultItemTypes.EXTERNAL_DOMAIN_METADATA,
|
|
49
57
|
normalize,
|
|
50
58
|
onUpload: jest.fn(),
|
|
@@ -56,7 +64,9 @@ describe(repo_1.Repo.name, () => {
|
|
|
56
64
|
});
|
|
57
65
|
it('should not normalize items when item type is ssor_attachment', async () => {
|
|
58
66
|
repo = new repo_1.Repo({
|
|
59
|
-
event: (0,
|
|
67
|
+
event: (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
|
|
68
|
+
payload: { event_type: types_1.EventType.ExtractionDataStart },
|
|
69
|
+
}),
|
|
60
70
|
itemType: constants_1.SSOR_ATTACHMENT,
|
|
61
71
|
normalize,
|
|
62
72
|
onUpload: jest.fn(),
|
|
@@ -91,7 +101,9 @@ describe(repo_1.Repo.name, () => {
|
|
|
91
101
|
describe('should take batch size into account', () => {
|
|
92
102
|
beforeEach(() => {
|
|
93
103
|
repo = new repo_1.Repo({
|
|
94
|
-
event: (0,
|
|
104
|
+
event: (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
|
|
105
|
+
payload: { event_type: types_1.EventType.ExtractionDataStart },
|
|
106
|
+
}),
|
|
95
107
|
itemType: 'test_item_type',
|
|
96
108
|
normalize,
|
|
97
109
|
onUpload: jest.fn(),
|