@dxos/rpc 2.33.9-dev.5c79ab43 → 2.33.9-dev.6efa8ddf

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.
@@ -10,16 +10,20 @@ const codec_protobuf_1 = require("@dxos/codec-protobuf");
10
10
  const errors_1 = require("./errors");
11
11
  const rpc_1 = require("./rpc");
12
12
  const testutil_1 = require("./testutil");
13
+ const createPayload = (value = '') => ({
14
+ type_url: '',
15
+ value: Buffer.from(value)
16
+ });
13
17
  describe('RpcPeer', () => {
14
18
  describe('handshake', () => {
15
19
  (0, mocha_1.it)('can open', async () => {
16
20
  const [alicePort, bobPort] = (0, testutil_1.createLinkedPorts)();
17
21
  const alice = new rpc_1.RpcPeer({
18
- messageHandler: async (msg) => ({}),
22
+ messageHandler: async (msg) => createPayload(),
19
23
  port: alicePort
20
24
  });
21
25
  const bob = new rpc_1.RpcPeer({
22
- messageHandler: async (msg) => ({}),
26
+ messageHandler: async (msg) => createPayload(),
23
27
  port: bobPort
24
28
  });
25
29
  await Promise.all([
@@ -30,11 +34,11 @@ describe('RpcPeer', () => {
30
34
  (0, mocha_1.it)('open waits for the other peer to call open', async () => {
31
35
  const [alicePort, bobPort] = (0, testutil_1.createLinkedPorts)();
32
36
  const alice = new rpc_1.RpcPeer({
33
- messageHandler: async (msg) => ({}),
37
+ messageHandler: async (msg) => createPayload(),
34
38
  port: alicePort
35
39
  });
36
40
  const bob = new rpc_1.RpcPeer({
37
- messageHandler: async (msg) => ({}),
41
+ messageHandler: async (msg) => createPayload(),
38
42
  port: bobPort
39
43
  });
40
44
  let aliceOpen = false;
@@ -51,13 +55,13 @@ describe('RpcPeer', () => {
51
55
  (0, mocha_1.it)('one peer can open before the other is created', async () => {
52
56
  const [alicePort, bobPort] = (0, testutil_1.createLinkedPorts)();
53
57
  const alice = new rpc_1.RpcPeer({
54
- messageHandler: async (msg) => ({}),
58
+ messageHandler: async (msg) => createPayload(),
55
59
  port: alicePort
56
60
  });
57
61
  const aliceOpen = alice.open();
58
62
  await (0, async_1.sleep)(5);
59
63
  const bob = new rpc_1.RpcPeer({
60
- messageHandler: async (msg) => ({}),
64
+ messageHandler: async (msg) => createPayload(),
61
65
  port: bobPort
62
66
  });
63
67
  await Promise.all([
@@ -69,7 +73,7 @@ describe('RpcPeer', () => {
69
73
  const [alicePort, bobPort] = (0, testutil_1.createLinkedPorts)();
70
74
  let portOpen = false;
71
75
  const alice = new rpc_1.RpcPeer({
72
- messageHandler: async (msg) => ({}),
76
+ messageHandler: async (msg) => createPayload(),
73
77
  port: {
74
78
  send: msg => {
75
79
  portOpen && alicePort.send(msg);
@@ -78,7 +82,7 @@ describe('RpcPeer', () => {
78
82
  }
79
83
  });
80
84
  const bob = new rpc_1.RpcPeer({
81
- messageHandler: async (msg) => ({}),
85
+ messageHandler: async (msg) => createPayload(),
82
86
  port: {
83
87
  send: msg => {
84
88
  portOpen && bobPort.send(msg);
@@ -97,14 +101,14 @@ describe('RpcPeer', () => {
97
101
  (0, mocha_1.it)('open hangs on half-open streams', async () => {
98
102
  const [alicePort, bobPort] = (0, testutil_1.createLinkedPorts)();
99
103
  const alice = new rpc_1.RpcPeer({
100
- messageHandler: async (msg) => ({}),
104
+ messageHandler: async (msg) => createPayload(),
101
105
  port: {
102
106
  send: msg => { },
103
107
  subscribe: alicePort.subscribe
104
108
  }
105
109
  });
106
110
  const bob = new rpc_1.RpcPeer({
107
- messageHandler: async (msg) => ({}),
111
+ messageHandler: async (msg) => createPayload(),
108
112
  port: bobPort
109
113
  });
110
114
  let open = false;
@@ -127,20 +131,20 @@ describe('RpcPeer', () => {
127
131
  messageHandler: async (method, msg) => {
128
132
  (0, earljs_1.expect)(method).toEqual('method');
129
133
  (0, earljs_1.expect)(msg.value).toEqual(Buffer.from('request'));
130
- return { value: Buffer.from('response') };
134
+ return createPayload('response');
131
135
  },
132
136
  port: alicePort
133
137
  });
134
138
  const bob = new rpc_1.RpcPeer({
135
- messageHandler: async (method, msg) => ({}),
139
+ messageHandler: async (method, msg) => createPayload(),
136
140
  port: bobPort
137
141
  });
138
142
  await Promise.all([
139
143
  alice.open(),
140
144
  bob.open()
141
145
  ]);
142
- const response = await bob.call('method', { value: Buffer.from('request') });
143
- (0, earljs_1.expect)(response).toEqual({ value: Buffer.from('response') });
146
+ const response = await bob.call('method', createPayload('request'));
147
+ (0, earljs_1.expect)(response).toEqual(createPayload('response'));
144
148
  });
145
149
  (0, mocha_1.it)('can send multiple requests', async () => {
146
150
  const [alicePort, bobPort] = (0, testutil_1.createLinkedPorts)();
@@ -157,19 +161,19 @@ describe('RpcPeer', () => {
157
161
  port: alicePort
158
162
  });
159
163
  const bob = new rpc_1.RpcPeer({
160
- messageHandler: async (msg) => ({}),
164
+ messageHandler: async (msg) => createPayload(),
161
165
  port: bobPort
162
166
  });
163
167
  await Promise.all([
164
168
  alice.open(),
165
169
  bob.open()
166
170
  ]);
167
- (0, earljs_1.expect)((await bob.call('method', { value: Buffer.from('request') })).value).toEqual(Buffer.from('request'));
168
- const parallel1 = bob.call('method', { value: Buffer.from('p1') });
169
- const parallel2 = bob.call('method', { value: Buffer.from('p2') });
170
- const error = bob.call('method', { value: Buffer.from('error') });
171
- await (0, earljs_1.expect)(await parallel1).toEqual({ value: Buffer.from('p1') });
172
- await (0, earljs_1.expect)(await parallel2).toEqual({ value: Buffer.from('p2') });
171
+ (0, earljs_1.expect)((await bob.call('method', createPayload('request'))).value).toEqual(Buffer.from('request'));
172
+ const parallel1 = bob.call('method', createPayload('p1'));
173
+ const parallel2 = bob.call('method', createPayload('p2'));
174
+ const error = bob.call('method', createPayload('error'));
175
+ await (0, earljs_1.expect)(await parallel1).toEqual(createPayload('p1'));
176
+ await (0, earljs_1.expect)(await parallel2).toEqual(createPayload('p2'));
173
177
  await (0, earljs_1.expect)(error).toBeRejected();
174
178
  });
175
179
  (0, mocha_1.it)('errors get serialized', async () => {
@@ -186,7 +190,7 @@ describe('RpcPeer', () => {
186
190
  port: alicePort
187
191
  });
188
192
  const bob = new rpc_1.RpcPeer({
189
- messageHandler: async (msg) => ({}),
193
+ messageHandler: async (msg) => createPayload(),
190
194
  port: bobPort
191
195
  });
192
196
  await Promise.all([
@@ -195,7 +199,7 @@ describe('RpcPeer', () => {
195
199
  ]);
196
200
  let error;
197
201
  try {
198
- await bob.call('RpcMethodName', { value: Buffer.from('request') });
202
+ await bob.call('RpcMethodName', createPayload('request'));
199
203
  }
200
204
  catch (err) {
201
205
  error = err;
@@ -216,14 +220,14 @@ describe('RpcPeer', () => {
216
220
  port: alicePort
217
221
  });
218
222
  const bob = new rpc_1.RpcPeer({
219
- messageHandler: async (msg) => ({}),
223
+ messageHandler: async (msg) => createPayload(),
220
224
  port: bobPort
221
225
  });
222
226
  await Promise.all([
223
227
  alice.open(),
224
228
  bob.open()
225
229
  ]);
226
- const req = bob.call('method', { value: Buffer.from('request') });
230
+ const req = bob.call('method', createPayload('request'));
227
231
  bob.close();
228
232
  await (0, earljs_1.expect)(req).toBeRejected();
229
233
  });
@@ -238,7 +242,7 @@ describe('RpcPeer', () => {
238
242
  port: alicePort
239
243
  });
240
244
  const bob = new rpc_1.RpcPeer({
241
- messageHandler: async (msg) => ({}),
245
+ messageHandler: async (msg) => createPayload(),
242
246
  port: bobPort,
243
247
  timeout: 50
244
248
  });
@@ -247,7 +251,29 @@ describe('RpcPeer', () => {
247
251
  bob.open()
248
252
  ]);
249
253
  alice.close();
250
- const req = bob.call('method', { value: Buffer.from('request') });
254
+ const req = bob.call('method', createPayload('request'));
255
+ await (0, earljs_1.expect)(req).toBeRejected();
256
+ });
257
+ (0, mocha_1.it)('requests failing on timeout', async () => {
258
+ const [alicePort, bobPort] = (0, testutil_1.createLinkedPorts)();
259
+ const alice = new rpc_1.RpcPeer({
260
+ messageHandler: async (method, msg) => {
261
+ (0, earljs_1.expect)(method).toEqual('method');
262
+ await (0, async_1.sleep)(50);
263
+ return msg;
264
+ },
265
+ port: alicePort
266
+ });
267
+ const bob = new rpc_1.RpcPeer({
268
+ messageHandler: async (msg) => createPayload(),
269
+ port: bobPort,
270
+ timeout: 10
271
+ });
272
+ await Promise.all([
273
+ alice.open(),
274
+ bob.open()
275
+ ]);
276
+ const req = bob.call('method', createPayload('request'));
251
277
  await (0, earljs_1.expect)(req).toBeRejected();
252
278
  });
253
279
  });
@@ -255,38 +281,38 @@ describe('RpcPeer', () => {
255
281
  (0, mocha_1.it)('can transport multiple messages', async () => {
256
282
  const [alicePort, bobPort] = (0, testutil_1.createLinkedPorts)();
257
283
  const alice = new rpc_1.RpcPeer({
258
- messageHandler: async (msg) => ({}),
284
+ messageHandler: async (msg) => createPayload(),
259
285
  streamHandler: (method, msg) => {
260
286
  (0, earljs_1.expect)(method).toEqual('method');
261
287
  (0, earljs_1.expect)(msg.value).toEqual(Buffer.from('request'));
262
288
  return new codec_protobuf_1.Stream(({ next, close }) => {
263
- next({ value: Buffer.from('res1') });
264
- next({ value: Buffer.from('res2') });
289
+ next(createPayload('res1'));
290
+ next(createPayload('res2'));
265
291
  close();
266
292
  });
267
293
  },
268
294
  port: alicePort
269
295
  });
270
296
  const bob = new rpc_1.RpcPeer({
271
- messageHandler: async (msg) => ({}),
297
+ messageHandler: async (msg) => createPayload(),
272
298
  port: bobPort
273
299
  });
274
300
  await Promise.all([
275
301
  alice.open(),
276
302
  bob.open()
277
303
  ]);
278
- const stream = await bob.callStream('method', { value: Buffer.from('request') });
304
+ const stream = await bob.callStream('method', createPayload('request'));
279
305
  (0, earljs_1.expect)(stream).toBeA(codec_protobuf_1.Stream);
280
306
  (0, earljs_1.expect)(await codec_protobuf_1.Stream.consume(stream)).toEqual([
281
- { data: { value: Buffer.from('res1') } },
282
- { data: { value: Buffer.from('res2') } },
307
+ { data: createPayload('res1') },
308
+ { data: createPayload('res2') },
283
309
  { closed: true }
284
310
  ]);
285
311
  });
286
312
  (0, mocha_1.it)('server closes with an error', async () => {
287
313
  const [alicePort, bobPort] = (0, testutil_1.createLinkedPorts)();
288
314
  const alice = new rpc_1.RpcPeer({
289
- messageHandler: async (msg) => ({}),
315
+ messageHandler: async (msg) => createPayload(),
290
316
  streamHandler: (method, msg) => {
291
317
  (0, earljs_1.expect)(method).toEqual('method');
292
318
  (0, earljs_1.expect)(msg.value).toEqual(Buffer.from('request'));
@@ -297,14 +323,14 @@ describe('RpcPeer', () => {
297
323
  port: alicePort
298
324
  });
299
325
  const bob = new rpc_1.RpcPeer({
300
- messageHandler: async (msg) => ({}),
326
+ messageHandler: async (msg) => createPayload(),
301
327
  port: bobPort
302
328
  });
303
329
  await Promise.all([
304
330
  alice.open(),
305
331
  bob.open()
306
332
  ]);
307
- const stream = await bob.callStream('method', { value: Buffer.from('request') });
333
+ const stream = await bob.callStream('method', createPayload('request'));
308
334
  (0, earljs_1.expect)(stream).toBeA(codec_protobuf_1.Stream);
309
335
  const msgs = await codec_protobuf_1.Stream.consume(stream);
310
336
  (0, earljs_1.expect)(msgs).toEqual([
@@ -316,21 +342,21 @@ describe('RpcPeer', () => {
316
342
  const [alicePort, bobPort] = (0, testutil_1.createLinkedPorts)();
317
343
  let closeCalled = false;
318
344
  const alice = new rpc_1.RpcPeer({
319
- messageHandler: async (msg) => ({}),
345
+ messageHandler: async (msg) => createPayload(),
320
346
  streamHandler: (method, msg) => new codec_protobuf_1.Stream(({ next, close }) => () => {
321
347
  closeCalled = true;
322
348
  }),
323
349
  port: alicePort
324
350
  });
325
351
  const bob = new rpc_1.RpcPeer({
326
- messageHandler: async (msg) => ({}),
352
+ messageHandler: async (msg) => createPayload(),
327
353
  port: bobPort
328
354
  });
329
355
  await Promise.all([
330
356
  alice.open(),
331
357
  bob.open()
332
358
  ]);
333
- const stream = bob.callStream('method', { value: Buffer.from('request') });
359
+ const stream = bob.callStream('method', createPayload('request'));
334
360
  stream.close();
335
361
  await (0, async_1.sleep)(1);
336
362
  (0, earljs_1.expect)(closeCalled).toEqual(true);
@@ -340,7 +366,7 @@ describe('RpcPeer', () => {
340
366
  (0, mocha_1.it)('opens immediately', async () => {
341
367
  const [alicePort] = (0, testutil_1.createLinkedPorts)();
342
368
  const alice = new rpc_1.RpcPeer({
343
- messageHandler: async (msg) => ({}),
369
+ messageHandler: async (msg) => createPayload(),
344
370
  port: alicePort,
345
371
  noHandshake: true
346
372
  });
@@ -352,20 +378,20 @@ describe('RpcPeer', () => {
352
378
  messageHandler: async (method, msg) => {
353
379
  (0, earljs_1.expect)(method).toEqual('method');
354
380
  (0, earljs_1.expect)(msg.value).toEqual(Buffer.from('request'));
355
- return { value: Buffer.from('response') };
381
+ return createPayload('response');
356
382
  },
357
383
  port: alicePort,
358
384
  noHandshake: true
359
385
  });
360
386
  const bob = new rpc_1.RpcPeer({
361
- messageHandler: async (method, msg) => ({}),
387
+ messageHandler: async (method, msg) => createPayload(),
362
388
  port: bobPort,
363
389
  noHandshake: true
364
390
  });
365
391
  await alice.open();
366
392
  await bob.open();
367
- const response = await bob.call('method', { value: Buffer.from('request') });
368
- (0, earljs_1.expect)(response).toEqual({ value: Buffer.from('response') });
393
+ const response = await bob.call('method', createPayload('request'));
394
+ (0, earljs_1.expect)(response).toEqual(createPayload('response'));
369
395
  });
370
396
  });
371
397
  });
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.test.js","sourceRoot":"","sources":["../../src/rpc.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc.test.js","sourceRoot":"","sources":["../../src/rpc.test.ts"],"names":[],"mappings":"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"}