rivetkit 2.0.19 → 2.0.21
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/tsup/actor/errors.cjs.map +1 -1
- package/dist/tsup/{chunk-UGLCR467.js → chunk-2POQCWMA.js} +481 -100
- package/dist/tsup/chunk-2POQCWMA.js.map +1 -0
- package/dist/tsup/{chunk-GBVUP7IH.js → chunk-3UIGKLZW.js} +6 -6
- package/dist/tsup/chunk-3UIGKLZW.js.map +1 -0
- package/dist/tsup/{chunk-NCVKAD3U.js → chunk-4OINFQBR.js} +3 -3
- package/dist/tsup/{chunk-2N5T57W5.cjs → chunk-65SAIRRY.cjs} +12 -12
- package/dist/tsup/chunk-65SAIRRY.cjs.map +1 -0
- package/dist/tsup/{chunk-SO6CSZPF.js → chunk-6G76WIWL.js} +2 -2
- package/dist/tsup/{chunk-SO6CSZPF.js.map → chunk-6G76WIWL.js.map} +1 -1
- package/dist/tsup/{chunk-UBS2ARYU.js → chunk-D2LS4X6E.js} +11 -5
- package/dist/tsup/chunk-D2LS4X6E.js.map +1 -0
- package/dist/tsup/{chunk-FO4Q36GQ.js → chunk-DYA34FHW.js} +2 -2
- package/dist/tsup/{chunk-7RKGZXDH.cjs → chunk-ELDFBXDV.cjs} +8 -4
- package/dist/tsup/chunk-ELDFBXDV.cjs.map +1 -0
- package/dist/tsup/{chunk-F4PHLUIT.cjs → chunk-FDJ3AVNB.cjs} +32 -26
- package/dist/tsup/chunk-FDJ3AVNB.cjs.map +1 -0
- package/dist/tsup/{chunk-U3PO7PEY.js → chunk-FUX6U6TL.js} +2 -2
- package/dist/tsup/chunk-FUX6U6TL.js.map +1 -0
- package/dist/tsup/{chunk-AYNDGM4A.cjs → chunk-HN7UXCYQ.cjs} +7 -7
- package/dist/tsup/chunk-HN7UXCYQ.cjs.map +1 -0
- package/dist/tsup/{chunk-6MI3RWWC.js → chunk-HUGSRAGL.js} +8 -4
- package/dist/tsup/chunk-HUGSRAGL.js.map +1 -0
- package/dist/tsup/{chunk-7BTAYSZC.cjs → chunk-JKOUXDK6.cjs} +16 -10
- package/dist/tsup/chunk-JKOUXDK6.cjs.map +1 -0
- package/dist/tsup/{chunk-EXP6CQEI.cjs → chunk-JTIBPF7N.cjs} +14 -14
- package/dist/tsup/chunk-JTIBPF7N.cjs.map +1 -0
- package/dist/tsup/chunk-KSRXX3Z4.cjs.map +1 -1
- package/dist/tsup/{chunk-RIK4JNIG.cjs → chunk-LMJHBF26.cjs} +454 -288
- package/dist/tsup/chunk-LMJHBF26.cjs.map +1 -0
- package/dist/tsup/{chunk-DGXMPCNI.cjs → chunk-LWGCMELP.cjs} +3 -3
- package/dist/tsup/chunk-LWGCMELP.cjs.map +1 -0
- package/dist/tsup/{chunk-ZB3DP5IR.cjs → chunk-M5BHNJHB.cjs} +630 -249
- package/dist/tsup/chunk-M5BHNJHB.cjs.map +1 -0
- package/dist/tsup/{chunk-J5PFJTK3.cjs → chunk-O4GUKGK4.cjs} +6 -6
- package/dist/tsup/chunk-O4GUKGK4.cjs.map +1 -0
- package/dist/tsup/{chunk-LWQDW6VP.js → chunk-RZZDFDB6.js} +13 -7
- package/dist/tsup/chunk-RZZDFDB6.js.map +1 -0
- package/dist/tsup/{chunk-DAZ2YBCM.js → chunk-VLR3TDHT.js} +2 -2
- package/dist/tsup/{chunk-DAAQFFK3.js → chunk-Y2QONT7B.js} +262 -96
- package/dist/tsup/chunk-Y2QONT7B.js.map +1 -0
- package/dist/tsup/{chunk-AXQWQIUS.cjs → chunk-ZNWE3XBT.cjs} +3 -3
- package/dist/tsup/chunk-ZNWE3XBT.cjs.map +1 -0
- package/dist/tsup/client/mod.cjs +9 -9
- package/dist/tsup/client/mod.cjs.map +1 -1
- package/dist/tsup/client/mod.d.cts +2 -2
- package/dist/tsup/client/mod.d.ts +2 -2
- package/dist/tsup/client/mod.js +8 -8
- package/dist/tsup/common/log.cjs +3 -3
- package/dist/tsup/common/log.cjs.map +1 -1
- package/dist/tsup/common/log.js +2 -2
- package/dist/tsup/common/websocket.cjs +4 -4
- package/dist/tsup/common/websocket.cjs.map +1 -1
- package/dist/tsup/common/websocket.js +3 -3
- package/dist/tsup/{conn-DAXlyhVg.d.ts → conn-Clu655RU.d.ts} +1 -0
- package/dist/tsup/{conn--6rFdSfD.d.cts → conn-lUvFLo_q.d.cts} +1 -0
- package/dist/tsup/driver-helpers/mod.cjs +5 -5
- package/dist/tsup/driver-helpers/mod.cjs.map +1 -1
- package/dist/tsup/driver-helpers/mod.d.cts +1 -1
- package/dist/tsup/driver-helpers/mod.d.ts +1 -1
- package/dist/tsup/driver-helpers/mod.js +4 -4
- package/dist/tsup/driver-test-suite/mod.cjs +603 -294
- package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
- package/dist/tsup/driver-test-suite/mod.d.cts +1 -1
- package/dist/tsup/driver-test-suite/mod.d.ts +1 -1
- package/dist/tsup/driver-test-suite/mod.js +574 -265
- package/dist/tsup/driver-test-suite/mod.js.map +1 -1
- package/dist/tsup/inspector/mod.cjs +6 -6
- package/dist/tsup/inspector/mod.cjs.map +1 -1
- package/dist/tsup/inspector/mod.d.cts +68 -7
- package/dist/tsup/inspector/mod.d.ts +68 -7
- package/dist/tsup/inspector/mod.js +5 -5
- package/dist/tsup/mod.cjs +10 -10
- package/dist/tsup/mod.cjs.map +1 -1
- package/dist/tsup/mod.d.cts +2 -2
- package/dist/tsup/mod.d.ts +2 -2
- package/dist/tsup/mod.js +9 -9
- package/dist/tsup/test/mod.cjs +11 -11
- package/dist/tsup/test/mod.cjs.map +1 -1
- package/dist/tsup/test/mod.d.cts +1 -1
- package/dist/tsup/test/mod.d.ts +1 -1
- package/dist/tsup/test/mod.js +10 -10
- package/dist/tsup/utils.cjs +2 -2
- package/dist/tsup/utils.cjs.map +1 -1
- package/dist/tsup/utils.js +1 -1
- package/package.json +4 -3
- package/src/actor/config.ts +108 -15
- package/src/actor/conn-drivers.ts +2 -1
- package/src/actor/instance.ts +119 -35
- package/src/actor/keys.test.ts +13 -4
- package/src/actor/protocol/old.ts +10 -3
- package/src/actor/router-endpoints.ts +26 -16
- package/src/actor/router.ts +41 -13
- package/src/actor/unstable-react.ts +1 -1
- package/src/client/actor-common.ts +3 -1
- package/src/client/actor-conn.ts +44 -12
- package/src/client/actor-handle.ts +4 -1
- package/src/client/client.ts +32 -18
- package/src/client/utils.ts +21 -8
- package/src/common/actor-router-consts.ts +2 -0
- package/src/common/inline-websocket-adapter2.ts +24 -6
- package/src/common/log.ts +6 -2
- package/src/common/logfmt.ts +3 -1
- package/src/common/router.ts +3 -1
- package/src/common/utils.ts +6 -2
- package/src/driver-helpers/utils.ts +4 -1
- package/src/driver-test-suite/mod.ts +15 -4
- package/src/driver-test-suite/test-inline-client-driver.ts +35 -13
- package/src/driver-test-suite/tests/action-features.ts +6 -2
- package/src/driver-test-suite/tests/actor-conn-state.ts +18 -8
- package/src/driver-test-suite/tests/actor-conn.ts +35 -13
- package/src/driver-test-suite/tests/actor-handle.ts +35 -15
- package/src/driver-test-suite/tests/actor-inline-client.ts +34 -23
- package/src/driver-test-suite/tests/actor-inspector.ts +241 -131
- package/src/driver-test-suite/tests/actor-reconnect.ts +14 -4
- package/src/driver-test-suite/tests/actor-schedule.ts +12 -3
- package/src/driver-test-suite/tests/actor-sleep.ts +6 -3
- package/src/driver-test-suite/tests/actor-vars.ts +6 -2
- package/src/driver-test-suite/tests/manager-driver.ts +16 -6
- package/src/driver-test-suite/tests/raw-http-request-properties.ts +64 -25
- package/src/driver-test-suite/tests/raw-http.ts +17 -5
- package/src/driver-test-suite/tests/raw-websocket.ts +36 -12
- package/src/driver-test-suite/tests/request-access.ts +18 -8
- package/src/drivers/engine/actor-driver.ts +46 -25
- package/src/drivers/engine/config.ts +2 -1
- package/src/drivers/file-system/global-state.ts +58 -16
- package/src/drivers/file-system/manager.ts +35 -12
- package/src/drivers/file-system/mod.ts +6 -1
- package/src/drivers/file-system/utils.ts +8 -2
- package/src/engine-process/mod.ts +15 -4
- package/src/inspector/actor.ts +63 -23
- package/src/inspector/config.ts +2 -1
- package/src/inspector/manager.ts +10 -3
- package/src/inspector/utils.ts +2 -1
- package/src/manager/driver.ts +4 -1
- package/src/manager/gateway.ts +278 -8
- package/src/manager/hono-websocket-adapter.ts +33 -10
- package/src/manager/router-schema.ts +4 -2
- package/src/manager/router.ts +78 -12
- package/src/manager-api/actors.ts +2 -0
- package/src/registry/mod.ts +31 -9
- package/src/registry/run-config.ts +3 -1
- package/src/remote-manager-driver/api-endpoints.ts +2 -2
- package/src/remote-manager-driver/mod.ts +22 -5
- package/src/remote-manager-driver/ws-proxy.ts +21 -5
- package/src/serde.ts +6 -2
- package/src/test/mod.ts +2 -1
- package/src/utils.ts +6 -2
- package/dist/tsup/chunk-2N5T57W5.cjs.map +0 -1
- package/dist/tsup/chunk-6MI3RWWC.js.map +0 -1
- package/dist/tsup/chunk-7BTAYSZC.cjs.map +0 -1
- package/dist/tsup/chunk-7RKGZXDH.cjs.map +0 -1
- package/dist/tsup/chunk-AXQWQIUS.cjs.map +0 -1
- package/dist/tsup/chunk-AYNDGM4A.cjs.map +0 -1
- package/dist/tsup/chunk-DAAQFFK3.js.map +0 -1
- package/dist/tsup/chunk-DGXMPCNI.cjs.map +0 -1
- package/dist/tsup/chunk-EXP6CQEI.cjs.map +0 -1
- package/dist/tsup/chunk-F4PHLUIT.cjs.map +0 -1
- package/dist/tsup/chunk-GBVUP7IH.js.map +0 -1
- package/dist/tsup/chunk-J5PFJTK3.cjs.map +0 -1
- package/dist/tsup/chunk-LWQDW6VP.js.map +0 -1
- package/dist/tsup/chunk-RIK4JNIG.cjs.map +0 -1
- package/dist/tsup/chunk-U3PO7PEY.js.map +0 -1
- package/dist/tsup/chunk-UBS2ARYU.js.map +0 -1
- package/dist/tsup/chunk-UGLCR467.js.map +0 -1
- package/dist/tsup/chunk-ZB3DP5IR.cjs.map +0 -1
- /package/dist/tsup/{chunk-NCVKAD3U.js.map → chunk-4OINFQBR.js.map} +0 -0
- /package/dist/tsup/{chunk-FO4Q36GQ.js.map → chunk-DYA34FHW.js.map} +0 -0
- /package/dist/tsup/{chunk-DAZ2YBCM.js.map → chunk-VLR3TDHT.js.map} +0 -0
|
@@ -38,7 +38,9 @@ export function runActionFeaturesTests(driverTestConfig: DriverTestConfig) {
|
|
|
38
38
|
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
39
39
|
|
|
40
40
|
// Synchronous action should not be affected by timeout
|
|
41
|
-
const result = await client.syncTimeoutActor
|
|
41
|
+
const result = await client.syncTimeoutActor
|
|
42
|
+
.getOrCreate()
|
|
43
|
+
.syncAction();
|
|
42
44
|
expect(result).toBe("sync response");
|
|
43
45
|
});
|
|
44
46
|
|
|
@@ -105,7 +107,9 @@ export function runActionFeaturesTests(driverTestConfig: DriverTestConfig) {
|
|
|
105
107
|
await instance.asyncWithError(true);
|
|
106
108
|
expect.fail("did not error");
|
|
107
109
|
} catch (error) {
|
|
108
|
-
expect((error as ActorError).message).toBe(
|
|
110
|
+
expect((error as ActorError).message).toBe(
|
|
111
|
+
"Intentional error",
|
|
112
|
+
);
|
|
109
113
|
}
|
|
110
114
|
});
|
|
111
115
|
|
|
@@ -9,7 +9,9 @@ export function runActorConnStateTests(driverTestConfig: DriverTestConfig) {
|
|
|
9
9
|
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
10
10
|
|
|
11
11
|
// Connect to the actor
|
|
12
|
-
const connection = client.connStateActor
|
|
12
|
+
const connection = client.connStateActor
|
|
13
|
+
.getOrCreate()
|
|
14
|
+
.connect();
|
|
13
15
|
|
|
14
16
|
// Get the connection state
|
|
15
17
|
const connState = await connection.getConnectionState();
|
|
@@ -151,9 +153,12 @@ export function runActorConnStateTests(driverTestConfig: DriverTestConfig) {
|
|
|
151
153
|
)("should track connection and disconnection events", async (c) => {
|
|
152
154
|
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
153
155
|
|
|
154
|
-
const debugHandle = client.connStateActor.getOrCreate(
|
|
155
|
-
|
|
156
|
-
|
|
156
|
+
const debugHandle = client.connStateActor.getOrCreate(
|
|
157
|
+
undefined,
|
|
158
|
+
{
|
|
159
|
+
params: { noCount: true },
|
|
160
|
+
},
|
|
161
|
+
);
|
|
157
162
|
|
|
158
163
|
// Create a connection
|
|
159
164
|
const conn = client.connStateActor.getOrCreate().connect();
|
|
@@ -169,7 +174,8 @@ export function runActorConnStateTests(driverTestConfig: DriverTestConfig) {
|
|
|
169
174
|
|
|
170
175
|
// Initial disconnection count
|
|
171
176
|
await vi.waitFor(async () => {
|
|
172
|
-
const disconnects =
|
|
177
|
+
const disconnects =
|
|
178
|
+
await debugHandle.getDisconnectionCount();
|
|
173
179
|
expect(disconnects).toBe(0);
|
|
174
180
|
});
|
|
175
181
|
|
|
@@ -180,7 +186,8 @@ export function runActorConnStateTests(driverTestConfig: DriverTestConfig) {
|
|
|
180
186
|
await vi.waitFor(
|
|
181
187
|
async () => {
|
|
182
188
|
console.log("disconnects before");
|
|
183
|
-
const disconnects =
|
|
189
|
+
const disconnects =
|
|
190
|
+
await debugHandle.getDisconnectionCount();
|
|
184
191
|
console.log("disconnects", disconnects);
|
|
185
192
|
expect(disconnects).toBe(1);
|
|
186
193
|
},
|
|
@@ -208,7 +215,8 @@ export function runActorConnStateTests(driverTestConfig: DriverTestConfig) {
|
|
|
208
215
|
await vi.waitFor(
|
|
209
216
|
async () => {
|
|
210
217
|
console.log("A");
|
|
211
|
-
const disconnects =
|
|
218
|
+
const disconnects =
|
|
219
|
+
await debugHandle.getDisconnectionCount();
|
|
212
220
|
console.log(`B ${disconnects}`);
|
|
213
221
|
expect(disconnects).toBe(2);
|
|
214
222
|
},
|
|
@@ -281,7 +289,9 @@ export function runActorConnStateTests(driverTestConfig: DriverTestConfig) {
|
|
|
281
289
|
// Verify message was received
|
|
282
290
|
expect(receivedMessages.length).toBe(1);
|
|
283
291
|
expect(receivedMessages[0].from).toBe(state1.id);
|
|
284
|
-
expect(receivedMessages[0].message).toBe(
|
|
292
|
+
expect(receivedMessages[0].message).toBe(
|
|
293
|
+
"Hello from conn1",
|
|
294
|
+
);
|
|
285
295
|
});
|
|
286
296
|
|
|
287
297
|
// Clean up
|
|
@@ -48,7 +48,9 @@ export function runActorConnTests(driverTestConfig: DriverTestConfig) {
|
|
|
48
48
|
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
49
49
|
|
|
50
50
|
// Get or create actor and connect
|
|
51
|
-
const handle = client.counter.getOrCreate([
|
|
51
|
+
const handle = client.counter.getOrCreate([
|
|
52
|
+
"test-get-or-create",
|
|
53
|
+
]);
|
|
52
54
|
const connection = handle.connect();
|
|
53
55
|
|
|
54
56
|
// Verify connection works
|
|
@@ -80,7 +82,9 @@ export function runActorConnTests(driverTestConfig: DriverTestConfig) {
|
|
|
80
82
|
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
81
83
|
|
|
82
84
|
// Create actor
|
|
83
|
-
const handle = client.counter.getOrCreate([
|
|
85
|
+
const handle = client.counter.getOrCreate([
|
|
86
|
+
"test-mixed-rpc-ws",
|
|
87
|
+
]);
|
|
84
88
|
const connection = handle.connect();
|
|
85
89
|
|
|
86
90
|
// Set up event listener
|
|
@@ -176,9 +180,12 @@ export function runActorConnTests(driverTestConfig: DriverTestConfig) {
|
|
|
176
180
|
|
|
177
181
|
// Set up event listener with unsubscribe
|
|
178
182
|
const receivedEvents: number[] = [];
|
|
179
|
-
const unsubscribe = connection.on(
|
|
180
|
-
|
|
181
|
-
|
|
183
|
+
const unsubscribe = connection.on(
|
|
184
|
+
"newCount",
|
|
185
|
+
(count: number) => {
|
|
186
|
+
receivedEvents.push(count);
|
|
187
|
+
},
|
|
188
|
+
);
|
|
182
189
|
|
|
183
190
|
// TODO: SSE has race condition with subscriptions & publishing messages
|
|
184
191
|
// Trigger first event
|
|
@@ -206,12 +213,18 @@ export function runActorConnTests(driverTestConfig: DriverTestConfig) {
|
|
|
206
213
|
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
207
214
|
|
|
208
215
|
// Create two connections with different params
|
|
209
|
-
const handle1 = client.counterWithParams.getOrCreate(
|
|
210
|
-
params
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
216
|
+
const handle1 = client.counterWithParams.getOrCreate(
|
|
217
|
+
["test-params"],
|
|
218
|
+
{
|
|
219
|
+
params: { name: "user1" },
|
|
220
|
+
},
|
|
221
|
+
);
|
|
222
|
+
const handle2 = client.counterWithParams.getOrCreate(
|
|
223
|
+
["test-params"],
|
|
224
|
+
{
|
|
225
|
+
params: { name: "user2" },
|
|
226
|
+
},
|
|
227
|
+
);
|
|
215
228
|
|
|
216
229
|
const conn1 = handle1.connect();
|
|
217
230
|
const conn2 = handle2.connect();
|
|
@@ -251,7 +264,11 @@ export function runActorConnTests(driverTestConfig: DriverTestConfig) {
|
|
|
251
264
|
|
|
252
265
|
// Verify lifecycle events were triggered
|
|
253
266
|
const events = await connection.getEvents();
|
|
254
|
-
expect(events).toEqual([
|
|
267
|
+
expect(events).toEqual([
|
|
268
|
+
"onStart",
|
|
269
|
+
"onBeforeConnect",
|
|
270
|
+
"onConnect",
|
|
271
|
+
]);
|
|
255
272
|
|
|
256
273
|
// Disconnect should trigger onDisconnect
|
|
257
274
|
await connection.dispose();
|
|
@@ -265,7 +282,12 @@ export function runActorConnTests(driverTestConfig: DriverTestConfig) {
|
|
|
265
282
|
const finalEvents = await handle.getEvents();
|
|
266
283
|
expect(finalEvents).toBeOneOf([
|
|
267
284
|
// Still active
|
|
268
|
-
[
|
|
285
|
+
[
|
|
286
|
+
"onStart",
|
|
287
|
+
"onBeforeConnect",
|
|
288
|
+
"onConnect",
|
|
289
|
+
"onDisconnect",
|
|
290
|
+
],
|
|
269
291
|
// Went to sleep and woke back up
|
|
270
292
|
[
|
|
271
293
|
"onStart",
|
|
@@ -27,7 +27,9 @@ export function runActorHandleTests(driverTestConfig: DriverTestConfig) {
|
|
|
27
27
|
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
28
28
|
|
|
29
29
|
// Create a actor first to get its ID
|
|
30
|
-
const handle = client.counter.getOrCreate([
|
|
30
|
+
const handle = client.counter.getOrCreate([
|
|
31
|
+
"test-get-for-id-handle",
|
|
32
|
+
]);
|
|
31
33
|
await handle.increment(3);
|
|
32
34
|
const actorId = await handle.resolve();
|
|
33
35
|
|
|
@@ -66,7 +68,9 @@ export function runActorHandleTests(driverTestConfig: DriverTestConfig) {
|
|
|
66
68
|
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
67
69
|
|
|
68
70
|
// Create actor and get handle
|
|
69
|
-
const handle = await client.counter.create([
|
|
71
|
+
const handle = await client.counter.create([
|
|
72
|
+
"test-create-handle",
|
|
73
|
+
]);
|
|
70
74
|
|
|
71
75
|
// Verify Action works
|
|
72
76
|
const count = await handle.increment(9);
|
|
@@ -101,7 +105,9 @@ export function runActorHandleTests(driverTestConfig: DriverTestConfig) {
|
|
|
101
105
|
|
|
102
106
|
try {
|
|
103
107
|
await client.counter.get([missingId]).resolve();
|
|
104
|
-
expect.fail(
|
|
108
|
+
expect.fail(
|
|
109
|
+
"did not error for get().resolve() on missing actor",
|
|
110
|
+
);
|
|
105
111
|
} catch (err) {
|
|
106
112
|
expect((err as ActorError).group).toBe("actor");
|
|
107
113
|
expect((err as ActorError).code).toBe("not_found");
|
|
@@ -113,7 +119,9 @@ export function runActorHandleTests(driverTestConfig: DriverTestConfig) {
|
|
|
113
119
|
test("should call actions directly on the handle", async (c) => {
|
|
114
120
|
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
115
121
|
|
|
116
|
-
const handle = client.counter.getOrCreate([
|
|
122
|
+
const handle = client.counter.getOrCreate([
|
|
123
|
+
"test-action-handle",
|
|
124
|
+
]);
|
|
117
125
|
|
|
118
126
|
// Call multiple actions in sequence
|
|
119
127
|
const count1 = await handle.increment(3);
|
|
@@ -130,7 +138,9 @@ export function runActorHandleTests(driverTestConfig: DriverTestConfig) {
|
|
|
130
138
|
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
131
139
|
|
|
132
140
|
// Create two handles to the same actor
|
|
133
|
-
const handle1 = client.counter.getOrCreate([
|
|
141
|
+
const handle1 = client.counter.getOrCreate([
|
|
142
|
+
"test-multiple-handles",
|
|
143
|
+
]);
|
|
134
144
|
const handle2 = client.counter.get(["test-multiple-handles"]);
|
|
135
145
|
|
|
136
146
|
// Call actions on both handles
|
|
@@ -228,13 +238,15 @@ export function runActorHandleTests(driverTestConfig: DriverTestConfig) {
|
|
|
228
238
|
|
|
229
239
|
// Each should have count 1
|
|
230
240
|
expect(
|
|
231
|
-
eventsAfterAction.filter((e) => e === "onBeforeConnect")
|
|
241
|
+
eventsAfterAction.filter((e) => e === "onBeforeConnect")
|
|
242
|
+
.length,
|
|
243
|
+
).toBe(1);
|
|
244
|
+
expect(
|
|
245
|
+
eventsAfterAction.filter((e) => e === "onConnect").length,
|
|
232
246
|
).toBe(1);
|
|
233
|
-
expect(eventsAfterAction.filter((e) => e === "onConnect").length).toBe(
|
|
234
|
-
1,
|
|
235
|
-
);
|
|
236
247
|
expect(
|
|
237
|
-
eventsAfterAction.filter((e) => e === "onDisconnect")
|
|
248
|
+
eventsAfterAction.filter((e) => e === "onDisconnect")
|
|
249
|
+
.length,
|
|
238
250
|
).toBe(1);
|
|
239
251
|
|
|
240
252
|
// Make another Action call
|
|
@@ -245,13 +257,17 @@ export function runActorHandleTests(driverTestConfig: DriverTestConfig) {
|
|
|
245
257
|
|
|
246
258
|
// Each hook should now have count 2
|
|
247
259
|
expect(
|
|
248
|
-
eventsAfterSecondAction.filter(
|
|
260
|
+
eventsAfterSecondAction.filter(
|
|
261
|
+
(e) => e === "onBeforeConnect",
|
|
262
|
+
).length,
|
|
249
263
|
).toBe(2);
|
|
250
264
|
expect(
|
|
251
|
-
eventsAfterSecondAction.filter((e) => e === "onConnect")
|
|
265
|
+
eventsAfterSecondAction.filter((e) => e === "onConnect")
|
|
266
|
+
.length,
|
|
252
267
|
).toBe(2);
|
|
253
268
|
expect(
|
|
254
|
-
eventsAfterSecondAction.filter((e) => e === "onDisconnect")
|
|
269
|
+
eventsAfterSecondAction.filter((e) => e === "onDisconnect")
|
|
270
|
+
.length,
|
|
255
271
|
).toBe(2);
|
|
256
272
|
});
|
|
257
273
|
|
|
@@ -283,9 +299,13 @@ export function runActorHandleTests(driverTestConfig: DriverTestConfig) {
|
|
|
283
299
|
|
|
284
300
|
// Should have 1 onStart, 2 each of onBeforeConnect, onConnect, and onDisconnect
|
|
285
301
|
expect(events.filter((e) => e === "onStart").length).toBe(1);
|
|
286
|
-
expect(
|
|
302
|
+
expect(
|
|
303
|
+
events.filter((e) => e === "onBeforeConnect").length,
|
|
304
|
+
).toBe(2);
|
|
287
305
|
expect(events.filter((e) => e === "onConnect").length).toBe(2);
|
|
288
|
-
expect(events.filter((e) => e === "onDisconnect").length).toBe(
|
|
306
|
+
expect(events.filter((e) => e === "onDisconnect").length).toBe(
|
|
307
|
+
2,
|
|
308
|
+
);
|
|
289
309
|
});
|
|
290
310
|
});
|
|
291
311
|
});
|
|
@@ -9,9 +9,9 @@ export function runActorInlineClientTests(driverTestConfig: DriverTestConfig) {
|
|
|
9
9
|
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
10
10
|
|
|
11
11
|
// Create the inline client actor
|
|
12
|
-
const inlineClientHandle = client.inlineClientActor.getOrCreate(
|
|
13
|
-
"inline-client-test",
|
|
14
|
-
|
|
12
|
+
const inlineClientHandle = client.inlineClientActor.getOrCreate(
|
|
13
|
+
["inline-client-test"],
|
|
14
|
+
);
|
|
15
15
|
|
|
16
16
|
// Test calling counter.increment via inline client
|
|
17
17
|
const result = await inlineClientHandle.callCounterIncrement(5);
|
|
@@ -24,7 +24,9 @@ export function runActorInlineClientTests(driverTestConfig: DriverTestConfig) {
|
|
|
24
24
|
// Check that messages were logged
|
|
25
25
|
const messages = await inlineClientHandle.getMessages();
|
|
26
26
|
expect(messages).toHaveLength(2);
|
|
27
|
-
expect(messages[0]).toContain(
|
|
27
|
+
expect(messages[0]).toContain(
|
|
28
|
+
"Called counter.increment(5), result: 5",
|
|
29
|
+
);
|
|
28
30
|
expect(messages[1]).toContain("Got counter state: 5");
|
|
29
31
|
});
|
|
30
32
|
|
|
@@ -32,16 +34,18 @@ export function runActorInlineClientTests(driverTestConfig: DriverTestConfig) {
|
|
|
32
34
|
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
33
35
|
|
|
34
36
|
// Create the inline client actor
|
|
35
|
-
const inlineClientHandle = client.inlineClientActor.getOrCreate(
|
|
36
|
-
"inline-client-multi",
|
|
37
|
-
|
|
37
|
+
const inlineClientHandle = client.inlineClientActor.getOrCreate(
|
|
38
|
+
["inline-client-multi"],
|
|
39
|
+
);
|
|
38
40
|
|
|
39
41
|
// Clear any existing messages
|
|
40
42
|
await inlineClientHandle.clearMessages();
|
|
41
43
|
|
|
42
44
|
// Make multiple calls
|
|
43
|
-
const result1 =
|
|
44
|
-
|
|
45
|
+
const result1 =
|
|
46
|
+
await inlineClientHandle.callCounterIncrement(3);
|
|
47
|
+
const result2 =
|
|
48
|
+
await inlineClientHandle.callCounterIncrement(7);
|
|
45
49
|
const finalState = await inlineClientHandle.getCounterState();
|
|
46
50
|
|
|
47
51
|
expect(result1).toBe(3);
|
|
@@ -51,7 +55,9 @@ export function runActorInlineClientTests(driverTestConfig: DriverTestConfig) {
|
|
|
51
55
|
// Check messages
|
|
52
56
|
const messages = await inlineClientHandle.getMessages();
|
|
53
57
|
expect(messages).toHaveLength(3);
|
|
54
|
-
expect(messages[0]).toContain(
|
|
58
|
+
expect(messages[0]).toContain(
|
|
59
|
+
"Called counter.increment(3), result: 3",
|
|
60
|
+
);
|
|
55
61
|
expect(messages[1]).toContain(
|
|
56
62
|
"Called counter.increment(7), result: 10",
|
|
57
63
|
);
|
|
@@ -64,15 +70,16 @@ export function runActorInlineClientTests(driverTestConfig: DriverTestConfig) {
|
|
|
64
70
|
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
65
71
|
|
|
66
72
|
// Create the inline client actor
|
|
67
|
-
const inlineClientHandle = client.inlineClientActor.getOrCreate(
|
|
68
|
-
"inline-client-stateful",
|
|
69
|
-
|
|
73
|
+
const inlineClientHandle = client.inlineClientActor.getOrCreate(
|
|
74
|
+
["inline-client-stateful"],
|
|
75
|
+
);
|
|
70
76
|
|
|
71
77
|
// Clear any existing messages
|
|
72
78
|
await inlineClientHandle.clearMessages();
|
|
73
79
|
|
|
74
80
|
// Test stateful connection with events
|
|
75
|
-
const result =
|
|
81
|
+
const result =
|
|
82
|
+
await inlineClientHandle.connectToCounterAndIncrement(4);
|
|
76
83
|
|
|
77
84
|
expect(result.result1).toBe(4);
|
|
78
85
|
expect(result.result2).toBe(12); // 4 + 8
|
|
@@ -92,15 +99,16 @@ export function runActorInlineClientTests(driverTestConfig: DriverTestConfig) {
|
|
|
92
99
|
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
93
100
|
|
|
94
101
|
// Create the inline client actor
|
|
95
|
-
const inlineClientHandle = client.inlineClientActor.getOrCreate(
|
|
96
|
-
"inline-client-independent",
|
|
97
|
-
|
|
102
|
+
const inlineClientHandle = client.inlineClientActor.getOrCreate(
|
|
103
|
+
["inline-client-independent"],
|
|
104
|
+
);
|
|
98
105
|
|
|
99
106
|
// Clear any existing messages
|
|
100
107
|
await inlineClientHandle.clearMessages();
|
|
101
108
|
|
|
102
109
|
// Test with different increment values
|
|
103
|
-
const result =
|
|
110
|
+
const result =
|
|
111
|
+
await inlineClientHandle.connectToCounterAndIncrement(2);
|
|
104
112
|
|
|
105
113
|
expect(result.result1).toBe(2);
|
|
106
114
|
expect(result.result2).toBe(6); // 2 + 4
|
|
@@ -120,16 +128,17 @@ export function runActorInlineClientTests(driverTestConfig: DriverTestConfig) {
|
|
|
120
128
|
const { client } = await setupDriverTest(c, driverTestConfig);
|
|
121
129
|
|
|
122
130
|
// Create the inline client actor
|
|
123
|
-
const inlineClientHandle = client.inlineClientActor.getOrCreate(
|
|
124
|
-
"inline-client-mixed",
|
|
125
|
-
|
|
131
|
+
const inlineClientHandle = client.inlineClientActor.getOrCreate(
|
|
132
|
+
["inline-client-mixed"],
|
|
133
|
+
);
|
|
126
134
|
|
|
127
135
|
// Clear any existing messages
|
|
128
136
|
await inlineClientHandle.clearMessages();
|
|
129
137
|
|
|
130
138
|
// Start with stateless calls
|
|
131
139
|
await inlineClientHandle.callCounterIncrement(1);
|
|
132
|
-
const statelessResult =
|
|
140
|
+
const statelessResult =
|
|
141
|
+
await inlineClientHandle.getCounterState();
|
|
133
142
|
expect(statelessResult).toBe(1);
|
|
134
143
|
|
|
135
144
|
// Then do stateful call
|
|
@@ -141,7 +150,9 @@ export function runActorInlineClientTests(driverTestConfig: DriverTestConfig) {
|
|
|
141
150
|
// Check all messages were logged
|
|
142
151
|
const messages = await inlineClientHandle.getMessages();
|
|
143
152
|
expect(messages).toHaveLength(3);
|
|
144
|
-
expect(messages[0]).toContain(
|
|
153
|
+
expect(messages[0]).toContain(
|
|
154
|
+
"Called counter.increment(1), result: 1",
|
|
155
|
+
);
|
|
145
156
|
expect(messages[1]).toContain("Got counter state: 1");
|
|
146
157
|
expect(messages[2]).toContain(
|
|
147
158
|
"Connected to counter, incremented by 3 and 6",
|