@devrev/ts-adaas 1.19.9-beta.0 → 1.19.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/attachments-streaming/attachments-streaming-pool.d.ts.map +1 -1
  2. package/dist/attachments-streaming/attachments-streaming-pool.js +6 -4
  3. package/dist/attachments-streaming/attachments-streaming-pool.test.js +65 -0
  4. package/dist/common/control-protocol.d.ts +2 -3
  5. package/dist/common/control-protocol.d.ts.map +1 -1
  6. package/dist/common/control-protocol.js +4 -2
  7. package/dist/http/axios-client-internal.d.ts.map +1 -1
  8. package/dist/http/axios-client-internal.js +1 -19
  9. package/dist/mock-server/mock-server.d.ts +0 -4
  10. package/dist/mock-server/mock-server.d.ts.map +1 -1
  11. package/dist/mock-server/mock-server.interfaces.d.ts +4 -9
  12. package/dist/mock-server/mock-server.interfaces.d.ts.map +1 -1
  13. package/dist/mock-server/mock-server.js +18 -30
  14. package/dist/multithreading/spawn/spawn.d.ts +1 -1
  15. package/dist/multithreading/spawn/spawn.d.ts.map +1 -1
  16. package/dist/multithreading/spawn/spawn.js +6 -11
  17. package/dist/multithreading/spawn/spawn.test.js +0 -1
  18. package/dist/multithreading/worker-adapter/worker-adapter.artifacts.test.js +1 -1
  19. package/dist/multithreading/worker-adapter/worker-adapter.d.ts +5 -11
  20. package/dist/multithreading/worker-adapter/worker-adapter.d.ts.map +1 -1
  21. package/dist/multithreading/worker-adapter/worker-adapter.emit.test.js +9 -90
  22. package/dist/multithreading/worker-adapter/worker-adapter.extraction.test.js +1 -1
  23. package/dist/multithreading/worker-adapter/worker-adapter.js +64 -93
  24. package/dist/repo/repo.d.ts +2 -11
  25. package/dist/repo/repo.d.ts.map +1 -1
  26. package/dist/repo/repo.interfaces.d.ts +0 -2
  27. package/dist/repo/repo.interfaces.d.ts.map +1 -1
  28. package/dist/repo/repo.js +11 -37
  29. package/dist/repo/repo.test.js +0 -184
  30. package/dist/types/extraction.d.ts +1 -8
  31. package/dist/types/extraction.d.ts.map +1 -1
  32. package/dist/types/workers.d.ts +0 -4
  33. package/dist/types/workers.d.ts.map +1 -1
  34. package/dist/uploader/uploader.d.ts.map +1 -1
  35. package/dist/uploader/uploader.helpers.d.ts +1 -6
  36. package/dist/uploader/uploader.helpers.d.ts.map +1 -1
  37. package/dist/uploader/uploader.helpers.js +0 -65
  38. package/dist/uploader/uploader.helpers.test.js +7 -148
  39. package/dist/uploader/uploader.interfaces.d.ts +0 -11
  40. package/dist/uploader/uploader.interfaces.d.ts.map +1 -1
  41. package/dist/uploader/uploader.interfaces.js +0 -11
  42. package/dist/uploader/uploader.js +5 -2
  43. package/dist/uploader/uploader.test.js +3 -54
  44. package/package.json +2 -2
  45. package/dist/common/control-protocol.test.d.ts +0 -2
  46. package/dist/common/control-protocol.test.d.ts.map +0 -1
  47. package/dist/common/control-protocol.test.js +0 -126
  48. package/dist/multithreading/worker-adapter/worker-adapter.upload-failure.test.d.ts +0 -2
  49. package/dist/multithreading/worker-adapter/worker-adapter.upload-failure.test.d.ts.map +0 -1
  50. package/dist/multithreading/worker-adapter/worker-adapter.upload-failure.test.js +0 -135
@@ -1,135 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const state_1 = require("../../state/state");
4
- const jest_setup_1 = require("../../tests/jest.setup");
5
- const test_helpers_1 = require("../../tests/test-helpers");
6
- const test_utils_1 = require("../../common/test-utils");
7
- const types_1 = require("../../types");
8
- const worker_adapter_1 = require("./worker-adapter");
9
- /* eslint-disable @typescript-eslint/no-require-imports */
10
- jest.mock('../../common/control-protocol', () => ({
11
- emit: jest.fn().mockResolvedValue({}),
12
- }));
13
- jest.mock('../../mappers/mappers');
14
- jest.mock('node:worker_threads', () => ({
15
- parentPort: { postMessage: jest.fn() },
16
- }));
17
- jest.mock('../../attachments-streaming/attachments-streaming-pool', () => ({
18
- AttachmentsStreamingPool: jest.fn().mockImplementation(() => ({
19
- streamAll: jest.fn().mockResolvedValue(undefined),
20
- })),
21
- }));
22
- const UPLOAD_URL_PATH = '/internal/airdrop.artifacts.upload-url';
23
- function makeAdapter() {
24
- const event = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
25
- payload: { event_type: types_1.EventType.StartExtractingData },
26
- });
27
- const initialState = {
28
- attachments: { completed: false },
29
- lastSyncStarted: '',
30
- lastSuccessfulSyncStarted: '',
31
- snapInVersionId: '',
32
- toDevRev: {
33
- attachmentsMetadata: {
34
- artifactIds: [],
35
- lastProcessed: 0,
36
- lastProcessedAttachmentsIdsList: [],
37
- },
38
- },
39
- };
40
- const adapterState = new state_1.State({ event, initialState });
41
- const adapter = new worker_adapter_1.WorkerAdapter({ event, adapterState });
42
- const workerThreads = require('node:worker_threads');
43
- const mockPostMessage = jest.fn();
44
- if (workerThreads.parentPort) {
45
- jest
46
- .spyOn(workerThreads.parentPort, 'postMessage')
47
- .mockImplementation(mockPostMessage);
48
- }
49
- else {
50
- workerThreads.parentPort = { postMessage: mockPostMessage };
51
- }
52
- return { adapter, mockPostMessage };
53
- }
54
- describe(`${worker_adapter_1.WorkerAdapter.name} upload failure (near-integration)`, () => {
55
- let adapter;
56
- let mockPostMessage;
57
- beforeEach(() => {
58
- jest.clearAllMocks();
59
- jest_setup_1.mockServer.resetRoutes();
60
- ({ adapter, mockPostMessage } = makeAdapter());
61
- adapter['adapterState'].postState = jest.fn().mockResolvedValue(undefined);
62
- });
63
- afterEach(() => {
64
- jest.restoreAllMocks();
65
- });
66
- it('should throw from repo.push when upload-url returns 400 during batch upload', async () => {
67
- var _a, _b;
68
- jest_setup_1.mockServer.setRoute({
69
- path: UPLOAD_URL_PATH,
70
- method: 'GET',
71
- status: 400,
72
- });
73
- adapter.initializeRepos([
74
- {
75
- itemType: 'tasks',
76
- overridenOptions: { batchSize: 10 },
77
- },
78
- ]);
79
- await expect((_a = adapter.getRepo('tasks')) === null || _a === void 0 ? void 0 : _a.push((0, test_helpers_1.createItems)(20))).rejects.toThrow('artifact upload URL');
80
- expect((_b = adapter.getRepo('tasks')) === null || _b === void 0 ? void 0 : _b.getItems().length).toBe(20);
81
- });
82
- it('should emit DataExtractionError via emitToPlatform when uploadAllRepos fails', async () => {
83
- var _a;
84
- const { emit: mockEmit } = require('../../common/control-protocol');
85
- jest_setup_1.mockServer.setRoute({
86
- path: UPLOAD_URL_PATH,
87
- method: 'GET',
88
- status: 400,
89
- });
90
- adapter.initializeRepos([{ itemType: 'tasks' }]);
91
- await ((_a = adapter.getRepo('tasks')) === null || _a === void 0 ? void 0 : _a.push((0, test_helpers_1.createItems)(5)));
92
- await adapter.emit(types_1.ExtractorEventType.DataExtractionDone);
93
- expect(mockEmit).toHaveBeenCalledWith(expect.objectContaining({
94
- eventType: types_1.ExtractorEventType.DataExtractionError,
95
- data: expect.objectContaining({
96
- error: expect.objectContaining({
97
- message: expect.stringContaining('artifact upload URL'),
98
- }),
99
- }),
100
- }));
101
- expect(mockPostMessage).toHaveBeenCalledWith(expect.objectContaining({
102
- subject: 'emit',
103
- payload: { eventType: types_1.ExtractorEventType.DataExtractionError },
104
- }));
105
- });
106
- it('should include partial artifacts when push batch succeeded before uploadAllRepos fails', async () => {
107
- var _a;
108
- const { emit: mockEmit } = require('../../common/control-protocol');
109
- jest_setup_1.mockServer.setRoute({
110
- path: UPLOAD_URL_PATH,
111
- method: 'GET',
112
- status: 200,
113
- succeedThenFail: {
114
- successCount: 1,
115
- errorStatus: 400,
116
- },
117
- });
118
- adapter.initializeRepos([
119
- {
120
- itemType: 'tasks',
121
- overridenOptions: { batchSize: 10 },
122
- },
123
- ]);
124
- await ((_a = adapter.getRepo('tasks')) === null || _a === void 0 ? void 0 : _a.push((0, test_helpers_1.createItems)(15)));
125
- await adapter.emit(types_1.ExtractorEventType.DataExtractionDone);
126
- expect(mockEmit).toHaveBeenCalledWith(expect.objectContaining({
127
- eventType: types_1.ExtractorEventType.DataExtractionError,
128
- data: expect.objectContaining({
129
- artifacts: expect.arrayContaining([
130
- expect.objectContaining({ item_count: 10, item_type: 'tasks' }),
131
- ]),
132
- }),
133
- }));
134
- });
135
- });