@powerhousedao/reactor 5.0.0-staging.12 → 5.0.0-staging.14
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/src/client/reactor-client.d.ts +103 -0
- package/dist/src/client/reactor-client.d.ts.map +1 -0
- package/dist/src/client/reactor-client.js +182 -0
- package/dist/src/client/reactor-client.js.map +1 -0
- package/dist/src/client/types.d.ts +213 -0
- package/dist/src/client/types.d.ts.map +1 -0
- package/dist/src/client/types.js +14 -0
- package/dist/src/client/types.js.map +1 -0
- package/dist/src/core/builder.d.ts +20 -0
- package/dist/src/core/builder.d.ts.map +1 -0
- package/dist/src/core/builder.js +47 -0
- package/dist/src/core/builder.js.map +1 -0
- package/dist/src/{reactor.d.ts → core/reactor.d.ts} +4 -5
- package/dist/src/core/reactor.d.ts.map +1 -0
- package/dist/src/{reactor.js → core/reactor.js} +37 -6
- package/dist/src/core/reactor.js.map +1 -0
- package/dist/src/{interfaces/reactor.d.ts → core/types.d.ts} +3 -3
- package/dist/src/core/types.d.ts.map +1 -0
- package/dist/src/core/types.js +2 -0
- package/dist/src/core/types.js.map +1 -0
- package/dist/src/{utils.d.ts → core/utils.d.ts} +1 -1
- package/dist/src/core/utils.d.ts.map +1 -0
- package/dist/src/core/utils.js.map +1 -0
- package/dist/src/index.d.ts +9 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/queue/queue.d.ts.map +1 -1
- package/dist/src/queue/queue.js +43 -28
- package/dist/src/queue/queue.js.map +1 -1
- package/dist/src/shared/awaiter.d.ts +32 -0
- package/dist/src/shared/awaiter.d.ts.map +1 -0
- package/dist/src/shared/awaiter.js +132 -0
- package/dist/src/shared/awaiter.js.map +1 -0
- package/dist/src/shared/types.d.ts +3 -0
- package/dist/src/shared/types.d.ts.map +1 -1
- package/dist/src/shared/types.js.map +1 -1
- package/dist/src/signer/passthrough-signer.d.ts +6 -0
- package/dist/src/signer/passthrough-signer.d.ts.map +1 -0
- package/dist/src/signer/passthrough-signer.js +6 -0
- package/dist/src/signer/passthrough-signer.js.map +1 -0
- package/dist/src/signer/types.d.ts +15 -0
- package/dist/src/signer/types.d.ts.map +1 -0
- package/dist/src/signer/types.js +2 -0
- package/dist/src/signer/types.js.map +1 -0
- package/dist/src/subs/default-error-handler.d.ts +13 -0
- package/dist/src/subs/default-error-handler.d.ts.map +1 -0
- package/dist/src/subs/default-error-handler.js +27 -0
- package/dist/src/subs/default-error-handler.js.map +1 -0
- package/dist/src/subs/react-subscription-manager.d.ts +45 -0
- package/dist/src/subs/react-subscription-manager.d.ts.map +1 -0
- package/dist/src/subs/react-subscription-manager.js +185 -0
- package/dist/src/subs/react-subscription-manager.js.map +1 -0
- package/dist/src/subs/types.d.ts +64 -0
- package/dist/src/subs/types.d.ts.map +1 -0
- package/dist/src/subs/types.js +2 -0
- package/dist/src/subs/types.js.map +1 -0
- package/package.json +6 -6
- package/dist/bench/event-bus.bench.d.ts +0 -2
- package/dist/bench/event-bus.bench.d.ts.map +0 -1
- package/dist/bench/event-bus.bench.js +0 -228
- package/dist/bench/event-bus.bench.js.map +0 -1
- package/dist/bench/queue-only.bench.d.ts +0 -2
- package/dist/bench/queue-only.bench.d.ts.map +0 -1
- package/dist/bench/queue-only.bench.js +0 -46
- package/dist/bench/queue-only.bench.js.map +0 -1
- package/dist/bench/reactor-throughput.bench.d.ts +0 -2
- package/dist/bench/reactor-throughput.bench.d.ts.map +0 -1
- package/dist/bench/reactor-throughput.bench.js +0 -144
- package/dist/bench/reactor-throughput.bench.js.map +0 -1
- package/dist/src/interfaces/reactor.d.ts.map +0 -1
- package/dist/src/interfaces/reactor.js +0 -2
- package/dist/src/interfaces/reactor.js.map +0 -1
- package/dist/src/reactor.d.ts.map +0 -1
- package/dist/src/reactor.js.map +0 -1
- package/dist/src/utils.d.ts.map +0 -1
- package/dist/src/utils.js.map +0 -1
- package/dist/test/event-bus.test.d.ts +0 -2
- package/dist/test/event-bus.test.d.ts.map +0 -1
- package/dist/test/event-bus.test.js +0 -541
- package/dist/test/event-bus.test.js.map +0 -1
- package/dist/test/executor/executor-integration.test.d.ts +0 -2
- package/dist/test/executor/executor-integration.test.d.ts.map +0 -1
- package/dist/test/executor/executor-integration.test.js +0 -287
- package/dist/test/executor/executor-integration.test.js.map +0 -1
- package/dist/test/executor/job-execution-handle.test.d.ts +0 -2
- package/dist/test/executor/job-execution-handle.test.d.ts.map +0 -1
- package/dist/test/executor/job-execution-handle.test.js +0 -272
- package/dist/test/executor/job-execution-handle.test.js.map +0 -1
- package/dist/test/executor/simple-job-executor-manager.test.d.ts +0 -2
- package/dist/test/executor/simple-job-executor-manager.test.d.ts.map +0 -1
- package/dist/test/executor/simple-job-executor-manager.test.js +0 -132
- package/dist/test/executor/simple-job-executor-manager.test.js.map +0 -1
- package/dist/test/executor/simple-job-executor.test.d.ts +0 -2
- package/dist/test/executor/simple-job-executor.test.d.ts.map +0 -1
- package/dist/test/executor/simple-job-executor.test.js +0 -139
- package/dist/test/executor/simple-job-executor.test.js.map +0 -1
- package/dist/test/factories.d.ts +0 -123
- package/dist/test/factories.d.ts.map +0 -1
- package/dist/test/factories.js +0 -319
- package/dist/test/factories.js.map +0 -1
- package/dist/test/integration/document-drive-integration.test.d.ts +0 -2
- package/dist/test/integration/document-drive-integration.test.d.ts.map +0 -1
- package/dist/test/integration/document-drive-integration.test.js +0 -1102
- package/dist/test/integration/document-drive-integration.test.js.map +0 -1
- package/dist/test/integration/reactor-read.test.d.ts +0 -2
- package/dist/test/integration/reactor-read.test.d.ts.map +0 -1
- package/dist/test/integration/reactor-read.test.js +0 -291
- package/dist/test/integration/reactor-read.test.js.map +0 -1
- package/dist/test/queue/queue-integration.test.d.ts +0 -2
- package/dist/test/queue/queue-integration.test.d.ts.map +0 -1
- package/dist/test/queue/queue-integration.test.js +0 -322
- package/dist/test/queue/queue-integration.test.js.map +0 -1
- package/dist/test/queue/queue.test.d.ts +0 -2
- package/dist/test/queue/queue.test.d.ts.map +0 -1
- package/dist/test/queue/queue.test.js +0 -770
- package/dist/test/queue/queue.test.js.map +0 -1
- package/dist/test/registry/registry.test.d.ts +0 -2
- package/dist/test/registry/registry.test.d.ts.map +0 -1
- package/dist/test/registry/registry.test.js +0 -182
- package/dist/test/registry/registry.test.js.map +0 -1
- package/dist/test/utils.test.d.ts +0 -2
- package/dist/test/utils.test.d.ts.map +0 -1
- package/dist/test/utils.test.js +0 -66
- package/dist/test/utils.test.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/vitest.config.d.ts +0 -3
- package/dist/vitest.config.d.ts.map +0 -1
- package/dist/vitest.config.js +0 -11
- package/dist/vitest.config.js.map +0 -1
- /package/dist/src/{utils.js → core/utils.js} +0 -0
|
@@ -1,287 +0,0 @@
|
|
|
1
|
-
import { MemoryStorage, driveDocumentModelModule } from "document-drive";
|
|
2
|
-
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
3
|
-
import { SimpleJobExecutor } from "../../src/executor/simple-job-executor.js";
|
|
4
|
-
import { DocumentModelRegistry } from "../../src/registry/implementation.js";
|
|
5
|
-
describe("SimpleJobExecutor Integration", () => {
|
|
6
|
-
let executor;
|
|
7
|
-
let registry;
|
|
8
|
-
let storage;
|
|
9
|
-
beforeEach(() => {
|
|
10
|
-
// Use real storage that implements both IDocumentStorage and IDocumentOperationStorage
|
|
11
|
-
storage = new MemoryStorage();
|
|
12
|
-
// Setup registry with real document-drive model
|
|
13
|
-
registry = new DocumentModelRegistry();
|
|
14
|
-
registry.registerModules(driveDocumentModelModule);
|
|
15
|
-
// Create executor with real storage
|
|
16
|
-
executor = new SimpleJobExecutor(registry, storage, storage);
|
|
17
|
-
});
|
|
18
|
-
describe("Document Drive Operations", () => {
|
|
19
|
-
it("should execute a job and persist the operation to storage", async () => {
|
|
20
|
-
// Create a document-drive document
|
|
21
|
-
const document = driveDocumentModelModule.utils.createDocument();
|
|
22
|
-
await storage.create(document);
|
|
23
|
-
// Create a job to add a folder
|
|
24
|
-
const job = {
|
|
25
|
-
id: "job-1",
|
|
26
|
-
documentId: document.header.id,
|
|
27
|
-
scope: "global",
|
|
28
|
-
branch: "main",
|
|
29
|
-
operation: {
|
|
30
|
-
action: {
|
|
31
|
-
id: "action-1",
|
|
32
|
-
type: "ADD_FOLDER",
|
|
33
|
-
scope: "global",
|
|
34
|
-
timestampUtcMs: Date.now().toString(),
|
|
35
|
-
input: {
|
|
36
|
-
id: "folder-1",
|
|
37
|
-
name: "Test Folder",
|
|
38
|
-
parentFolder: null,
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
index: 0,
|
|
42
|
-
timestampUtcMs: Date.now().toString(),
|
|
43
|
-
hash: "test-hash",
|
|
44
|
-
skip: 0,
|
|
45
|
-
},
|
|
46
|
-
createdAt: Date.now().toString(),
|
|
47
|
-
queueHint: [],
|
|
48
|
-
};
|
|
49
|
-
// Execute the job
|
|
50
|
-
const result = await executor.executeJob(job);
|
|
51
|
-
// Verify job executed successfully
|
|
52
|
-
expect(result.success).toBe(true);
|
|
53
|
-
expect(result.operation).toBeDefined();
|
|
54
|
-
expect(result.error).toBeUndefined();
|
|
55
|
-
// Verify operation was persisted to storage
|
|
56
|
-
const updatedDocument = await storage.get(document.header.id);
|
|
57
|
-
expect(updatedDocument.operations.global).toHaveLength(1);
|
|
58
|
-
const persistedOperation = updatedDocument.operations.global[0];
|
|
59
|
-
expect(persistedOperation.action.type).toBe("ADD_FOLDER");
|
|
60
|
-
expect(persistedOperation.action.input).toMatchObject({
|
|
61
|
-
id: "folder-1",
|
|
62
|
-
name: "Test Folder",
|
|
63
|
-
parentFolder: null,
|
|
64
|
-
});
|
|
65
|
-
// Verify document state reflects the change
|
|
66
|
-
// The state structure uses 'nodes' array for both files and folders
|
|
67
|
-
const globalState = updatedDocument.state.global;
|
|
68
|
-
expect(globalState).toBeDefined();
|
|
69
|
-
expect(globalState.nodes).toBeDefined();
|
|
70
|
-
expect(globalState.nodes).toHaveLength(1);
|
|
71
|
-
expect(globalState.nodes[0]).toMatchObject({
|
|
72
|
-
id: "folder-1",
|
|
73
|
-
name: "Test Folder",
|
|
74
|
-
parentFolder: null,
|
|
75
|
-
kind: "folder",
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
it("should handle multiple sequential operations", async () => {
|
|
79
|
-
// Create a document
|
|
80
|
-
const document = driveDocumentModelModule.utils.createDocument();
|
|
81
|
-
await storage.create(document);
|
|
82
|
-
// Execute first job - add folder
|
|
83
|
-
const job1 = {
|
|
84
|
-
id: "job-1",
|
|
85
|
-
documentId: document.header.id,
|
|
86
|
-
scope: "global",
|
|
87
|
-
branch: "main",
|
|
88
|
-
operation: {
|
|
89
|
-
action: {
|
|
90
|
-
id: "action-1",
|
|
91
|
-
type: "ADD_FOLDER",
|
|
92
|
-
scope: "global",
|
|
93
|
-
timestampUtcMs: Date.now().toString(),
|
|
94
|
-
input: {
|
|
95
|
-
id: "folder-1",
|
|
96
|
-
name: "Parent Folder",
|
|
97
|
-
parentFolder: null,
|
|
98
|
-
},
|
|
99
|
-
},
|
|
100
|
-
index: 0,
|
|
101
|
-
timestampUtcMs: Date.now().toString(),
|
|
102
|
-
hash: "hash-1",
|
|
103
|
-
skip: 0,
|
|
104
|
-
},
|
|
105
|
-
createdAt: Date.now().toString(),
|
|
106
|
-
queueHint: [],
|
|
107
|
-
};
|
|
108
|
-
const result1 = await executor.executeJob(job1);
|
|
109
|
-
expect(result1.success).toBe(true);
|
|
110
|
-
// Execute second job - add child folder
|
|
111
|
-
const job2 = {
|
|
112
|
-
id: "job-2",
|
|
113
|
-
documentId: document.header.id,
|
|
114
|
-
scope: "global",
|
|
115
|
-
branch: "main",
|
|
116
|
-
operation: {
|
|
117
|
-
action: {
|
|
118
|
-
id: "action-2",
|
|
119
|
-
type: "ADD_FOLDER",
|
|
120
|
-
scope: "global",
|
|
121
|
-
timestampUtcMs: (Date.now() + 1).toString(),
|
|
122
|
-
input: {
|
|
123
|
-
id: "folder-2",
|
|
124
|
-
name: "Child Folder",
|
|
125
|
-
parentFolder: "folder-1",
|
|
126
|
-
},
|
|
127
|
-
},
|
|
128
|
-
index: 1,
|
|
129
|
-
timestampUtcMs: (Date.now() + 1).toString(),
|
|
130
|
-
hash: "hash-2",
|
|
131
|
-
skip: 0,
|
|
132
|
-
},
|
|
133
|
-
createdAt: (Date.now() + 1).toString(),
|
|
134
|
-
queueHint: [],
|
|
135
|
-
};
|
|
136
|
-
const result2 = await executor.executeJob(job2);
|
|
137
|
-
expect(result2.success).toBe(true);
|
|
138
|
-
// Verify both operations were persisted
|
|
139
|
-
const updatedDocument = await storage.get(document.header.id);
|
|
140
|
-
expect(updatedDocument.operations.global).toHaveLength(2);
|
|
141
|
-
// Verify state reflects both changes
|
|
142
|
-
const globalState = updatedDocument.state.global;
|
|
143
|
-
expect(globalState).toBeDefined();
|
|
144
|
-
expect(globalState.nodes).toBeDefined();
|
|
145
|
-
expect(globalState.nodes).toHaveLength(2);
|
|
146
|
-
const parentFolder = globalState.nodes.find((n) => n.id === "folder-1");
|
|
147
|
-
const childFolder = globalState.nodes.find((n) => n.id === "folder-2");
|
|
148
|
-
expect(parentFolder).toBeDefined();
|
|
149
|
-
expect(parentFolder?.name).toBe("Parent Folder");
|
|
150
|
-
expect(parentFolder?.kind).toBe("folder");
|
|
151
|
-
expect(childFolder).toBeDefined();
|
|
152
|
-
expect(childFolder?.name).toBe("Child Folder");
|
|
153
|
-
expect(childFolder?.parentFolder).toBe("folder-1");
|
|
154
|
-
expect(childFolder?.kind).toBe("folder");
|
|
155
|
-
});
|
|
156
|
-
it("should handle file operations", async () => {
|
|
157
|
-
// Create a document with a folder
|
|
158
|
-
const document = driveDocumentModelModule.utils.createDocument();
|
|
159
|
-
await storage.create(document);
|
|
160
|
-
// First add a folder
|
|
161
|
-
const folderJob = {
|
|
162
|
-
id: "job-folder",
|
|
163
|
-
documentId: document.header.id,
|
|
164
|
-
scope: "global",
|
|
165
|
-
branch: "main",
|
|
166
|
-
operation: {
|
|
167
|
-
action: {
|
|
168
|
-
id: "action-folder",
|
|
169
|
-
type: "ADD_FOLDER",
|
|
170
|
-
scope: "global",
|
|
171
|
-
timestampUtcMs: Date.now().toString(),
|
|
172
|
-
input: {
|
|
173
|
-
id: "folder-1",
|
|
174
|
-
name: "Documents",
|
|
175
|
-
parentFolder: null,
|
|
176
|
-
},
|
|
177
|
-
},
|
|
178
|
-
index: 0,
|
|
179
|
-
timestampUtcMs: Date.now().toString(),
|
|
180
|
-
hash: "hash-folder",
|
|
181
|
-
skip: 0,
|
|
182
|
-
},
|
|
183
|
-
createdAt: Date.now().toString(),
|
|
184
|
-
queueHint: [],
|
|
185
|
-
};
|
|
186
|
-
await executor.executeJob(folderJob);
|
|
187
|
-
// Then add a file to the folder
|
|
188
|
-
const fileJob = {
|
|
189
|
-
id: "job-file",
|
|
190
|
-
documentId: document.header.id,
|
|
191
|
-
scope: "global",
|
|
192
|
-
branch: "main",
|
|
193
|
-
operation: {
|
|
194
|
-
action: {
|
|
195
|
-
id: "action-file",
|
|
196
|
-
type: "ADD_FILE",
|
|
197
|
-
scope: "global",
|
|
198
|
-
timestampUtcMs: (Date.now() + 1).toString(),
|
|
199
|
-
input: {
|
|
200
|
-
id: "file-1",
|
|
201
|
-
name: "test.txt",
|
|
202
|
-
documentType: "text/plain",
|
|
203
|
-
parentFolder: "folder-1",
|
|
204
|
-
},
|
|
205
|
-
},
|
|
206
|
-
index: 1,
|
|
207
|
-
timestampUtcMs: (Date.now() + 1).toString(),
|
|
208
|
-
hash: "hash-file",
|
|
209
|
-
skip: 0,
|
|
210
|
-
},
|
|
211
|
-
createdAt: (Date.now() + 1).toString(),
|
|
212
|
-
queueHint: [],
|
|
213
|
-
};
|
|
214
|
-
const result = await executor.executeJob(fileJob);
|
|
215
|
-
expect(result.success).toBe(true);
|
|
216
|
-
// Verify operations were persisted
|
|
217
|
-
const updatedDocument = await storage.get(document.header.id);
|
|
218
|
-
expect(updatedDocument.operations.global).toHaveLength(2);
|
|
219
|
-
// Verify state reflects the changes
|
|
220
|
-
const globalState = updatedDocument.state.global;
|
|
221
|
-
expect(globalState).toBeDefined();
|
|
222
|
-
expect(globalState.nodes).toBeDefined();
|
|
223
|
-
expect(globalState.nodes).toHaveLength(2); // 1 folder + 1 file
|
|
224
|
-
const folder = globalState.nodes.find((n) => n.kind === "folder");
|
|
225
|
-
const file = globalState.nodes.find((n) => n.kind === "file");
|
|
226
|
-
expect(folder).toBeDefined();
|
|
227
|
-
expect(folder?.id).toBe("folder-1");
|
|
228
|
-
expect(file).toBeDefined();
|
|
229
|
-
expect(file).toMatchObject({
|
|
230
|
-
id: "file-1",
|
|
231
|
-
name: "test.txt",
|
|
232
|
-
documentType: "text/plain",
|
|
233
|
-
parentFolder: "folder-1",
|
|
234
|
-
kind: "file",
|
|
235
|
-
});
|
|
236
|
-
});
|
|
237
|
-
it("should properly handle errors when operation storage fails", async () => {
|
|
238
|
-
// Create a document
|
|
239
|
-
const document = driveDocumentModelModule.utils.createDocument();
|
|
240
|
-
await storage.create(document);
|
|
241
|
-
// Create a mock storage that fails on addDocumentOperations
|
|
242
|
-
const fn = vi.fn().mockRejectedValue(new Error("Storage write failed"));
|
|
243
|
-
storage.addDocumentOperations = fn;
|
|
244
|
-
const executorWithFailingStorage = new SimpleJobExecutor(registry, storage, storage);
|
|
245
|
-
// Create a valid job
|
|
246
|
-
const job = {
|
|
247
|
-
id: "job-1",
|
|
248
|
-
documentId: document.header.id,
|
|
249
|
-
scope: "global",
|
|
250
|
-
branch: "main",
|
|
251
|
-
operation: {
|
|
252
|
-
action: {
|
|
253
|
-
id: "action-1",
|
|
254
|
-
type: "ADD_FOLDER",
|
|
255
|
-
scope: "global",
|
|
256
|
-
timestampUtcMs: Date.now().toString(),
|
|
257
|
-
input: {
|
|
258
|
-
id: "folder-1",
|
|
259
|
-
name: "Test Folder",
|
|
260
|
-
parentFolder: null,
|
|
261
|
-
},
|
|
262
|
-
},
|
|
263
|
-
index: 0,
|
|
264
|
-
timestampUtcMs: Date.now().toString(),
|
|
265
|
-
hash: "test-hash",
|
|
266
|
-
skip: 0,
|
|
267
|
-
},
|
|
268
|
-
createdAt: Date.now().toString(),
|
|
269
|
-
queueHint: [],
|
|
270
|
-
};
|
|
271
|
-
// Execute the job
|
|
272
|
-
const result = await executorWithFailingStorage.executeJob(job);
|
|
273
|
-
// Verify job failed with appropriate error
|
|
274
|
-
expect(result.success).toBe(false);
|
|
275
|
-
expect(result.error).toBeDefined();
|
|
276
|
-
expect(result.error?.message).toBe("Storage write failed");
|
|
277
|
-
// Verify no operations were persisted
|
|
278
|
-
const unchangedDocument = await storage.get(document.header.id);
|
|
279
|
-
expect(unchangedDocument.operations.global).toHaveLength(0);
|
|
280
|
-
const globalState = unchangedDocument.state.global;
|
|
281
|
-
expect(globalState).toBeDefined();
|
|
282
|
-
expect(globalState.nodes).toBeDefined();
|
|
283
|
-
expect(globalState.nodes).toHaveLength(0);
|
|
284
|
-
});
|
|
285
|
-
});
|
|
286
|
-
});
|
|
287
|
-
//# sourceMappingURL=executor-integration.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"executor-integration.test.js","sourceRoot":"","sources":["../../../test/executor/executor-integration.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAKzE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAE9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAG7E,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,IAAI,QAA2B,CAAC;IAChC,IAAI,QAAgC,CAAC;IACrC,IAAI,OAAsB,CAAC;IAE3B,UAAU,CAAC,GAAG,EAAE;QACd,uFAAuF;QACvF,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;QAE9B,gDAAgD;QAChD,QAAQ,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACvC,QAAQ,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC;QAEnD,oCAAoC;QACpC,QAAQ,GAAG,IAAI,iBAAiB,CAC9B,QAAQ,EACR,OAA2B,EAC3B,OAAoC,CACrC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,mCAAmC;YACnC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YACjE,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAE/B,+BAA+B;YAC/B,MAAM,GAAG,GAAQ;gBACf,EAAE,EAAE,OAAO;gBACX,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAC9B,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE;oBACT,MAAM,EAAE;wBACN,EAAE,EAAE,UAAU;wBACd,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,QAAQ;wBACf,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;wBACrC,KAAK,EAAE;4BACL,EAAE,EAAE,UAAU;4BACd,IAAI,EAAE,aAAa;4BACnB,YAAY,EAAE,IAAI;yBACnB;qBACF;oBACD,KAAK,EAAE,CAAC;oBACR,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;oBACrC,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,CAAC;iBACR;gBACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;gBAChC,SAAS,EAAE,EAAE;aACd,CAAC;YAEF,kBAAkB;YAClB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAE9C,mCAAmC;YACnC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;YAErC,4CAA4C;YAC5C,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,CACnB,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAE1D,MAAM,kBAAkB,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAChE,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1D,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;gBACpD,EAAE,EAAE,UAAU;gBACd,IAAI,EAAE,aAAa;gBACnB,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;YAEH,4CAA4C;YAC5C,oEAAoE;YACpE,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC;YACjD,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YACxC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gBACzC,EAAE,EAAE,UAAU;gBACd,IAAI,EAAE,aAAa;gBACnB,YAAY,EAAE,IAAI;gBAClB,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,oBAAoB;YACpB,MAAM,QAAQ,GAAG,wBAAwB,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YACjE,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAE/B,iCAAiC;YACjC,MAAM,IAAI,GAAQ;gBAChB,EAAE,EAAE,OAAO;gBACX,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAC9B,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE;oBACT,MAAM,EAAE;wBACN,EAAE,EAAE,UAAU;wBACd,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,QAAQ;wBACf,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;wBACrC,KAAK,EAAE;4BACL,EAAE,EAAE,UAAU;4BACd,IAAI,EAAE,eAAe;4BACrB,YAAY,EAAE,IAAI;yBACnB;qBACF;oBACD,KAAK,EAAE,CAAC;oBACR,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;oBACrC,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC;iBACR;gBACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;gBAChC,SAAS,EAAE,EAAE;aACd,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEnC,wCAAwC;YACxC,MAAM,IAAI,GAAQ;gBAChB,EAAE,EAAE,OAAO;gBACX,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAC9B,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE;oBACT,MAAM,EAAE;wBACN,EAAE,EAAE,UAAU;wBACd,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,QAAQ;wBACf,cAAc,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;wBAC3C,KAAK,EAAE;4BACL,EAAE,EAAE,UAAU;4BACd,IAAI,EAAE,cAAc;4BACpB,YAAY,EAAE,UAAU;yBACzB;qBACF;oBACD,KAAK,EAAE,CAAC;oBACR,cAAc,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;oBAC3C,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC;iBACR;gBACD,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;gBACtC,SAAS,EAAE,EAAE;aACd,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEnC,wCAAwC;YACxC,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,CACnB,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAE1D,qCAAqC;YACrC,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC;YACjD,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YACxC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAE1C,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CACzC,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CACvC,CAAC;YACF,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CACxC,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CACvC,CAAC;YAEF,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;YACnC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACjD,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE1C,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC/C,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACnD,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,kCAAkC;YAClC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YACjE,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAE/B,qBAAqB;YACrB,MAAM,SAAS,GAAQ;gBACrB,EAAE,EAAE,YAAY;gBAChB,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAC9B,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE;oBACT,MAAM,EAAE;wBACN,EAAE,EAAE,eAAe;wBACnB,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,QAAQ;wBACf,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;wBACrC,KAAK,EAAE;4BACL,EAAE,EAAE,UAAU;4BACd,IAAI,EAAE,WAAW;4BACjB,YAAY,EAAE,IAAI;yBACnB;qBACF;oBACD,KAAK,EAAE,CAAC;oBACR,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;oBACrC,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,CAAC;iBACR;gBACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;gBAChC,SAAS,EAAE,EAAE;aACd,CAAC;YAEF,MAAM,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAErC,gCAAgC;YAChC,MAAM,OAAO,GAAQ;gBACnB,EAAE,EAAE,UAAU;gBACd,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAC9B,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE;oBACT,MAAM,EAAE;wBACN,EAAE,EAAE,aAAa;wBACjB,IAAI,EAAE,UAAU;wBAChB,KAAK,EAAE,QAAQ;wBACf,cAAc,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;wBAC3C,KAAK,EAAE;4BACL,EAAE,EAAE,QAAQ;4BACZ,IAAI,EAAE,UAAU;4BAChB,YAAY,EAAE,YAAY;4BAC1B,YAAY,EAAE,UAAU;yBACzB;qBACF;oBACD,KAAK,EAAE,CAAC;oBACR,cAAc,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;oBAC3C,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,CAAC;iBACR;gBACD,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;gBACtC,SAAS,EAAE,EAAE;aACd,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAElC,mCAAmC;YACnC,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,CACnB,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAE1D,oCAAoC;YACpC,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC;YACjD,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YACxC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB;YAE/D,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CACnC,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CACvC,CAAC;YACF,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7B,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEpC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;gBACzB,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,UAAU;gBAChB,YAAY,EAAE,YAAY;gBAC1B,YAAY,EAAE,UAAU;gBACxB,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,oBAAoB;YACpB,MAAM,QAAQ,GAAG,wBAAwB,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YACjE,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAE/B,4DAA4D;YAC5D,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;YACxE,OAAO,CAAC,qBAAqB,GAAG,EAAE,CAAC;YAEnC,MAAM,0BAA0B,GAAG,IAAI,iBAAiB,CACtD,QAAQ,EACR,OAA2B,EAC3B,OAAoC,CACrC,CAAC;YAEF,qBAAqB;YACrB,MAAM,GAAG,GAAQ;gBACf,EAAE,EAAE,OAAO;gBACX,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAC9B,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE;oBACT,MAAM,EAAE;wBACN,EAAE,EAAE,UAAU;wBACd,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,QAAQ;wBACf,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;wBACrC,KAAK,EAAE;4BACL,EAAE,EAAE,UAAU;4BACd,IAAI,EAAE,aAAa;4BACnB,YAAY,EAAE,IAAI;yBACnB;qBACF;oBACD,KAAK,EAAE,CAAC;oBACR,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;oBACrC,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,CAAC;iBACR;gBACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;gBAChC,SAAS,EAAE,EAAE;aACd,CAAC;YAEF,kBAAkB;YAClB,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAEhE,2CAA2C;YAC3C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAE3D,sCAAsC;YACtC,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,CACnB,CAAC;YACF,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC;YACnD,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YACxC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"job-execution-handle.test.d.ts","sourceRoot":"","sources":["../../../test/executor/job-execution-handle.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it, vi } from "vitest";
|
|
2
|
-
import { JobExecutionHandle } from "../../src/queue/job-execution-handle.js";
|
|
3
|
-
import { JobQueueState } from "../../src/queue/types.js";
|
|
4
|
-
import { createTestJob } from "../factories.js";
|
|
5
|
-
describe("JobExecutionHandle", () => {
|
|
6
|
-
describe("constructor", () => {
|
|
7
|
-
it("should initialize with provided job and state", () => {
|
|
8
|
-
const job = createTestJob();
|
|
9
|
-
const handle = new JobExecutionHandle(job, JobQueueState.READY);
|
|
10
|
-
expect(handle.job).toEqual(job);
|
|
11
|
-
expect(handle.state).toBe(JobQueueState.READY);
|
|
12
|
-
});
|
|
13
|
-
it("should accept callbacks", () => {
|
|
14
|
-
const job = createTestJob();
|
|
15
|
-
const onStart = vi.fn();
|
|
16
|
-
const onComplete = vi.fn();
|
|
17
|
-
const onFail = vi.fn();
|
|
18
|
-
const handle = new JobExecutionHandle(job, JobQueueState.READY, {
|
|
19
|
-
onStart,
|
|
20
|
-
onComplete,
|
|
21
|
-
onFail,
|
|
22
|
-
});
|
|
23
|
-
expect(handle.job).toEqual(job);
|
|
24
|
-
expect(handle.state).toBe(JobQueueState.READY);
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
describe("start", () => {
|
|
28
|
-
it("should transition from READY to RUNNING", () => {
|
|
29
|
-
const job = createTestJob();
|
|
30
|
-
const handle = new JobExecutionHandle(job, JobQueueState.READY);
|
|
31
|
-
handle.start();
|
|
32
|
-
expect(handle.state).toBe(JobQueueState.RUNNING);
|
|
33
|
-
});
|
|
34
|
-
it("should call onStart callback when starting", () => {
|
|
35
|
-
const job = createTestJob();
|
|
36
|
-
const onStart = vi.fn();
|
|
37
|
-
const handle = new JobExecutionHandle(job, JobQueueState.READY, {
|
|
38
|
-
onStart,
|
|
39
|
-
});
|
|
40
|
-
handle.start();
|
|
41
|
-
expect(onStart).toHaveBeenCalledTimes(1);
|
|
42
|
-
});
|
|
43
|
-
it("should throw error if not in READY state", () => {
|
|
44
|
-
const job = createTestJob();
|
|
45
|
-
const handle = new JobExecutionHandle(job, JobQueueState.RUNNING);
|
|
46
|
-
expect(() => handle.start()).toThrow("Cannot start job in state RUNNING");
|
|
47
|
-
});
|
|
48
|
-
it("should throw error if already RESOLVED", () => {
|
|
49
|
-
const job = createTestJob();
|
|
50
|
-
const handle = new JobExecutionHandle(job, JobQueueState.RESOLVED);
|
|
51
|
-
expect(() => handle.start()).toThrow("Cannot start job in state RESOLVED");
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
describe("complete", () => {
|
|
55
|
-
it("should transition from RUNNING to RESOLVED", () => {
|
|
56
|
-
const job = createTestJob();
|
|
57
|
-
const handle = new JobExecutionHandle(job, JobQueueState.READY);
|
|
58
|
-
handle.start();
|
|
59
|
-
handle.complete();
|
|
60
|
-
expect(handle.state).toBe(JobQueueState.RESOLVED);
|
|
61
|
-
});
|
|
62
|
-
it("should call onComplete callback when completing", () => {
|
|
63
|
-
const job = createTestJob();
|
|
64
|
-
const onComplete = vi.fn();
|
|
65
|
-
const handle = new JobExecutionHandle(job, JobQueueState.READY, {
|
|
66
|
-
onComplete,
|
|
67
|
-
});
|
|
68
|
-
handle.start();
|
|
69
|
-
handle.complete();
|
|
70
|
-
expect(onComplete).toHaveBeenCalledTimes(1);
|
|
71
|
-
});
|
|
72
|
-
it("should throw error if not in RUNNING state", () => {
|
|
73
|
-
const job = createTestJob();
|
|
74
|
-
const handle = new JobExecutionHandle(job, JobQueueState.READY);
|
|
75
|
-
expect(() => handle.complete()).toThrow("Cannot complete job in state READY");
|
|
76
|
-
});
|
|
77
|
-
it("should throw error if already RESOLVED", () => {
|
|
78
|
-
const job = createTestJob();
|
|
79
|
-
const handle = new JobExecutionHandle(job, JobQueueState.RESOLVED);
|
|
80
|
-
expect(() => handle.complete()).toThrow("Cannot complete job in state RESOLVED");
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
describe("fail", () => {
|
|
84
|
-
it("should transition from RUNNING to RESOLVED", () => {
|
|
85
|
-
const job = createTestJob();
|
|
86
|
-
const handle = new JobExecutionHandle(job, JobQueueState.READY);
|
|
87
|
-
handle.start();
|
|
88
|
-
handle.fail("Test error");
|
|
89
|
-
expect(handle.state).toBe(JobQueueState.RESOLVED);
|
|
90
|
-
});
|
|
91
|
-
it("should call onFail callback with reason when failing", () => {
|
|
92
|
-
const job = createTestJob();
|
|
93
|
-
const onFail = vi.fn();
|
|
94
|
-
const handle = new JobExecutionHandle(job, JobQueueState.READY, {
|
|
95
|
-
onFail,
|
|
96
|
-
});
|
|
97
|
-
handle.start();
|
|
98
|
-
handle.fail("Test error");
|
|
99
|
-
expect(onFail).toHaveBeenCalledTimes(1);
|
|
100
|
-
expect(onFail).toHaveBeenCalledWith("Test error");
|
|
101
|
-
});
|
|
102
|
-
it("should throw error if not in RUNNING state", () => {
|
|
103
|
-
const job = createTestJob();
|
|
104
|
-
const handle = new JobExecutionHandle(job, JobQueueState.READY);
|
|
105
|
-
expect(() => handle.fail("Test error")).toThrow("Cannot fail job in state READY");
|
|
106
|
-
});
|
|
107
|
-
it("should throw error if already RESOLVED", () => {
|
|
108
|
-
const job = createTestJob();
|
|
109
|
-
const handle = new JobExecutionHandle(job, JobQueueState.RESOLVED);
|
|
110
|
-
expect(() => handle.fail("Test error")).toThrow("Cannot fail job in state RESOLVED");
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
describe("state transitions", () => {
|
|
114
|
-
it("should follow complete lifecycle: READY -> RUNNING -> RESOLVED (complete)", () => {
|
|
115
|
-
const job = createTestJob();
|
|
116
|
-
const handle = new JobExecutionHandle(job, JobQueueState.READY);
|
|
117
|
-
expect(handle.state).toBe(JobQueueState.READY);
|
|
118
|
-
handle.start();
|
|
119
|
-
expect(handle.state).toBe(JobQueueState.RUNNING);
|
|
120
|
-
handle.complete();
|
|
121
|
-
expect(handle.state).toBe(JobQueueState.RESOLVED);
|
|
122
|
-
});
|
|
123
|
-
it("should follow failure lifecycle: READY -> RUNNING -> RESOLVED (fail)", () => {
|
|
124
|
-
const job = createTestJob();
|
|
125
|
-
const handle = new JobExecutionHandle(job, JobQueueState.READY);
|
|
126
|
-
expect(handle.state).toBe(JobQueueState.READY);
|
|
127
|
-
handle.start();
|
|
128
|
-
expect(handle.state).toBe(JobQueueState.RUNNING);
|
|
129
|
-
handle.fail("Test error");
|
|
130
|
-
expect(handle.state).toBe(JobQueueState.RESOLVED);
|
|
131
|
-
});
|
|
132
|
-
it("should not allow transitions after RESOLVED", () => {
|
|
133
|
-
const job = createTestJob();
|
|
134
|
-
const handle = new JobExecutionHandle(job, JobQueueState.READY);
|
|
135
|
-
handle.start();
|
|
136
|
-
handle.complete();
|
|
137
|
-
expect(() => handle.start()).toThrow();
|
|
138
|
-
expect(() => handle.complete()).toThrow();
|
|
139
|
-
expect(() => handle.fail("error")).toThrow();
|
|
140
|
-
});
|
|
141
|
-
});
|
|
142
|
-
describe("callbacks", () => {
|
|
143
|
-
it("should handle missing callbacks gracefully", () => {
|
|
144
|
-
const job = createTestJob();
|
|
145
|
-
const handle = new JobExecutionHandle(job, JobQueueState.READY);
|
|
146
|
-
expect(() => {
|
|
147
|
-
handle.start();
|
|
148
|
-
handle.complete();
|
|
149
|
-
}).not.toThrow();
|
|
150
|
-
});
|
|
151
|
-
it("should call callbacks in order for complete flow", () => {
|
|
152
|
-
const job = createTestJob();
|
|
153
|
-
const order = [];
|
|
154
|
-
const onStart = vi.fn(() => order.push("start"));
|
|
155
|
-
const onComplete = vi.fn(() => order.push("complete"));
|
|
156
|
-
const handle = new JobExecutionHandle(job, JobQueueState.READY, {
|
|
157
|
-
onStart,
|
|
158
|
-
onComplete,
|
|
159
|
-
});
|
|
160
|
-
handle.start();
|
|
161
|
-
handle.complete();
|
|
162
|
-
expect(order).toEqual(["start", "complete"]);
|
|
163
|
-
});
|
|
164
|
-
it("should call callbacks in order for failure flow", () => {
|
|
165
|
-
const job = createTestJob();
|
|
166
|
-
const order = [];
|
|
167
|
-
const onStart = vi.fn(() => order.push("start"));
|
|
168
|
-
const onFail = vi.fn(() => order.push("fail"));
|
|
169
|
-
const handle = new JobExecutionHandle(job, JobQueueState.READY, {
|
|
170
|
-
onStart,
|
|
171
|
-
onFail,
|
|
172
|
-
});
|
|
173
|
-
handle.start();
|
|
174
|
-
handle.fail("Test error");
|
|
175
|
-
expect(order).toEqual(["start", "fail"]);
|
|
176
|
-
});
|
|
177
|
-
it("should not call onComplete when failing", () => {
|
|
178
|
-
const job = createTestJob();
|
|
179
|
-
const onComplete = vi.fn();
|
|
180
|
-
const onFail = vi.fn();
|
|
181
|
-
const handle = new JobExecutionHandle(job, JobQueueState.READY, {
|
|
182
|
-
onComplete,
|
|
183
|
-
onFail,
|
|
184
|
-
});
|
|
185
|
-
handle.start();
|
|
186
|
-
handle.fail("Test error");
|
|
187
|
-
expect(onComplete).not.toHaveBeenCalled();
|
|
188
|
-
expect(onFail).toHaveBeenCalledTimes(1);
|
|
189
|
-
});
|
|
190
|
-
it("should not call onFail when completing", () => {
|
|
191
|
-
const job = createTestJob();
|
|
192
|
-
const onComplete = vi.fn();
|
|
193
|
-
const onFail = vi.fn();
|
|
194
|
-
const handle = new JobExecutionHandle(job, JobQueueState.READY, {
|
|
195
|
-
onComplete,
|
|
196
|
-
onFail,
|
|
197
|
-
});
|
|
198
|
-
handle.start();
|
|
199
|
-
handle.complete();
|
|
200
|
-
expect(onFail).not.toHaveBeenCalled();
|
|
201
|
-
expect(onComplete).toHaveBeenCalledTimes(1);
|
|
202
|
-
});
|
|
203
|
-
});
|
|
204
|
-
describe("job property", () => {
|
|
205
|
-
it("should be readonly and return the same job", () => {
|
|
206
|
-
const job = createTestJob();
|
|
207
|
-
const handle = new JobExecutionHandle(job, JobQueueState.READY);
|
|
208
|
-
const job1 = handle.job;
|
|
209
|
-
const job2 = handle.job;
|
|
210
|
-
expect(job1).toBe(job);
|
|
211
|
-
expect(job2).toBe(job);
|
|
212
|
-
expect(job1).toBe(job2);
|
|
213
|
-
});
|
|
214
|
-
it("should preserve all job properties", () => {
|
|
215
|
-
const job = createTestJob({
|
|
216
|
-
id: "test-job-id",
|
|
217
|
-
documentId: "test-doc",
|
|
218
|
-
scope: "test-scope",
|
|
219
|
-
branch: "test-branch",
|
|
220
|
-
retryCount: 2,
|
|
221
|
-
maxRetries: 5,
|
|
222
|
-
lastError: "previous error",
|
|
223
|
-
});
|
|
224
|
-
const handle = new JobExecutionHandle(job, JobQueueState.READY);
|
|
225
|
-
expect(handle.job.id).toBe("test-job-id");
|
|
226
|
-
expect(handle.job.documentId).toBe("test-doc");
|
|
227
|
-
expect(handle.job.scope).toBe("test-scope");
|
|
228
|
-
expect(handle.job.branch).toBe("test-branch");
|
|
229
|
-
expect(handle.job.retryCount).toBe(2);
|
|
230
|
-
expect(handle.job.maxRetries).toBe(5);
|
|
231
|
-
expect(handle.job.lastError).toBe("previous error");
|
|
232
|
-
});
|
|
233
|
-
});
|
|
234
|
-
describe("edge cases", () => {
|
|
235
|
-
it("should handle rapid state transitions", () => {
|
|
236
|
-
const job = createTestJob();
|
|
237
|
-
const onStart = vi.fn();
|
|
238
|
-
const onComplete = vi.fn();
|
|
239
|
-
const handle = new JobExecutionHandle(job, JobQueueState.READY, {
|
|
240
|
-
onStart,
|
|
241
|
-
onComplete,
|
|
242
|
-
});
|
|
243
|
-
handle.start();
|
|
244
|
-
handle.complete();
|
|
245
|
-
expect(onStart).toHaveBeenCalledTimes(1);
|
|
246
|
-
expect(onComplete).toHaveBeenCalledTimes(1);
|
|
247
|
-
expect(handle.state).toBe(JobQueueState.RESOLVED);
|
|
248
|
-
});
|
|
249
|
-
it("should handle callbacks that throw errors", () => {
|
|
250
|
-
const job = createTestJob();
|
|
251
|
-
const onStart = vi.fn(() => {
|
|
252
|
-
throw new Error("Callback error");
|
|
253
|
-
});
|
|
254
|
-
const handle = new JobExecutionHandle(job, JobQueueState.READY, {
|
|
255
|
-
onStart,
|
|
256
|
-
});
|
|
257
|
-
expect(() => handle.start()).toThrow("Callback error");
|
|
258
|
-
// State should still transition despite callback error
|
|
259
|
-
expect(handle.state).toBe(JobQueueState.RUNNING);
|
|
260
|
-
});
|
|
261
|
-
it("should initialize with different starting states", () => {
|
|
262
|
-
const job = createTestJob();
|
|
263
|
-
const handle1 = new JobExecutionHandle(job, JobQueueState.PREPROCESSING);
|
|
264
|
-
expect(handle1.state).toBe(JobQueueState.PREPROCESSING);
|
|
265
|
-
const handle2 = new JobExecutionHandle(job, JobQueueState.PENDING);
|
|
266
|
-
expect(handle2.state).toBe(JobQueueState.PENDING);
|
|
267
|
-
const handle3 = new JobExecutionHandle(job, JobQueueState.UNKNOWN);
|
|
268
|
-
expect(handle3.state).toBe(JobQueueState.UNKNOWN);
|
|
269
|
-
});
|
|
270
|
-
});
|
|
271
|
-
});
|
|
272
|
-
//# sourceMappingURL=job-execution-handle.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"job-execution-handle.test.js","sourceRoot":"","sources":["../../../test/executor/job-execution-handle.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simple-job-executor-manager.test.d.ts","sourceRoot":"","sources":["../../../test/executor/simple-job-executor-manager.test.ts"],"names":[],"mappings":""}
|