rivetkit 2.1.3 → 2.1.4
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/browser/client.d.ts +11 -0
- package/dist/browser/client.js +1 -1
- package/dist/browser/client.js.map +1 -1
- package/dist/browser/inspector/client.js +1 -1
- package/dist/browser/inspector/client.js.map +1 -1
- package/dist/inspector.tar.gz +0 -0
- package/dist/tsup/{chunk-R64EFI6F.cjs → chunk-3B6PCYJB.cjs} +280 -115
- package/dist/tsup/chunk-3B6PCYJB.cjs.map +1 -0
- package/dist/tsup/{chunk-6LHZQSWJ.js → chunk-3GTO6H3E.js} +8 -4
- package/dist/tsup/chunk-3GTO6H3E.js.map +1 -0
- package/dist/tsup/{chunk-ZSJ2OTY4.cjs → chunk-4KSHPFXF.cjs} +2 -2
- package/dist/tsup/{chunk-ZSJ2OTY4.cjs.map → chunk-4KSHPFXF.cjs.map} +1 -1
- package/dist/tsup/{chunk-OAOF23ZY.js → chunk-5UEFNG7P.js} +2 -2
- package/dist/tsup/{chunk-MAXIXG56.js → chunk-ANKZ2FS6.js} +2 -4
- package/dist/tsup/chunk-ANKZ2FS6.js.map +1 -0
- package/dist/tsup/{chunk-DADGS67O.cjs → chunk-AQD4CBZ2.cjs} +4 -4
- package/dist/tsup/{chunk-DADGS67O.cjs.map → chunk-AQD4CBZ2.cjs.map} +1 -1
- package/dist/tsup/{chunk-YET3IZD6.js → chunk-DZXDUGLL.js} +2 -2
- package/dist/tsup/{chunk-YET3IZD6.js.map → chunk-DZXDUGLL.js.map} +1 -1
- package/dist/tsup/{chunk-5AZ6UPEF.cjs → chunk-GXRVSSVD.cjs} +24 -20
- package/dist/tsup/chunk-GXRVSSVD.cjs.map +1 -0
- package/dist/tsup/{chunk-IJAGZS57.cjs → chunk-H5TSEPN4.cjs} +30 -30
- package/dist/tsup/{chunk-IJAGZS57.cjs.map → chunk-H5TSEPN4.cjs.map} +1 -1
- package/dist/tsup/{chunk-POUBQA6Z.js → chunk-HBYEYBIC.js} +2 -2
- package/dist/tsup/{chunk-BMNB6YRQ.cjs → chunk-HKOSZKKZ.cjs} +212 -305
- package/dist/tsup/chunk-HKOSZKKZ.cjs.map +1 -0
- package/dist/tsup/{chunk-N7ASEZ2Y.js → chunk-I6PL6QIY.js} +5 -5
- package/dist/tsup/{chunk-GNGRMP5E.js → chunk-KTWY3K6Z.js} +18 -11
- package/dist/tsup/chunk-KTWY3K6Z.js.map +1 -0
- package/dist/tsup/{chunk-KSZZRTOD.cjs → chunk-LK36OGGO.cjs} +3 -5
- package/dist/tsup/chunk-LK36OGGO.cjs.map +1 -0
- package/dist/tsup/{chunk-YLDDENCZ.js → chunk-M6H4XIF4.js} +126 -219
- package/dist/tsup/chunk-M6H4XIF4.js.map +1 -0
- package/dist/tsup/{chunk-U6VWVHVW.cjs → chunk-QPADHLDU.cjs} +3 -3
- package/dist/tsup/{chunk-U6VWVHVW.cjs.map → chunk-QPADHLDU.cjs.map} +1 -1
- package/dist/tsup/{chunk-6T3WSP5M.js → chunk-TEFYRRAK.js} +4 -4
- package/dist/tsup/{chunk-HPAX7L72.cjs → chunk-TEUL4UYN.cjs} +152 -152
- package/dist/tsup/{chunk-HPAX7L72.cjs.map → chunk-TEUL4UYN.cjs.map} +1 -1
- package/dist/tsup/{chunk-QUDLEWGD.js → chunk-UDMRZR6A.js} +212 -47
- package/dist/tsup/chunk-UDMRZR6A.js.map +1 -0
- package/dist/tsup/{chunk-T6MM5RTW.cjs → chunk-UWAGLDT6.cjs} +250 -243
- package/dist/tsup/chunk-UWAGLDT6.cjs.map +1 -0
- package/dist/tsup/client/mod.cjs +6 -6
- package/dist/tsup/client/mod.d.cts +2 -2
- package/dist/tsup/client/mod.d.ts +2 -2
- package/dist/tsup/client/mod.js +5 -5
- package/dist/tsup/common/log.cjs +2 -2
- package/dist/tsup/common/log.js +1 -1
- package/dist/tsup/common/websocket.cjs +3 -3
- package/dist/tsup/common/websocket.js +2 -2
- package/dist/tsup/{config-P3XujgRr.d.ts → config-Qj-zLJPc.d.ts} +11 -0
- package/dist/tsup/{config-_gfywqqI.d.cts → config-iPj5l1bL.d.cts} +11 -0
- package/dist/tsup/{context-uNA4TRn3.d.ts → context-CQCMuHND.d.ts} +1 -1
- package/dist/tsup/{context-Bxd8Cx4H.d.cts → context-DzvH1PBK.d.cts} +1 -1
- package/dist/tsup/{driver-CPGHKXyh.d.ts → driver-Jo8v-kbU.d.ts} +1 -1
- package/dist/tsup/driver-helpers/mod.cjs +4 -4
- package/dist/tsup/driver-helpers/mod.d.cts +4 -4
- package/dist/tsup/driver-helpers/mod.d.ts +4 -4
- package/dist/tsup/driver-helpers/mod.js +3 -3
- package/dist/tsup/{driver-BcLvZcKl.d.cts → driver-iV8J-WMv.d.cts} +1 -1
- package/dist/tsup/driver-test-suite/mod.cjs +196 -60
- package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
- package/dist/tsup/driver-test-suite/mod.d.cts +2 -2
- package/dist/tsup/driver-test-suite/mod.d.ts +2 -2
- package/dist/tsup/driver-test-suite/mod.js +971 -835
- package/dist/tsup/driver-test-suite/mod.js.map +1 -1
- package/dist/tsup/inspector/mod.cjs +3 -3
- package/dist/tsup/inspector/mod.js +2 -2
- package/dist/tsup/mod.cjs +8 -8
- package/dist/tsup/mod.d.cts +5 -5
- package/dist/tsup/mod.d.ts +5 -5
- package/dist/tsup/mod.js +7 -7
- package/dist/tsup/serve-test-suite/mod.cjs +182 -100
- package/dist/tsup/serve-test-suite/mod.cjs.map +1 -1
- package/dist/tsup/serve-test-suite/mod.js +93 -11
- package/dist/tsup/serve-test-suite/mod.js.map +1 -1
- package/dist/tsup/test/mod.cjs +10 -10
- package/dist/tsup/test/mod.d.cts +1 -1
- package/dist/tsup/test/mod.d.ts +1 -1
- package/dist/tsup/test/mod.js +6 -6
- package/dist/tsup/utils.cjs +2 -2
- package/dist/tsup/utils.js +1 -1
- package/dist/tsup/workflow/mod.cjs +5 -5
- package/dist/tsup/workflow/mod.d.cts +3 -3
- package/dist/tsup/workflow/mod.d.ts +3 -3
- package/dist/tsup/workflow/mod.js +4 -4
- package/package.json +5 -5
- package/src/actor/config.ts +0 -2
- package/src/actor/instance/mod.ts +17 -4
- package/src/actor/router.ts +9 -6
- package/src/driver-test-suite/mod.ts +3 -0
- package/src/driver-test-suite/tests/actor-driver.ts +4 -0
- package/src/driver-test-suite/tests/actor-lifecycle.ts +157 -0
- package/src/driver-test-suite/tests/conn-error-serialization.ts +64 -0
- package/src/drivers/engine/actor-driver.ts +47 -15
- package/src/manager/router.ts +20 -6
- package/src/{registry → utils}/serve.ts +38 -4
- package/src/workflow/context.ts +4 -0
- package/dist/tsup/chunk-5AZ6UPEF.cjs.map +0 -1
- package/dist/tsup/chunk-6LHZQSWJ.js.map +0 -1
- package/dist/tsup/chunk-BMNB6YRQ.cjs.map +0 -1
- package/dist/tsup/chunk-GNGRMP5E.js.map +0 -1
- package/dist/tsup/chunk-KSZZRTOD.cjs.map +0 -1
- package/dist/tsup/chunk-MAXIXG56.js.map +0 -1
- package/dist/tsup/chunk-QUDLEWGD.js.map +0 -1
- package/dist/tsup/chunk-R64EFI6F.cjs.map +0 -1
- package/dist/tsup/chunk-T6MM5RTW.cjs.map +0 -1
- package/dist/tsup/chunk-YLDDENCZ.js.map +0 -1
- /package/dist/tsup/{chunk-OAOF23ZY.js.map → chunk-5UEFNG7P.js.map} +0 -0
- /package/dist/tsup/{chunk-POUBQA6Z.js.map → chunk-HBYEYBIC.js.map} +0 -0
- /package/dist/tsup/{chunk-N7ASEZ2Y.js.map → chunk-I6PL6QIY.js.map} +0 -0
- /package/dist/tsup/{chunk-6T3WSP5M.js.map → chunk-TEFYRRAK.js.map} +0 -0
|
@@ -4,20 +4,20 @@
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
8
|
-
require('../chunk-
|
|
9
|
-
require('../chunk-
|
|
10
|
-
require('../chunk-
|
|
11
|
-
require('../chunk-
|
|
7
|
+
var _chunkH5TSEPN4cjs = require('../chunk-H5TSEPN4.cjs');
|
|
8
|
+
require('../chunk-GXRVSSVD.cjs');
|
|
9
|
+
require('../chunk-AQD4CBZ2.cjs');
|
|
10
|
+
require('../chunk-HKOSZKKZ.cjs');
|
|
11
|
+
require('../chunk-UWAGLDT6.cjs');
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
var
|
|
17
|
+
var _chunkTEUL4UYNcjs = require('../chunk-TEUL4UYN.cjs');
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _chunkQPADHLDUcjs = require('../chunk-QPADHLDU.cjs');
|
|
21
21
|
require('../chunk-6LJAZ5R4.cjs');
|
|
22
22
|
require('../chunk-SR3KQE7Q.cjs');
|
|
23
23
|
|
|
@@ -29,14 +29,14 @@ require('../chunk-SR3KQE7Q.cjs');
|
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
var
|
|
32
|
+
var _chunk3B6PCYJBcjs = require('../chunk-3B6PCYJB.cjs');
|
|
33
33
|
require('../chunk-NIYZDWMW.cjs');
|
|
34
34
|
|
|
35
35
|
|
|
36
|
-
var
|
|
36
|
+
var _chunkLK36OGGOcjs = require('../chunk-LK36OGGO.cjs');
|
|
37
37
|
|
|
38
38
|
|
|
39
|
-
var
|
|
39
|
+
var _chunk4KSHPFXFcjs = require('../chunk-4KSHPFXF.cjs');
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
|
|
@@ -85,20 +85,20 @@ function createTestInlineClientDriver(endpoint, encoding) {
|
|
|
85
85
|
const oldUrl = new URL(actorRequest.url);
|
|
86
86
|
const normalizedPath = oldUrl.pathname.startsWith("/") ? oldUrl.pathname.slice(1) : oldUrl.pathname;
|
|
87
87
|
const pathWithQuery = normalizedPath + oldUrl.search;
|
|
88
|
-
|
|
88
|
+
_chunkH5TSEPN4cjs.logger.call(void 0, ).debug({
|
|
89
89
|
msg: "sending raw http request via test inline driver",
|
|
90
90
|
actorId,
|
|
91
91
|
encoding,
|
|
92
92
|
path: pathWithQuery
|
|
93
93
|
});
|
|
94
94
|
const url = `${endpoint}/.test/inline-driver/send-request/${pathWithQuery}`;
|
|
95
|
-
|
|
95
|
+
_chunkH5TSEPN4cjs.logger.call(void 0, ).debug({
|
|
96
96
|
msg: "rewriting http url",
|
|
97
97
|
from: oldUrl,
|
|
98
98
|
to: url
|
|
99
99
|
});
|
|
100
100
|
const headers = new Headers(actorRequest.headers);
|
|
101
|
-
headers.set(
|
|
101
|
+
headers.set(_chunk3B6PCYJBcjs.HEADER_ACTOR_ID, actorId);
|
|
102
102
|
const response = await fetch(
|
|
103
103
|
new Request(url, {
|
|
104
104
|
method: actorRequest.method,
|
|
@@ -114,7 +114,7 @@ function createTestInlineClientDriver(endpoint, encoding) {
|
|
|
114
114
|
const errorData = await clonedResponse.json();
|
|
115
115
|
if (errorData.error) {
|
|
116
116
|
if (typeof errorData.error === "object") {
|
|
117
|
-
throw new (0,
|
|
117
|
+
throw new (0, _chunkTEUL4UYNcjs.ActorError)(
|
|
118
118
|
errorData.error.code,
|
|
119
119
|
errorData.error.message,
|
|
120
120
|
errorData.error.metadata
|
|
@@ -122,7 +122,7 @@ function createTestInlineClientDriver(endpoint, encoding) {
|
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
} catch (e) {
|
|
125
|
-
if (!(e instanceof
|
|
125
|
+
if (!(e instanceof _chunkTEUL4UYNcjs.ActorError)) {
|
|
126
126
|
return response;
|
|
127
127
|
}
|
|
128
128
|
throw e;
|
|
@@ -131,33 +131,33 @@ function createTestInlineClientDriver(endpoint, encoding) {
|
|
|
131
131
|
return response;
|
|
132
132
|
},
|
|
133
133
|
async openWebSocket(path, actorId, encoding2, params) {
|
|
134
|
-
const WebSocket2 = await
|
|
134
|
+
const WebSocket2 = await _chunkQPADHLDUcjs.importWebSocket.call(void 0, );
|
|
135
135
|
const normalizedPath = path.startsWith("/") ? path.slice(1) : path;
|
|
136
136
|
const wsUrl = new URL(
|
|
137
137
|
`${endpoint}/.test/inline-driver/connect-websocket/ws`
|
|
138
138
|
);
|
|
139
|
-
|
|
139
|
+
_chunkH5TSEPN4cjs.logger.call(void 0, ).debug({
|
|
140
140
|
msg: "creating websocket connection via test inline driver",
|
|
141
141
|
url: wsUrl.toString()
|
|
142
142
|
});
|
|
143
143
|
const wsProtocol = wsUrl.protocol === "https:" ? "wss:" : "ws:";
|
|
144
144
|
const finalWsUrl = `${wsProtocol}//${wsUrl.host}${wsUrl.pathname}`;
|
|
145
145
|
const protocols = [];
|
|
146
|
-
protocols.push(
|
|
147
|
-
protocols.push(`${
|
|
146
|
+
protocols.push(_chunk3B6PCYJBcjs.WS_PROTOCOL_STANDARD);
|
|
147
|
+
protocols.push(`${_chunk3B6PCYJBcjs.WS_PROTOCOL_TARGET}actor`);
|
|
148
148
|
protocols.push(
|
|
149
|
-
`${
|
|
149
|
+
`${_chunk3B6PCYJBcjs.WS_PROTOCOL_ACTOR}${encodeURIComponent(actorId)}`
|
|
150
150
|
);
|
|
151
|
-
protocols.push(`${
|
|
151
|
+
protocols.push(`${_chunk3B6PCYJBcjs.WS_PROTOCOL_ENCODING}${encoding2}`);
|
|
152
152
|
protocols.push(
|
|
153
|
-
`${
|
|
153
|
+
`${_chunk3B6PCYJBcjs.WS_TEST_PROTOCOL_PATH}${encodeURIComponent(normalizedPath)}`
|
|
154
154
|
);
|
|
155
155
|
if (params !== void 0) {
|
|
156
156
|
protocols.push(
|
|
157
|
-
`${
|
|
157
|
+
`${_chunk3B6PCYJBcjs.WS_PROTOCOL_CONN_PARAMS}${encodeURIComponent(JSON.stringify(params))}`
|
|
158
158
|
);
|
|
159
159
|
}
|
|
160
|
-
|
|
160
|
+
_chunkH5TSEPN4cjs.logger.call(void 0, ).debug({
|
|
161
161
|
msg: "connecting to websocket",
|
|
162
162
|
url: finalWsUrl,
|
|
163
163
|
protocols
|
|
@@ -177,7 +177,7 @@ function createTestInlineClientDriver(endpoint, encoding) {
|
|
|
177
177
|
encoding2,
|
|
178
178
|
params
|
|
179
179
|
);
|
|
180
|
-
return upgradeWebSocket(() => wsHandler)(c,
|
|
180
|
+
return upgradeWebSocket(() => wsHandler)(c, _chunk4KSHPFXFcjs.noopNext.call(void 0, ));
|
|
181
181
|
},
|
|
182
182
|
async buildGatewayUrl(actorId) {
|
|
183
183
|
return `${endpoint}/gateway/${actorId}`;
|
|
@@ -194,7 +194,7 @@ function createTestInlineClientDriver(endpoint, encoding) {
|
|
|
194
194
|
};
|
|
195
195
|
}
|
|
196
196
|
async function makeInlineRequest(endpoint, encoding, method, args) {
|
|
197
|
-
|
|
197
|
+
_chunkH5TSEPN4cjs.logger.call(void 0, ).debug({
|
|
198
198
|
msg: "sending inline request",
|
|
199
199
|
encoding,
|
|
200
200
|
method,
|
|
@@ -224,14 +224,14 @@ async function makeInlineRequest(endpoint, encoding, method, args) {
|
|
|
224
224
|
if ("ok" in callResponse) {
|
|
225
225
|
return callResponse.ok;
|
|
226
226
|
} else if ("err" in callResponse) {
|
|
227
|
-
throw new (0,
|
|
227
|
+
throw new (0, _chunkTEUL4UYNcjs.ActorError)(
|
|
228
228
|
callResponse.err.group,
|
|
229
229
|
callResponse.err.code,
|
|
230
230
|
callResponse.err.message,
|
|
231
231
|
callResponse.err.metadata
|
|
232
232
|
);
|
|
233
233
|
} else {
|
|
234
|
-
|
|
234
|
+
_chunkLK36OGGOcjs.assertUnreachable.call(void 0, callResponse);
|
|
235
235
|
}
|
|
236
236
|
}
|
|
237
237
|
|
|
@@ -245,7 +245,7 @@ async function setupDriverTest(c, driverTestConfig) {
|
|
|
245
245
|
const { endpoint, namespace, runnerName, cleanup } = await driverTestConfig.start();
|
|
246
246
|
let client;
|
|
247
247
|
if (driverTestConfig.clientType === "http") {
|
|
248
|
-
client =
|
|
248
|
+
client = _chunkTEUL4UYNcjs.createClient.call(void 0, {
|
|
249
249
|
endpoint,
|
|
250
250
|
namespace,
|
|
251
251
|
runnerName,
|
|
@@ -258,18 +258,18 @@ async function setupDriverTest(c, driverTestConfig) {
|
|
|
258
258
|
} else if (driverTestConfig.clientType === "inline") {
|
|
259
259
|
const encoding = _nullishCoalesce(driverTestConfig.encoding, () => ( "bare"));
|
|
260
260
|
const managerDriver = createTestInlineClientDriver(endpoint, encoding);
|
|
261
|
-
const runConfig =
|
|
261
|
+
const runConfig = _chunkTEUL4UYNcjs.ClientConfigSchema.parse({
|
|
262
262
|
encoding
|
|
263
263
|
});
|
|
264
|
-
client =
|
|
264
|
+
client = _chunkTEUL4UYNcjs.createClientWithDriver.call(void 0, managerDriver, runConfig);
|
|
265
265
|
} else {
|
|
266
|
-
|
|
266
|
+
_chunkLK36OGGOcjs.assertUnreachable.call(void 0, driverTestConfig.clientType);
|
|
267
267
|
}
|
|
268
268
|
c.onTestFinished(async () => {
|
|
269
269
|
if (!driverTestConfig.HACK_skipCleanupNet) {
|
|
270
270
|
await client.dispose();
|
|
271
271
|
}
|
|
272
|
-
|
|
272
|
+
_chunkH5TSEPN4cjs.logger.call(void 0, ).info("cleaning up test");
|
|
273
273
|
await cleanup();
|
|
274
274
|
});
|
|
275
275
|
return {
|
|
@@ -989,7 +989,7 @@ function runActorConnHibernationTests(driverTestConfig) {
|
|
|
989
989
|
await hibernatingActor.triggerSleep();
|
|
990
990
|
await waitFor(
|
|
991
991
|
driverTestConfig,
|
|
992
|
-
|
|
992
|
+
_chunkH5TSEPN4cjs.HIBERNATION_SLEEP_TIMEOUT + 100
|
|
993
993
|
);
|
|
994
994
|
const ping2 = await hibernatingActor.ping();
|
|
995
995
|
_vitest.expect.call(void 0, ping2).toBe("pong");
|
|
@@ -1011,7 +1011,7 @@ function runActorConnHibernationTests(driverTestConfig) {
|
|
|
1011
1011
|
await hibernatingActor.triggerSleep();
|
|
1012
1012
|
await waitFor(
|
|
1013
1013
|
driverTestConfig,
|
|
1014
|
-
|
|
1014
|
+
_chunkH5TSEPN4cjs.HIBERNATION_SLEEP_TIMEOUT + 100
|
|
1015
1015
|
);
|
|
1016
1016
|
const count3 = await hibernatingActor.getConnCount();
|
|
1017
1017
|
_vitest.expect.call(void 0, count3).toBe(2);
|
|
@@ -1033,7 +1033,7 @@ function runActorConnHibernationTests(driverTestConfig) {
|
|
|
1033
1033
|
await conn1.triggerSleep();
|
|
1034
1034
|
await waitFor(
|
|
1035
1035
|
driverTestConfig,
|
|
1036
|
-
|
|
1036
|
+
_chunkH5TSEPN4cjs.HIBERNATION_SLEEP_TIMEOUT + 100
|
|
1037
1037
|
);
|
|
1038
1038
|
await conn1.dispose();
|
|
1039
1039
|
await waitFor(driverTestConfig, 250);
|
|
@@ -1642,6 +1642,44 @@ function runActorDbTests(driverTestConfig) {
|
|
|
1642
1642
|
});
|
|
1643
1643
|
}
|
|
1644
1644
|
|
|
1645
|
+
// src/driver-test-suite/tests/conn-error-serialization.ts
|
|
1646
|
+
|
|
1647
|
+
function runConnErrorSerializationTests(driverTestConfig) {
|
|
1648
|
+
_vitest.describe.call(void 0, "Connection Error Serialization Tests", () => {
|
|
1649
|
+
_vitest.test.call(void 0, "error thrown in createConnState preserves group and code through WebSocket serialization", async (c) => {
|
|
1650
|
+
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
1651
|
+
const actorKey = `test-error-serialization-${Date.now()}`;
|
|
1652
|
+
const actor = client.connErrorSerializationActor.getOrCreate(
|
|
1653
|
+
[actorKey],
|
|
1654
|
+
{ params: { shouldThrow: true } }
|
|
1655
|
+
);
|
|
1656
|
+
const conn = actor.connect();
|
|
1657
|
+
let caughtError;
|
|
1658
|
+
try {
|
|
1659
|
+
await conn.getValue();
|
|
1660
|
+
} catch (err) {
|
|
1661
|
+
caughtError = err;
|
|
1662
|
+
}
|
|
1663
|
+
_vitest.expect.call(void 0, caughtError).toBeDefined();
|
|
1664
|
+
_vitest.expect.call(void 0, caughtError.group).toBe("connection");
|
|
1665
|
+
_vitest.expect.call(void 0, caughtError.code).toBe("custom_error");
|
|
1666
|
+
await conn.dispose();
|
|
1667
|
+
});
|
|
1668
|
+
_vitest.test.call(void 0, "successful createConnState does not throw error", async (c) => {
|
|
1669
|
+
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
1670
|
+
const actorKey = `test-no-error-${Date.now()}`;
|
|
1671
|
+
const actor = client.connErrorSerializationActor.getOrCreate(
|
|
1672
|
+
[actorKey],
|
|
1673
|
+
{ params: { shouldThrow: false } }
|
|
1674
|
+
);
|
|
1675
|
+
const conn = actor.connect();
|
|
1676
|
+
const value = await conn.getValue();
|
|
1677
|
+
_vitest.expect.call(void 0, value).toBe(0);
|
|
1678
|
+
await conn.dispose();
|
|
1679
|
+
});
|
|
1680
|
+
});
|
|
1681
|
+
}
|
|
1682
|
+
|
|
1645
1683
|
// src/driver-test-suite/tests/actor-destroy.ts
|
|
1646
1684
|
|
|
1647
1685
|
function runActorDestroyTests(driverTestConfig) {
|
|
@@ -1830,6 +1868,102 @@ function runActorDestroyTests(driverTestConfig) {
|
|
|
1830
1868
|
// src/driver-test-suite/tests/actor-driver.ts
|
|
1831
1869
|
|
|
1832
1870
|
|
|
1871
|
+
// src/driver-test-suite/tests/actor-lifecycle.ts
|
|
1872
|
+
|
|
1873
|
+
function runActorLifecycleTests(driverTestConfig) {
|
|
1874
|
+
_vitest.describe.call(void 0, "Actor Lifecycle Tests", () => {
|
|
1875
|
+
_vitest.test.call(void 0, "actor stop during start waits for start to complete", async (c) => {
|
|
1876
|
+
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
1877
|
+
const actorKey = `test-stop-during-start-${Date.now()}`;
|
|
1878
|
+
const actor = client.startStopRaceActor.getOrCreate([actorKey]);
|
|
1879
|
+
const pingPromise = actor.ping();
|
|
1880
|
+
const actorId = await actor.resolve();
|
|
1881
|
+
await actor.destroy();
|
|
1882
|
+
const result = await pingPromise;
|
|
1883
|
+
_vitest.expect.call(void 0, result).toBe("pong");
|
|
1884
|
+
let destroyed = false;
|
|
1885
|
+
try {
|
|
1886
|
+
await client.startStopRaceActor.getForId(actorId).ping();
|
|
1887
|
+
} catch (err) {
|
|
1888
|
+
destroyed = true;
|
|
1889
|
+
_vitest.expect.call(void 0, err.group).toBe("actor");
|
|
1890
|
+
_vitest.expect.call(void 0, err.code).toBe("not_found");
|
|
1891
|
+
}
|
|
1892
|
+
_vitest.expect.call(void 0, destroyed).toBe(true);
|
|
1893
|
+
});
|
|
1894
|
+
_vitest.test.call(void 0, "actor stop before actor instantiation completes cleans up handler", async (c) => {
|
|
1895
|
+
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
1896
|
+
const actorKey = `test-stop-before-instantiation-${Date.now()}`;
|
|
1897
|
+
const actors = Array.from(
|
|
1898
|
+
{ length: 5 },
|
|
1899
|
+
(_, i) => client.startStopRaceActor.getOrCreate([
|
|
1900
|
+
`${actorKey}-${i}`
|
|
1901
|
+
])
|
|
1902
|
+
);
|
|
1903
|
+
const ids = await Promise.all(actors.map((a) => a.resolve()));
|
|
1904
|
+
await Promise.all(actors.map((a) => a.destroy()));
|
|
1905
|
+
for (const id of ids) {
|
|
1906
|
+
let destroyed = false;
|
|
1907
|
+
try {
|
|
1908
|
+
await client.startStopRaceActor.getForId(id).ping();
|
|
1909
|
+
} catch (err) {
|
|
1910
|
+
destroyed = true;
|
|
1911
|
+
_vitest.expect.call(void 0, err.group).toBe("actor");
|
|
1912
|
+
_vitest.expect.call(void 0, err.code).toBe("not_found");
|
|
1913
|
+
}
|
|
1914
|
+
_vitest.expect.call(void 0, destroyed, `actor ${id} should be destroyed`).toBe(
|
|
1915
|
+
true
|
|
1916
|
+
);
|
|
1917
|
+
}
|
|
1918
|
+
});
|
|
1919
|
+
_vitest.test.call(void 0, "onBeforeActorStart completes before stop proceeds", async (c) => {
|
|
1920
|
+
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
1921
|
+
const actorKey = `test-before-actor-start-${Date.now()}`;
|
|
1922
|
+
const actor = client.startStopRaceActor.getOrCreate([actorKey]);
|
|
1923
|
+
const statePromise = actor.getState();
|
|
1924
|
+
await actor.destroy();
|
|
1925
|
+
const state = await statePromise;
|
|
1926
|
+
_vitest.expect.call(void 0, state.initialized).toBe(true);
|
|
1927
|
+
_vitest.expect.call(void 0, state.startCompleted).toBe(true);
|
|
1928
|
+
});
|
|
1929
|
+
_vitest.test.call(void 0, "multiple rapid create/destroy cycles handle race correctly", async (c) => {
|
|
1930
|
+
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
1931
|
+
for (let i = 0; i < 10; i++) {
|
|
1932
|
+
const actorKey = `test-rapid-cycle-${Date.now()}-${i}`;
|
|
1933
|
+
const actor = client.startStopRaceActor.getOrCreate([
|
|
1934
|
+
actorKey
|
|
1935
|
+
]);
|
|
1936
|
+
const resolvePromise = actor.resolve();
|
|
1937
|
+
const destroyPromise = actor.destroy();
|
|
1938
|
+
await Promise.all([resolvePromise, destroyPromise]);
|
|
1939
|
+
}
|
|
1940
|
+
_vitest.expect.call(void 0, true).toBe(true);
|
|
1941
|
+
});
|
|
1942
|
+
_vitest.test.call(void 0, "actor stop called with no actor instance cleans up handler", async (c) => {
|
|
1943
|
+
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
1944
|
+
const actorKey = `test-cleanup-no-instance-${Date.now()}`;
|
|
1945
|
+
const actor = client.startStopRaceActor.getOrCreate([actorKey]);
|
|
1946
|
+
const id = await actor.resolve();
|
|
1947
|
+
await actor.destroy();
|
|
1948
|
+
const newActor = client.startStopRaceActor.getOrCreate([
|
|
1949
|
+
actorKey
|
|
1950
|
+
]);
|
|
1951
|
+
const result = await newActor.ping();
|
|
1952
|
+
_vitest.expect.call(void 0, result).toBe("pong");
|
|
1953
|
+
await newActor.destroy();
|
|
1954
|
+
});
|
|
1955
|
+
_vitest.test.call(void 0, "onDestroy is called even when actor is destroyed during start", async (c) => {
|
|
1956
|
+
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
1957
|
+
const actorKey = `test-ondestroy-during-start-${Date.now()}`;
|
|
1958
|
+
const actor = client.startStopRaceActor.getOrCreate([actorKey]);
|
|
1959
|
+
const statePromise = actor.getState();
|
|
1960
|
+
await actor.destroy();
|
|
1961
|
+
const state = await statePromise;
|
|
1962
|
+
_vitest.expect.call(void 0, state.destroyCalled).toBe(true);
|
|
1963
|
+
});
|
|
1964
|
+
});
|
|
1965
|
+
}
|
|
1966
|
+
|
|
1833
1967
|
// src/driver-test-suite/tests/actor-schedule.ts
|
|
1834
1968
|
|
|
1835
1969
|
function runActorScheduleTests(driverTestConfig) {
|
|
@@ -1924,7 +2058,7 @@ function runActorSleepTests(driverTestConfig) {
|
|
|
1924
2058
|
}
|
|
1925
2059
|
await sleepActor.triggerSleep();
|
|
1926
2060
|
await sleepActor.dispose();
|
|
1927
|
-
await waitFor(driverTestConfig,
|
|
2061
|
+
await waitFor(driverTestConfig, _chunkH5TSEPN4cjs.SLEEP_TIMEOUT + 250);
|
|
1928
2062
|
const sleepActor2 = client.sleep.getOrCreate();
|
|
1929
2063
|
{
|
|
1930
2064
|
const { startCount, sleepCount } = await sleepActor2.getCounts();
|
|
@@ -1940,7 +2074,7 @@ function runActorSleepTests(driverTestConfig) {
|
|
|
1940
2074
|
_vitest.expect.call(void 0, sleepCount).toBe(0);
|
|
1941
2075
|
_vitest.expect.call(void 0, startCount).toBe(1);
|
|
1942
2076
|
}
|
|
1943
|
-
await waitFor(driverTestConfig,
|
|
2077
|
+
await waitFor(driverTestConfig, _chunkH5TSEPN4cjs.SLEEP_TIMEOUT + 250);
|
|
1944
2078
|
{
|
|
1945
2079
|
const { startCount, sleepCount } = await sleepActor.getCounts();
|
|
1946
2080
|
_vitest.expect.call(void 0, sleepCount).toBe(1);
|
|
@@ -1956,7 +2090,7 @@ function runActorSleepTests(driverTestConfig) {
|
|
|
1956
2090
|
_vitest.expect.call(void 0, startCount).toBe(1);
|
|
1957
2091
|
}
|
|
1958
2092
|
await sleepActor.dispose();
|
|
1959
|
-
await waitFor(driverTestConfig,
|
|
2093
|
+
await waitFor(driverTestConfig, _chunkH5TSEPN4cjs.SLEEP_TIMEOUT + 250);
|
|
1960
2094
|
const sleepActor2 = client.sleep.getOrCreate();
|
|
1961
2095
|
{
|
|
1962
2096
|
const { startCount, sleepCount } = await sleepActor2.getCounts();
|
|
@@ -1972,19 +2106,19 @@ function runActorSleepTests(driverTestConfig) {
|
|
|
1972
2106
|
_vitest.expect.call(void 0, sleepCount).toBe(0);
|
|
1973
2107
|
_vitest.expect.call(void 0, startCount).toBe(1);
|
|
1974
2108
|
}
|
|
1975
|
-
await waitFor(driverTestConfig,
|
|
2109
|
+
await waitFor(driverTestConfig, _chunkH5TSEPN4cjs.SLEEP_TIMEOUT - 250);
|
|
1976
2110
|
{
|
|
1977
2111
|
const { startCount, sleepCount } = await sleepActor.getCounts();
|
|
1978
2112
|
_vitest.expect.call(void 0, sleepCount).toBe(0);
|
|
1979
2113
|
_vitest.expect.call(void 0, startCount).toBe(1);
|
|
1980
2114
|
}
|
|
1981
|
-
await waitFor(driverTestConfig,
|
|
2115
|
+
await waitFor(driverTestConfig, _chunkH5TSEPN4cjs.SLEEP_TIMEOUT - 250);
|
|
1982
2116
|
{
|
|
1983
2117
|
const { startCount, sleepCount } = await sleepActor.getCounts();
|
|
1984
2118
|
_vitest.expect.call(void 0, sleepCount).toBe(0);
|
|
1985
2119
|
_vitest.expect.call(void 0, startCount).toBe(1);
|
|
1986
2120
|
}
|
|
1987
|
-
await waitFor(driverTestConfig,
|
|
2121
|
+
await waitFor(driverTestConfig, _chunkH5TSEPN4cjs.SLEEP_TIMEOUT + 250);
|
|
1988
2122
|
{
|
|
1989
2123
|
const { startCount, sleepCount } = await sleepActor.getCounts();
|
|
1990
2124
|
_vitest.expect.call(void 0, sleepCount).toBe(1);
|
|
@@ -1999,8 +2133,8 @@ function runActorSleepTests(driverTestConfig) {
|
|
|
1999
2133
|
_vitest.expect.call(void 0, sleepCount).toBe(0);
|
|
2000
2134
|
_vitest.expect.call(void 0, startCount).toBe(1);
|
|
2001
2135
|
}
|
|
2002
|
-
await sleepActor.setAlarm(
|
|
2003
|
-
await waitFor(driverTestConfig,
|
|
2136
|
+
await sleepActor.setAlarm(_chunkH5TSEPN4cjs.SLEEP_TIMEOUT - 250);
|
|
2137
|
+
await waitFor(driverTestConfig, _chunkH5TSEPN4cjs.SLEEP_TIMEOUT + 250);
|
|
2004
2138
|
{
|
|
2005
2139
|
const { startCount, sleepCount } = await sleepActor.getCounts();
|
|
2006
2140
|
_vitest.expect.call(void 0, sleepCount).toBe(0);
|
|
@@ -2015,8 +2149,8 @@ function runActorSleepTests(driverTestConfig) {
|
|
|
2015
2149
|
_vitest.expect.call(void 0, sleepCount).toBe(0);
|
|
2016
2150
|
_vitest.expect.call(void 0, startCount).toBe(1);
|
|
2017
2151
|
}
|
|
2018
|
-
await sleepActor.setAlarm(
|
|
2019
|
-
await waitFor(driverTestConfig,
|
|
2152
|
+
await sleepActor.setAlarm(_chunkH5TSEPN4cjs.SLEEP_TIMEOUT + 250);
|
|
2153
|
+
await waitFor(driverTestConfig, _chunkH5TSEPN4cjs.SLEEP_TIMEOUT + 200);
|
|
2020
2154
|
{
|
|
2021
2155
|
const { startCount, sleepCount } = await sleepActor.getCounts();
|
|
2022
2156
|
_vitest.expect.call(void 0, sleepCount).toBe(1);
|
|
@@ -2036,7 +2170,7 @@ function runActorSleepTests(driverTestConfig) {
|
|
|
2036
2170
|
);
|
|
2037
2171
|
const longRunningPromise = sleepActor.longRunningRpc();
|
|
2038
2172
|
await waitPromise;
|
|
2039
|
-
await waitFor(driverTestConfig,
|
|
2173
|
+
await waitFor(driverTestConfig, _chunkH5TSEPN4cjs.SLEEP_TIMEOUT + 250);
|
|
2040
2174
|
await sleepActor.finishLongRunningRpc();
|
|
2041
2175
|
await longRunningPromise;
|
|
2042
2176
|
{
|
|
@@ -2045,7 +2179,7 @@ function runActorSleepTests(driverTestConfig) {
|
|
|
2045
2179
|
_vitest.expect.call(void 0, startCount).toBe(1);
|
|
2046
2180
|
}
|
|
2047
2181
|
await sleepActor.dispose();
|
|
2048
|
-
await waitFor(driverTestConfig,
|
|
2182
|
+
await waitFor(driverTestConfig, _chunkH5TSEPN4cjs.SLEEP_TIMEOUT + 250);
|
|
2049
2183
|
const sleepActor2 = client.sleepWithLongRpc.getOrCreate();
|
|
2050
2184
|
{
|
|
2051
2185
|
const { startCount, sleepCount } = await sleepActor2.getCounts();
|
|
@@ -2077,7 +2211,7 @@ function runActorSleepTests(driverTestConfig) {
|
|
|
2077
2211
|
}
|
|
2078
2212
|
};
|
|
2079
2213
|
});
|
|
2080
|
-
await waitFor(driverTestConfig,
|
|
2214
|
+
await waitFor(driverTestConfig, _chunkH5TSEPN4cjs.SLEEP_TIMEOUT + 250);
|
|
2081
2215
|
ws.send(JSON.stringify({ type: "getCounts" }));
|
|
2082
2216
|
const counts = await new Promise((resolve) => {
|
|
2083
2217
|
ws.onmessage = (event) => {
|
|
@@ -2090,7 +2224,7 @@ function runActorSleepTests(driverTestConfig) {
|
|
|
2090
2224
|
_vitest.expect.call(void 0, counts.sleepCount).toBe(0);
|
|
2091
2225
|
_vitest.expect.call(void 0, counts.startCount).toBe(1);
|
|
2092
2226
|
ws.close();
|
|
2093
|
-
await waitFor(driverTestConfig,
|
|
2227
|
+
await waitFor(driverTestConfig, _chunkH5TSEPN4cjs.SLEEP_TIMEOUT + 250);
|
|
2094
2228
|
{
|
|
2095
2229
|
const { startCount, sleepCount } = await sleepActor.getCounts();
|
|
2096
2230
|
_vitest.expect.call(void 0, sleepCount).toBe(1);
|
|
@@ -2108,7 +2242,7 @@ function runActorSleepTests(driverTestConfig) {
|
|
|
2108
2242
|
_vitest.expect.call(void 0, sleepCount).toBe(0);
|
|
2109
2243
|
_vitest.expect.call(void 0, startCount).toBe(1);
|
|
2110
2244
|
}
|
|
2111
|
-
const fetchDuration =
|
|
2245
|
+
const fetchDuration = _chunkH5TSEPN4cjs.SLEEP_TIMEOUT + 250;
|
|
2112
2246
|
const fetchPromise = sleepActor.fetch(
|
|
2113
2247
|
`long-request?duration=${fetchDuration}`
|
|
2114
2248
|
);
|
|
@@ -2121,7 +2255,7 @@ function runActorSleepTests(driverTestConfig) {
|
|
|
2121
2255
|
_vitest.expect.call(void 0, startCount).toBe(1);
|
|
2122
2256
|
_vitest.expect.call(void 0, requestCount).toBe(1);
|
|
2123
2257
|
}
|
|
2124
|
-
await waitFor(driverTestConfig,
|
|
2258
|
+
await waitFor(driverTestConfig, _chunkH5TSEPN4cjs.SLEEP_TIMEOUT + 250);
|
|
2125
2259
|
{
|
|
2126
2260
|
const { startCount, sleepCount } = await sleepActor.getCounts();
|
|
2127
2261
|
_vitest.expect.call(void 0, sleepCount).toBe(1);
|
|
@@ -2136,13 +2270,13 @@ function runActorSleepTests(driverTestConfig) {
|
|
|
2136
2270
|
_vitest.expect.call(void 0, sleepCount).toBe(0);
|
|
2137
2271
|
_vitest.expect.call(void 0, startCount).toBe(1);
|
|
2138
2272
|
}
|
|
2139
|
-
await waitFor(driverTestConfig,
|
|
2273
|
+
await waitFor(driverTestConfig, _chunkH5TSEPN4cjs.SLEEP_TIMEOUT + 250);
|
|
2140
2274
|
{
|
|
2141
2275
|
const { startCount, sleepCount } = await sleepActor.getCounts();
|
|
2142
2276
|
_vitest.expect.call(void 0, sleepCount).toBe(0);
|
|
2143
2277
|
_vitest.expect.call(void 0, startCount).toBe(1);
|
|
2144
2278
|
}
|
|
2145
|
-
await waitFor(driverTestConfig,
|
|
2279
|
+
await waitFor(driverTestConfig, _chunkH5TSEPN4cjs.SLEEP_TIMEOUT + 250);
|
|
2146
2280
|
{
|
|
2147
2281
|
const { startCount, sleepCount } = await sleepActor.getCounts();
|
|
2148
2282
|
_vitest.expect.call(void 0, sleepCount).toBe(0);
|
|
@@ -2195,6 +2329,7 @@ function runActorDriverTests(driverTestConfig) {
|
|
|
2195
2329
|
runActorStateTests(driverTestConfig);
|
|
2196
2330
|
runActorScheduleTests(driverTestConfig);
|
|
2197
2331
|
runActorSleepTests(driverTestConfig);
|
|
2332
|
+
runActorLifecycleTests(driverTestConfig);
|
|
2198
2333
|
});
|
|
2199
2334
|
}
|
|
2200
2335
|
|
|
@@ -3270,7 +3405,7 @@ function runActorRunTests(driverTestConfig) {
|
|
|
3270
3405
|
const state1 = await actor.getState();
|
|
3271
3406
|
_vitest.expect.call(void 0, state1.runStarted).toBe(true);
|
|
3272
3407
|
const tickCount1 = state1.tickCount;
|
|
3273
|
-
await waitFor(driverTestConfig,
|
|
3408
|
+
await waitFor(driverTestConfig, _chunkH5TSEPN4cjs.RUN_SLEEP_TIMEOUT + 300);
|
|
3274
3409
|
const state2 = await actor.getState();
|
|
3275
3410
|
_vitest.expect.call(void 0, state2.runStarted).toBe(true);
|
|
3276
3411
|
_vitest.expect.call(void 0, state2.runExited).toBe(false);
|
|
@@ -3283,7 +3418,7 @@ function runActorRunTests(driverTestConfig) {
|
|
|
3283
3418
|
]);
|
|
3284
3419
|
const state = await actor.getState();
|
|
3285
3420
|
_vitest.expect.call(void 0, state.wakeCount).toBe(1);
|
|
3286
|
-
await waitFor(driverTestConfig,
|
|
3421
|
+
await waitFor(driverTestConfig, _chunkH5TSEPN4cjs.RUN_SLEEP_TIMEOUT + 300);
|
|
3287
3422
|
const state2 = await actor.getState();
|
|
3288
3423
|
_vitest.expect.call(void 0, state2.wakeCount).toBe(2);
|
|
3289
3424
|
});
|
|
@@ -3321,7 +3456,7 @@ function runActorRunTests(driverTestConfig) {
|
|
|
3321
3456
|
await waitFor(driverTestConfig, 100);
|
|
3322
3457
|
const state1 = await actor.getState();
|
|
3323
3458
|
_vitest.expect.call(void 0, state1.runStarted).toBe(true);
|
|
3324
|
-
await waitFor(driverTestConfig,
|
|
3459
|
+
await waitFor(driverTestConfig, _chunkH5TSEPN4cjs.RUN_SLEEP_TIMEOUT + 500);
|
|
3325
3460
|
const state2 = await actor.getState();
|
|
3326
3461
|
_vitest.expect.call(void 0, state2.wakeCount).toBeGreaterThan(state1.wakeCount);
|
|
3327
3462
|
});
|
|
@@ -3492,7 +3627,7 @@ function runActorWorkflowTests(driverTestConfig) {
|
|
|
3492
3627
|
_vitest.test.call(void 0, "consumes queue messages via workflow queue.next", async (c) => {
|
|
3493
3628
|
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
3494
3629
|
const actor = client.workflowQueueActor.getOrCreate(["workflow-queue"]);
|
|
3495
|
-
await actor.send(
|
|
3630
|
+
await actor.send(_chunkH5TSEPN4cjs.WORKFLOW_QUEUE_NAME, {
|
|
3496
3631
|
hello: "world"
|
|
3497
3632
|
});
|
|
3498
3633
|
await waitFor(driverTestConfig, 200);
|
|
@@ -4871,6 +5006,7 @@ function runDriverTests(driverTestConfigPartial) {
|
|
|
4871
5006
|
runActorConnTests(driverTestConfig);
|
|
4872
5007
|
runActorConnStateTests(driverTestConfig);
|
|
4873
5008
|
runActorConnHibernationTests(driverTestConfig);
|
|
5009
|
+
runConnErrorSerializationTests(driverTestConfig);
|
|
4874
5010
|
runActorDbTests(driverTestConfig);
|
|
4875
5011
|
runActorDestroyTests(driverTestConfig);
|
|
4876
5012
|
runRequestAccessTests(driverTestConfig);
|
|
@@ -4925,7 +5061,7 @@ async function createTestRuntime(registryPath, driverFactory) {
|
|
|
4925
5061
|
const parsedConfig = registry.parseConfig();
|
|
4926
5062
|
const managerDriver = (_a = driver.manager) == null ? void 0 : _a.call(driver, parsedConfig);
|
|
4927
5063
|
_invariant2.default.call(void 0, managerDriver, "missing manager driver");
|
|
4928
|
-
const { router } =
|
|
5064
|
+
const { router } = _chunk3B6PCYJBcjs.buildManagerRouter.call(void 0,
|
|
4929
5065
|
parsedConfig,
|
|
4930
5066
|
managerDriver,
|
|
4931
5067
|
() => upgradeWebSocket
|
|
@@ -4952,7 +5088,7 @@ async function createTestRuntime(registryPath, driverFactory) {
|
|
|
4952
5088
|
_invariant2.default.call(void 0, address && typeof address !== "string", "missing server address");
|
|
4953
5089
|
const port = address.port;
|
|
4954
5090
|
const serverEndpoint = `http://127.0.0.1:${port}`;
|
|
4955
|
-
|
|
5091
|
+
_chunkH5TSEPN4cjs.logger.call(void 0, ).info({ msg: "test serer listening", port });
|
|
4956
5092
|
const cleanup = async () => {
|
|
4957
5093
|
await new Promise(
|
|
4958
5094
|
(resolve) => server.close(() => resolve(void 0))
|