@dxos/teleport 0.9.0 → 0.9.1-main.c7dcc2e112

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/teleport",
3
- "version": "0.9.0",
3
+ "version": "0.9.1-main.c7dcc2e112",
4
4
  "description": "Stream muxer.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -33,22 +33,22 @@
33
33
  ],
34
34
  "dependencies": {
35
35
  "randombytes": "^2.1.0",
36
- "@dxos/async": "0.9.0",
37
- "@dxos/context": "0.9.0",
38
- "@dxos/debug": "0.9.0",
39
- "@dxos/invariant": "0.9.0",
40
- "@dxos/log": "0.9.0",
41
- "@dxos/node-std": "0.9.0",
42
- "@dxos/keys": "0.9.0",
43
- "@dxos/protocols": "0.9.0",
44
- "@dxos/util": "0.9.0",
45
- "@dxos/rpc": "0.9.0"
36
+ "@dxos/debug": "0.9.1-main.c7dcc2e112",
37
+ "@dxos/async": "0.9.1-main.c7dcc2e112",
38
+ "@dxos/invariant": "0.9.1-main.c7dcc2e112",
39
+ "@dxos/keys": "0.9.1-main.c7dcc2e112",
40
+ "@dxos/context": "0.9.1-main.c7dcc2e112",
41
+ "@dxos/protocols": "0.9.1-main.c7dcc2e112",
42
+ "@dxos/node-std": "0.9.1-main.c7dcc2e112",
43
+ "@dxos/rpc": "0.9.1-main.c7dcc2e112",
44
+ "@dxos/util": "0.9.1-main.c7dcc2e112",
45
+ "@dxos/log": "0.9.1-main.c7dcc2e112"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@types/randombytes": "^2.0.0",
49
49
  "@types/varint": "6.0.0",
50
50
  "varint": "6.0.0",
51
- "@dxos/async": "0.9.0"
51
+ "@dxos/async": "0.9.1-main.c7dcc2e112"
52
52
  },
53
53
  "publishConfig": {
54
54
  "access": "public"
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=teleport.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"teleport.test.d.ts","sourceRoot":"","sources":["../../../src/teleport.test.ts"],"names":[],"mappings":""}
@@ -1,83 +0,0 @@
1
- //
2
- // Copyright 2022 DXOS.org
3
- //
4
-
5
- import { describe, expect, onTestFinished, test } from 'vitest';
6
-
7
- import { latch } from '@dxos/async';
8
- import { log } from '@dxos/log';
9
-
10
- import { TestBuilder, TestPeer } from './testing';
11
- import { TestExtension } from './testing/test-extension';
12
-
13
- describe('Teleport', () => {
14
- test('sends rpc via TestExtension', async () => {
15
- const builder = new TestBuilder();
16
- onTestFinished(() => builder.destroy());
17
- const [peer1, peer2] = builder.createPeers({ factory: () => new TestPeer() });
18
- const [connection1, connection2] = await builder.connect(peer1, peer2);
19
-
20
- const extension1 = new TestExtension();
21
- connection1.teleport!.addExtension('example.testing.rpc', extension1);
22
- const extension2 = new TestExtension();
23
- connection2.teleport!.addExtension('example.testing.rpc', extension2);
24
-
25
- await extension1.test();
26
- log('test1 done');
27
- await extension2.test();
28
- log('test2 done');
29
-
30
- expect(extension1.extensionContext?.initiator).to.equal(true);
31
- expect(extension2.extensionContext?.initiator).to.equal(false);
32
- });
33
-
34
- test('disconnect', async () => {
35
- const builder = new TestBuilder();
36
- onTestFinished(() => builder.destroy());
37
- const [peer1, peer2] = builder.createPeers({ factory: () => new TestPeer() });
38
- const [connection1, connection2] = await builder.connect(peer1, peer2);
39
-
40
- const extension1 = new TestExtension();
41
- connection1.teleport.addExtension('example.testing.rpc', extension1);
42
- const extension2 = new TestExtension();
43
- connection2.teleport.addExtension('example.testing.rpc', extension2);
44
- await extension1.test();
45
- log('test1 done');
46
- await extension2.test();
47
- log('test2 done');
48
-
49
- await peer2.destroy();
50
-
51
- await extension2.closed.wait({ timeout: 100 });
52
- await extension1.closed.wait({ timeout: 100 });
53
- });
54
-
55
- test('destroy is idempotent', async () => {
56
- const builder = new TestBuilder();
57
- onTestFinished(() => builder.destroy());
58
- const [peer1, peer2] = builder.createPeers({ factory: () => new TestPeer() });
59
- const [connection1, connection2] = await builder.connect(peer1, peer2);
60
-
61
- const extension1 = new TestExtension();
62
- connection1.teleport.addExtension('example.testing.rpc', extension1);
63
- const extension2 = new TestExtension();
64
- connection2.teleport.addExtension('example.testing.rpc', extension2);
65
- await extension1.test();
66
- log('test1 done');
67
- await extension2.test();
68
- log('test2 done');
69
-
70
- {
71
- // latch to ensure all 4 destroy calls are made.
72
- const [done, inc, errorHandler] = latch({ count: 4 });
73
- void peer1.destroy().then(inc, errorHandler);
74
- void peer1.destroy().then(inc, errorHandler);
75
- void peer2.destroy().then(inc, errorHandler);
76
- void peer2.destroy().then(inc, errorHandler);
77
- await done();
78
- }
79
-
80
- await extension2.closed.wait({ timeout: 100 });
81
- await extension1.closed.wait({ timeout: 100 });
82
- });
83
- });