@dxos/network-manager 0.1.45 → 0.1.46-next.412561
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/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +7 -5
- package/dist/lib/browser/testing/index.mjs.map +3 -3
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing/index.cjs +49 -47
- package/dist/lib/node/testing/index.cjs.map +3 -3
- package/dist/types/src/testing/test-builder.d.ts.map +1 -1
- package/dist/types/src/tests/basic-test-suite.d.ts.map +1 -1
- package/package.json +16 -16
- package/src/testing/test-builder.ts +4 -1
- package/src/tests/basic-test-suite.ts +6 -7
- package/src/tests/webrtc-transport.test.ts +1 -1
- package/src/transport/webrtc-transport-proxy.test.ts +3 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EACL,mBAAmB,EAGnB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAI5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAQrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EACL,mBAAmB,EAGnB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAI5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAQrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAIxD,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAEtD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IACxC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,qBAAa,WAAW;aAGM,OAAO,EAAE,kBAAkB;IAFvD,OAAO,CAAC,cAAc,CAAoC;gBAE9B,OAAO,GAAE,kBAAuB;IAE5D,mBAAmB;IAQnB,UAAU;CAGX;AAED;;GAEG;AACH,qBAAa,QAAQ;IAkBP,OAAO,CAAC,QAAQ,CAAC,WAAW;IAjBxC,QAAQ,CAAC,MAAM,YAAsB;IAErC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkE;IAY1F,OAAO,CAAC,MAAM,CAAC,CAAoB;IACnC,OAAO,CAAC,QAAQ,CAAC,CAAoB;gBAER,WAAW,EAAE,WAAW;IAMrD,oBAAoB;IA6Cd,IAAI;IAMJ,KAAK;IASX,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,mBAAmB;IAS/C,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,mBAAmB;IAW5C,SAAS;IAIT,QAAQ;CAGf;AAGD,qBAAa,mBAAmB;IAGlB,QAAQ,CAAC,IAAI,EAAE,QAAQ;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS;IAF9D,QAAQ,EAAE,gBAAgB,CAAC;gBAEN,IAAI,EAAE,QAAQ,EAAW,KAAK,EAAE,SAAS;IAQxD,IAAI,CAAC,QAAQ,yBAA+B;IAW5C,KAAK;CAIZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-test-suite.d.ts","sourceRoot":"","sources":["../../../../src/tests/basic-test-suite.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMzC;;GAEG;AACH,eAAO,MAAM,cAAc,gBAAiB,WAAW,
|
|
1
|
+
{"version":3,"file":"basic-test-suite.d.ts","sourceRoot":"","sources":["../../../../src/tests/basic-test-suite.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMzC;;GAEG;AACH,eAAO,MAAM,cAAc,gBAAiB,WAAW,6BA2LtD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/network-manager",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.46-next.0412561",
|
|
4
4
|
"description": "Network Manager",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -25,20 +25,20 @@
|
|
|
25
25
|
"simple-peer": "9.11.0",
|
|
26
26
|
"ws": "^7.4.4",
|
|
27
27
|
"xor-distance": "^2.0.0",
|
|
28
|
-
"@dxos/async": "0.1.
|
|
29
|
-
"@dxos/codec-protobuf": "0.1.
|
|
30
|
-
"@dxos/context": "0.1.
|
|
31
|
-
"@dxos/credentials": "0.1.
|
|
32
|
-
"@dxos/crypto": "0.1.
|
|
33
|
-
"@dxos/debug": "0.1.
|
|
34
|
-
"@dxos/keys": "0.1.
|
|
35
|
-
"@dxos/log": "0.1.
|
|
36
|
-
"@dxos/messaging": "0.1.
|
|
37
|
-
"@dxos/node-std": "0.1.
|
|
38
|
-
"@dxos/protocols": "0.1.
|
|
39
|
-
"@dxos/rpc": "0.1.
|
|
40
|
-
"@dxos/teleport": "0.1.
|
|
41
|
-
"@dxos/util": "0.1.
|
|
28
|
+
"@dxos/async": "0.1.46-next.0412561",
|
|
29
|
+
"@dxos/codec-protobuf": "0.1.46-next.0412561",
|
|
30
|
+
"@dxos/context": "0.1.46-next.0412561",
|
|
31
|
+
"@dxos/credentials": "0.1.46-next.0412561",
|
|
32
|
+
"@dxos/crypto": "0.1.46-next.0412561",
|
|
33
|
+
"@dxos/debug": "0.1.46-next.0412561",
|
|
34
|
+
"@dxos/keys": "0.1.46-next.0412561",
|
|
35
|
+
"@dxos/log": "0.1.46-next.0412561",
|
|
36
|
+
"@dxos/messaging": "0.1.46-next.0412561",
|
|
37
|
+
"@dxos/node-std": "0.1.46-next.0412561",
|
|
38
|
+
"@dxos/protocols": "0.1.46-next.0412561",
|
|
39
|
+
"@dxos/rpc": "0.1.46-next.0412561",
|
|
40
|
+
"@dxos/teleport": "0.1.46-next.0412561",
|
|
41
|
+
"@dxos/util": "0.1.46-next.0412561"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@swc-node/register": "1.5.4",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"earljs": "~0.1.10",
|
|
49
49
|
"fast-check": "~3.3.0",
|
|
50
50
|
"typescript": "^5.0.4",
|
|
51
|
-
"@dxos/signal": "0.1.
|
|
51
|
+
"@dxos/signal": "0.1.46-next.0412561"
|
|
52
52
|
},
|
|
53
53
|
"publishConfig": {
|
|
54
54
|
"access": "public"
|
|
@@ -27,7 +27,10 @@ import {
|
|
|
27
27
|
import { TestWireProtocol } from './test-wire-protocol';
|
|
28
28
|
|
|
29
29
|
// Signal server will be started by the setup script.
|
|
30
|
-
|
|
30
|
+
const port = process.env.SIGNAL_PORT ?? 4000;
|
|
31
|
+
export const TEST_SIGNAL_HOSTS: Runtime.Services.Signal[] = [
|
|
32
|
+
{ server: `ws://localhost:${port}/.well-known/dx/signal` },
|
|
33
|
+
];
|
|
31
34
|
|
|
32
35
|
export type TestBuilderOptions = {
|
|
33
36
|
signalHosts?: Runtime.Services.Signal[];
|
|
@@ -34,7 +34,7 @@ export const basicTestSuite = (testBuilder: TestBuilder, runTests = true) => {
|
|
|
34
34
|
const [swarm1, swarm2] = await joinSwarm([peer1, peer2], topic, () => new FullyConnectedTopology());
|
|
35
35
|
await exchangeMessages(swarm1, swarm2);
|
|
36
36
|
await leaveSwarm([peer1, peer2], topic);
|
|
37
|
-
})
|
|
37
|
+
});
|
|
38
38
|
|
|
39
39
|
// TODO(burdon): Test with more peers (configure and test messaging).
|
|
40
40
|
test('joins swarm with star topology', async () => {
|
|
@@ -48,7 +48,7 @@ export const basicTestSuite = (testBuilder: TestBuilder, runTests = true) => {
|
|
|
48
48
|
const [swarm1, swarm2] = await joinSwarm([peer1, peer2], topic, () => new StarTopology(peer1.peerId)); // NOTE: Same peer.
|
|
49
49
|
await exchangeMessages(swarm1, swarm2);
|
|
50
50
|
await leaveSwarm([peer1, peer2], topic);
|
|
51
|
-
})
|
|
51
|
+
});
|
|
52
52
|
|
|
53
53
|
// TODO(burdon): Fails when trying to reconnect to same topic.
|
|
54
54
|
test('joins swarm multiple times', async () => {
|
|
@@ -75,7 +75,7 @@ export const basicTestSuite = (testBuilder: TestBuilder, runTests = true) => {
|
|
|
75
75
|
await exchangeMessages(swarm1, swarm2);
|
|
76
76
|
await leaveSwarm([peer1, peer2], topic2);
|
|
77
77
|
}
|
|
78
|
-
})
|
|
78
|
+
});
|
|
79
79
|
|
|
80
80
|
test('joins multiple swarms', async () => {
|
|
81
81
|
// TODO(burdon): N peers.
|
|
@@ -109,7 +109,7 @@ export const basicTestSuite = (testBuilder: TestBuilder, runTests = true) => {
|
|
|
109
109
|
test1.swarm1a.protocol.testConnection(test1.peer2a.peerId),
|
|
110
110
|
test2.swarm1a.protocol.testConnection(test2.peer2a.peerId),
|
|
111
111
|
]);
|
|
112
|
-
})
|
|
112
|
+
});
|
|
113
113
|
|
|
114
114
|
test('peers reconnect after and error in connection', async () => {
|
|
115
115
|
const peer1 = testBuilder.createPeer();
|
|
@@ -178,8 +178,7 @@ export const basicTestSuite = (testBuilder: TestBuilder, runTests = true) => {
|
|
|
178
178
|
.timeout(2_000);
|
|
179
179
|
|
|
180
180
|
// TODO(mykola): Fails with large amount of peers ~10.
|
|
181
|
-
|
|
182
|
-
test.skip('many peers and connections', async () => {
|
|
181
|
+
test('many peers and connections', async () => {
|
|
183
182
|
const numTopics = 2;
|
|
184
183
|
const peersPerTopic = 3;
|
|
185
184
|
const swarmsAllPeersConnected: Promise<any>[] = [];
|
|
@@ -207,5 +206,5 @@ export const basicTestSuite = (testBuilder: TestBuilder, runTests = true) => {
|
|
|
207
206
|
);
|
|
208
207
|
|
|
209
208
|
await asyncTimeout(Promise.all(swarmsAllPeersConnected), 2_000);
|
|
210
|
-
});
|
|
209
|
+
}).tag('stress');
|
|
211
210
|
};
|
|
@@ -17,7 +17,7 @@ describe('WebRTC transport proxy', () => {
|
|
|
17
17
|
basicTestSuite(testBuilder);
|
|
18
18
|
}).timeout(10_000);
|
|
19
19
|
|
|
20
|
-
describe
|
|
20
|
+
describe('test with signal server', () => {
|
|
21
21
|
describe('WebRTC transport', () => {
|
|
22
22
|
const testBuilder = new TestBuilder({ signalHosts: TEST_SIGNAL_HOSTS });
|
|
23
23
|
basicTestSuite(testBuilder);
|
|
@@ -88,9 +88,7 @@ describe('WebRTCTransportProxy', () => {
|
|
|
88
88
|
await sleep(1); // Process events.
|
|
89
89
|
|
|
90
90
|
expect(callsCounter).toEqual(1);
|
|
91
|
-
})
|
|
92
|
-
.timeout(1_000)
|
|
93
|
-
.tag('flaky');
|
|
91
|
+
}).timeout(1_000);
|
|
94
92
|
|
|
95
93
|
test('establish connection and send data through with protocol', async () => {
|
|
96
94
|
const stream1 = new TestStream();
|
|
@@ -115,9 +113,7 @@ describe('WebRTCTransportProxy', () => {
|
|
|
115
113
|
});
|
|
116
114
|
afterTest(() => connection2.errors.assertNoUnhandledErrors());
|
|
117
115
|
await TestStream.assertConnectivity(stream1, stream2);
|
|
118
|
-
})
|
|
119
|
-
.timeout(2_000)
|
|
120
|
-
.tag('flaky');
|
|
116
|
+
}).timeout(2_000);
|
|
121
117
|
|
|
122
118
|
describe('Multiplexing', () => {
|
|
123
119
|
let service: any;
|
|
@@ -184,8 +180,6 @@ describe('WebRTCTransportProxy', () => {
|
|
|
184
180
|
afterTest(() => proxy2.errors.assertNoUnhandledErrors());
|
|
185
181
|
|
|
186
182
|
await TestStream.assertConnectivity(stream1, stream2);
|
|
187
|
-
})
|
|
188
|
-
.timeout(3_000)
|
|
189
|
-
.tag('flaky');
|
|
183
|
+
}).timeout(3_000);
|
|
190
184
|
});
|
|
191
185
|
});
|