@libp2p/interface-compliance-tests 1.1.11 → 1.1.12
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/src/mocks/connection.d.ts +0 -2
- package/dist/src/mocks/connection.d.ts.map +1 -1
- package/dist/src/mocks/connection.js +5 -5
- package/dist/src/mocks/connection.js.map +1 -1
- package/dist/src/mocks/muxer.d.ts.map +1 -1
- package/dist/src/mocks/muxer.js +201 -131
- package/dist/src/mocks/muxer.js.map +1 -1
- package/dist/src/mocks/upgrader.d.ts +2 -2
- package/dist/src/mocks/upgrader.d.ts.map +1 -1
- package/dist/src/mocks/upgrader.js +2 -2
- package/dist/src/mocks/upgrader.js.map +1 -1
- package/dist/src/stream-muxer/base-test.d.ts.map +1 -1
- package/dist/src/stream-muxer/base-test.js +27 -21
- package/dist/src/stream-muxer/base-test.js.map +1 -1
- package/dist/src/stream-muxer/close-test.d.ts.map +1 -1
- package/dist/src/stream-muxer/close-test.js +25 -28
- package/dist/src/stream-muxer/close-test.js.map +1 -1
- package/dist/src/stream-muxer/spawner.d.ts.map +1 -1
- package/dist/src/stream-muxer/spawner.js +2 -3
- package/dist/src/stream-muxer/spawner.js.map +1 -1
- package/dist/src/transport/dial-test.d.ts.map +1 -1
- package/dist/src/transport/dial-test.js +16 -5
- package/dist/src/transport/dial-test.js.map +1 -1
- package/dist/src/transport/listen-test.d.ts.map +1 -1
- package/dist/src/transport/listen-test.js +13 -2
- package/dist/src/transport/listen-test.js.map +1 -1
- package/package.json +5 -2
- package/src/mocks/connection.ts +5 -7
- package/src/mocks/muxer.ts +271 -147
- package/src/mocks/upgrader.ts +4 -4
- package/src/stream-muxer/base-test.ts +35 -24
- package/src/stream-muxer/close-test.ts +32 -29
- package/src/stream-muxer/spawner.ts +3 -6
- package/src/transport/dial-test.ts +23 -6
- package/src/transport/listen-test.ts +16 -2
|
@@ -19,10 +19,10 @@ export default (common) => {
|
|
|
19
19
|
const onStreamPromise = defer();
|
|
20
20
|
const onStreamEndPromise = defer();
|
|
21
21
|
const listener = await common.setup({
|
|
22
|
-
|
|
22
|
+
onIncomingStream: (stream) => {
|
|
23
23
|
onStreamPromise.resolve(stream);
|
|
24
24
|
},
|
|
25
|
-
onStreamEnd: stream => {
|
|
25
|
+
onStreamEnd: (stream) => {
|
|
26
26
|
onStreamEndPromise.resolve(stream);
|
|
27
27
|
}
|
|
28
28
|
});
|
|
@@ -55,7 +55,7 @@ export default (common) => {
|
|
|
55
55
|
const p = duplexPair();
|
|
56
56
|
const onStreamPromise = defer();
|
|
57
57
|
const dialer = await common.setup({
|
|
58
|
-
|
|
58
|
+
onIncomingStream: (stream) => {
|
|
59
59
|
onStreamPromise.resolve(stream);
|
|
60
60
|
}
|
|
61
61
|
});
|
|
@@ -77,27 +77,29 @@ export default (common) => {
|
|
|
77
77
|
const onDialerStreamPromise = defer();
|
|
78
78
|
const onListenerStreamPromise = defer();
|
|
79
79
|
const dialer = await common.setup({
|
|
80
|
-
|
|
80
|
+
onIncomingStream: (stream) => {
|
|
81
81
|
onDialerStreamPromise.resolve(stream);
|
|
82
82
|
}
|
|
83
83
|
});
|
|
84
84
|
const listener = await common.setup({
|
|
85
|
-
|
|
85
|
+
onIncomingStream: (stream) => {
|
|
86
86
|
onListenerStreamPromise.resolve(stream);
|
|
87
87
|
}
|
|
88
88
|
});
|
|
89
89
|
void pipe(p[0], dialer, p[0]);
|
|
90
90
|
void pipe(p[1], listener, p[1]);
|
|
91
|
-
const
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
await
|
|
100
|
-
|
|
91
|
+
const dialerInitiatorStream = dialer.newStream();
|
|
92
|
+
const listenerInitiatorStream = listener.newStream();
|
|
93
|
+
await Promise.all([
|
|
94
|
+
drainAndClose(dialerInitiatorStream),
|
|
95
|
+
drainAndClose(listenerInitiatorStream),
|
|
96
|
+
onDialerStreamPromise.promise.then(async (stream) => await drainAndClose(stream)),
|
|
97
|
+
onListenerStreamPromise.promise.then(async (stream) => await drainAndClose(stream))
|
|
98
|
+
]);
|
|
99
|
+
await Promise.all([
|
|
100
|
+
drainAndClose(dialer),
|
|
101
|
+
drainAndClose(listener)
|
|
102
|
+
]);
|
|
101
103
|
});
|
|
102
104
|
it('Open a stream on one side, write, open a stream on the other side', async () => {
|
|
103
105
|
const toString = (source) => map(source, (u) => uint8ArrayToString(u));
|
|
@@ -105,12 +107,12 @@ export default (common) => {
|
|
|
105
107
|
const onDialerStreamPromise = defer();
|
|
106
108
|
const onListenerStreamPromise = defer();
|
|
107
109
|
const dialer = await common.setup({
|
|
108
|
-
|
|
110
|
+
onIncomingStream: (stream) => {
|
|
109
111
|
onDialerStreamPromise.resolve(stream);
|
|
110
112
|
}
|
|
111
113
|
});
|
|
112
114
|
const listener = await common.setup({
|
|
113
|
-
|
|
115
|
+
onIncomingStream: (stream) => {
|
|
114
116
|
onListenerStreamPromise.resolve(stream);
|
|
115
117
|
}
|
|
116
118
|
});
|
|
@@ -120,11 +122,15 @@ export default (common) => {
|
|
|
120
122
|
const listenerConn = listener.newStream();
|
|
121
123
|
void pipe([uint8ArrayFromString('hey')], dialerConn);
|
|
122
124
|
void pipe([uint8ArrayFromString('hello')], listenerConn);
|
|
123
|
-
const listenerStream = await
|
|
124
|
-
|
|
125
|
-
|
|
125
|
+
const [dialerStream, listenerStream] = await Promise.all([
|
|
126
|
+
onDialerStreamPromise.promise,
|
|
127
|
+
onListenerStreamPromise.promise
|
|
128
|
+
]);
|
|
129
|
+
const [listenerChunks, dialerChunks] = await Promise.all([
|
|
130
|
+
pipe(listenerStream, toString, async (source) => await all(source)),
|
|
131
|
+
pipe(dialerStream, toString, async (source) => await all(source))
|
|
132
|
+
]);
|
|
126
133
|
expect(listenerChunks).to.be.eql(['hey']);
|
|
127
|
-
const dialerChunks = await pipe(dialerStream, toString, async (source) => await all(source));
|
|
128
134
|
expect(dialerChunks).to.be.eql(['hello']);
|
|
129
135
|
});
|
|
130
136
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-test.js","sourceRoot":"","sources":["../../../src/stream-muxer/base-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,GAAG,MAAM,QAAQ,CAAA;AACxB,OAAO,GAAG,MAAM,QAAQ,CAAA;AACxB,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAOvD,KAAK,UAAU,aAAa,CAAE,MAA0B;IACtD,OAAO,MAAM,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;AACtC,CAAC;AAED,eAAe,CAAC,MAAsC,EAAE,EAAE;IACxD,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;QACpB,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,CAAC,GAAG,UAAU,EAAc,CAAA;YAClC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;YACnC,MAAM,eAAe,GAA4B,KAAK,EAAE,CAAA;YACxD,MAAM,kBAAkB,GAA4B,KAAK,EAAE,CAAA;YAE3D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAClC,
|
|
1
|
+
{"version":3,"file":"base-test.js","sourceRoot":"","sources":["../../../src/stream-muxer/base-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"close-test.d.ts","sourceRoot":"","sources":["../../../src/stream-muxer/close-test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"close-test.d.ts","sourceRoot":"","sources":["../../../src/stream-muxer/close-test.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;iCAelD,UAAU,KAAK,EAAE,YAAY,CAAC;AAAtD,wBAuFC"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
/* eslint max-nested-callbacks: ["error", 8] */
|
|
2
2
|
import { pipe } from 'it-pipe';
|
|
3
3
|
import { duplexPair } from 'it-pair/duplex';
|
|
4
|
-
import { abortableSource
|
|
4
|
+
import { abortableSource } from 'abortable-iterator';
|
|
5
5
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
6
6
|
import drain from 'it-drain';
|
|
7
|
-
import { mockUpgrader } from '../mocks/upgrader.js';
|
|
8
|
-
import { mockMultiaddrConnection } from '../mocks/multiaddr-connection.js';
|
|
9
7
|
import { expect } from 'aegir/utils/chai.js';
|
|
10
8
|
import delay from 'delay';
|
|
11
|
-
import { createEd25519PeerId } from '@libp2p/peer-id-factory';
|
|
12
9
|
function randomBuffer() {
|
|
13
10
|
return uint8ArrayFromString(Math.random().toString());
|
|
14
11
|
}
|
|
@@ -23,38 +20,38 @@ const infiniteRandom = {
|
|
|
23
20
|
export default (common) => {
|
|
24
21
|
describe('close', () => {
|
|
25
22
|
it('closing underlying socket closes streams', async () => {
|
|
26
|
-
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
23
|
+
let openedStreams = 0;
|
|
24
|
+
const expectedStreams = 5;
|
|
25
|
+
const dialer = await common.setup();
|
|
26
|
+
// Listener is echo server :)
|
|
27
|
+
const listener = await common.setup({
|
|
28
|
+
onIncomingStream: (stream) => {
|
|
29
|
+
openedStreams++;
|
|
30
|
+
void pipe(stream, stream);
|
|
31
31
|
}
|
|
32
32
|
});
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
const s2Result = pipe(infiniteRandom, s2.stream, drain);
|
|
47
|
-
// test is complete when all muxed streams have closed
|
|
48
|
-
await s1Result;
|
|
49
|
-
await s2Result;
|
|
50
|
-
expect(muxer.streams).to.be.empty();
|
|
33
|
+
const p = duplexPair();
|
|
34
|
+
void pipe(p[0], dialer, p[0]);
|
|
35
|
+
void pipe(p[1], listener, p[1]);
|
|
36
|
+
const streams = Array(expectedStreams).fill(0).map(() => dialer.newStream());
|
|
37
|
+
void Promise.all(streams.map(async (stream) => {
|
|
38
|
+
return await pipe(infiniteRandom, stream, drain);
|
|
39
|
+
}));
|
|
40
|
+
expect(dialer.streams).to.have.lengthOf(expectedStreams);
|
|
41
|
+
// Pause, and then send some data and close the dialer
|
|
42
|
+
await delay(50);
|
|
43
|
+
await pipe([randomBuffer()], dialer, drain);
|
|
44
|
+
expect(openedStreams).to.have.equal(expectedStreams);
|
|
45
|
+
expect(dialer.streams).to.have.lengthOf(0);
|
|
51
46
|
});
|
|
52
47
|
it('closing one of the muxed streams doesn\'t close others', async () => {
|
|
53
48
|
const p = duplexPair();
|
|
54
49
|
const dialer = await common.setup();
|
|
55
50
|
// Listener is echo server :)
|
|
56
51
|
const listener = await common.setup({
|
|
57
|
-
|
|
52
|
+
onIncomingStream: (stream) => {
|
|
53
|
+
void pipe(stream, stream);
|
|
54
|
+
}
|
|
58
55
|
});
|
|
59
56
|
void pipe(p[0], dialer, p[0]);
|
|
60
57
|
void pipe(p[1], listener, p[1]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"close-test.js","sourceRoot":"","sources":["../../../src/stream-muxer/close-test.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"close-test.js","sourceRoot":"","sources":["../../../src/stream-muxer/close-test.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,SAAS,YAAY;IACnB,OAAO,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;AACvD,CAAC;AAED,MAAM,cAAc,GAAG;IACrB,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,SAAU,CAAC;QACtC,OAAO,IAAI,EAAE;YACX,MAAM,YAAY,EAAE,CAAA;YACpB,MAAM,KAAK,CAAC,EAAE,CAAC,CAAA;SAChB;IACH,CAAC;CACF,CAAA;AAED,eAAe,CAAC,MAAsC,EAAE,EAAE;IACxD,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,IAAI,aAAa,GAAG,CAAC,CAAA;YACrB,MAAM,eAAe,GAAG,CAAC,CAAA;YACzB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;YAEnC,6BAA6B;YAC7B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAClC,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE;oBAC3B,aAAa,EAAE,CAAA;oBACf,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;gBAC3B,CAAC;aACF,CAAC,CAAA;YAEF,MAAM,CAAC,GAAG,UAAU,EAAc,CAAA;YAClC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC7B,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAE/B,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;YAE5E,KAAK,OAAO,CAAC,GAAG,CACd,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;gBACzB,OAAO,MAAM,IAAI,CACf,cAAc,EACd,MAAM,EACN,KAAK,CACN,CAAA;YACH,CAAC,CAAC,CACH,CAAA;YAED,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;YAExD,sDAAsD;YACtD,MAAM,KAAK,CAAC,EAAE,CAAC,CAAA;YACf,MAAM,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;YAE3C,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;YACpD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,CAAC,GAAG,UAAU,EAAc,CAAA;YAClC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;YAEnC,6BAA6B;YAC7B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAClC,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE;oBAC3B,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;gBAC3B,CAAC;aACF,CAAC,CAAA;YAEF,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC7B,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;YACjC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;YAC9D,IAAI,MAAM,GAAG,KAAK,CAAA;YAClB,MAAM,WAAW,GAAsB,EAAE,CAAA;YAEzC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;gBAC/C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;gBACxC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBAE5B,IAAI;oBACF,MAAM,aAAa,GAAG,eAAe,CAAC,cAAc,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAA;oBACzG,MAAM,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;iBACzC;gBAAC,OAAO,GAAQ,EAAE;oBACjB,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB;wBAAE,MAAM,GAAG,CAAA;iBAC7C;gBAED,IAAI,CAAC,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;YACnE,CAAC,CAAC,CAAA;YAEF,4DAA4D;YAC5D,MAAM,KAAK,CAAC,EAAE,CAAC,CAAA;YACf,MAAM,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;YAC3C,MAAM,GAAG,IAAI,CAAA;YAEb,oCAAoC;YACpC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAA;YACf,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YAEnC,6CAA6C;YAC7C,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawner.d.ts","sourceRoot":"","sources":["../../../src/stream-muxer/spawner.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;8EAEX,QAAQ,KAAK,CAAC,YAAY,MAAM,QAAQ,MAAM;AAA7G,
|
|
1
|
+
{"version":3,"file":"spawner.d.ts","sourceRoot":"","sources":["../../../src/stream-muxer/spawner.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;8EAEX,QAAQ,KAAK,CAAC,YAAY,MAAM,QAAQ,MAAM;AAA7G,wBAwCC"}
|
|
@@ -9,9 +9,8 @@ export default async (createMuxer, nStreams, nMsg, limit) => {
|
|
|
9
9
|
const [dialerSocket, listenerSocket] = duplexPair();
|
|
10
10
|
const msg = uint8ArrayFromString('simple msg');
|
|
11
11
|
const listener = await createMuxer({
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
void pipe([], stream);
|
|
12
|
+
onIncomingStream: (stream) => {
|
|
13
|
+
void pipe(stream, drain).then(async () => await pipe([], stream));
|
|
15
14
|
}
|
|
16
15
|
});
|
|
17
16
|
const dialer = await createMuxer();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawner.js","sourceRoot":"","sources":["../../../src/stream-muxer/spawner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,GAAG,MAAM,QAAQ,CAAA;AAGxB,eAAe,KAAK,EAAE,WAAuD,EAAE,QAAgB,EAAE,IAAY,EAAE,KAAc,EAAE,EAAE;IAC/H,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,UAAU,EAAc,CAAA;IAE/D,MAAM,GAAG,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAA;IAE9C,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC;QACjC,
|
|
1
|
+
{"version":3,"file":"spawner.js","sourceRoot":"","sources":["../../../src/stream-muxer/spawner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,GAAG,MAAM,QAAQ,CAAA;AAGxB,eAAe,KAAK,EAAE,WAAuD,EAAE,QAAgB,EAAE,IAAY,EAAE,KAAc,EAAE,EAAE;IAC/H,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,UAAU,EAAc,CAAA;IAE/D,MAAM,GAAG,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAA;IAE9C,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC;QACjC,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE;YAC3B,KAAK,IAAI,CACP,MAAM,EACN,KAAK,CACN,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAA;QAC5C,CAAC;KACF,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,MAAM,WAAW,EAAE,CAAA;IAElC,KAAK,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAA;IACnD,KAAK,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,CAAA;IAE7C,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;QAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;QACjC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAA,CAAC,sBAAsB;QAE9C,MAAM,GAAG,GAAG,MAAM,IAAI,CACpB,CAAC,KAAK,SAAU,CAAC;YACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC7B,MAAM,GAAG,CAAA;aACV;QACH,CAAC,EAAE,CAAC,EACJ,MAAM,EACN,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CACpC,CAAA;QAED,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC3B,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAA;IAEzC,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,CACxF,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dial-test.d.ts","sourceRoot":"","sources":["../../../src/transport/dial-test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dial-test.d.ts","sourceRoot":"","sources":["../../../src/transport/dial-test.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAa,MAAM,YAAY,CAAA;iCAIrD,UAAU,qBAAqB,EAAE,SAAS,CAAC;AAAnE,wBAkGC"}
|
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
import { expect } from 'aegir/utils/chai.js';
|
|
2
2
|
import { isValidTick } from '../utils/is-valid-tick.js';
|
|
3
3
|
import { mockUpgrader } from '../mocks/upgrader.js';
|
|
4
|
-
import {
|
|
4
|
+
import { mockRegistrar } from '../mocks/registrar.js';
|
|
5
5
|
import all from 'it-all';
|
|
6
6
|
import { pipe } from 'it-pipe';
|
|
7
7
|
import { AbortError } from '@libp2p/interfaces/errors';
|
|
8
8
|
import sinon from 'sinon';
|
|
9
9
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
10
|
+
import drain from 'it-drain';
|
|
10
11
|
export default (common) => {
|
|
11
12
|
describe('dial', () => {
|
|
12
|
-
|
|
13
|
+
let upgrader;
|
|
14
|
+
let registrar;
|
|
13
15
|
let addrs;
|
|
14
16
|
let transport;
|
|
15
17
|
let connector;
|
|
16
18
|
let listener;
|
|
17
19
|
before(async () => {
|
|
20
|
+
registrar = mockRegistrar();
|
|
21
|
+
upgrader = mockUpgrader({
|
|
22
|
+
registrar
|
|
23
|
+
});
|
|
18
24
|
({ addrs, transport, connector } = await common.setup({ upgrader }));
|
|
19
25
|
});
|
|
20
26
|
after(async () => {
|
|
@@ -30,11 +36,16 @@ export default (common) => {
|
|
|
30
36
|
return await listener.close();
|
|
31
37
|
});
|
|
32
38
|
it('simple', async () => {
|
|
39
|
+
const protocol = '/hello/1.0.0';
|
|
40
|
+
void registrar.handle(protocol, (evt) => {
|
|
41
|
+
void pipe([
|
|
42
|
+
uint8ArrayFromString('hey')
|
|
43
|
+
], evt.detail.stream, drain);
|
|
44
|
+
});
|
|
33
45
|
const upgradeSpy = sinon.spy(upgrader, 'upgradeOutbound');
|
|
34
46
|
const conn = await transport.dial(addrs[0]);
|
|
35
|
-
const { stream } = await conn.newStream([
|
|
36
|
-
const
|
|
37
|
-
const result = await pipe(s, stream, s);
|
|
47
|
+
const { stream } = await conn.newStream([protocol]);
|
|
48
|
+
const result = await all(stream.source);
|
|
38
49
|
expect(upgradeSpy.callCount).to.equal(1);
|
|
39
50
|
await expect(upgradeSpy.getCall(0).returnValue).to.eventually.equal(conn);
|
|
40
51
|
expect(result.length).to.equal(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dial-test.js","sourceRoot":"","sources":["../../../src/transport/dial-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"dial-test.js","sourceRoot":"","sources":["../../../src/transport/dial-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listen-test.d.ts","sourceRoot":"","sources":["../../../src/transport/listen-test.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"listen-test.d.ts","sourceRoot":"","sources":["../../../src/transport/listen-test.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;iCAO1C,UAAU,qBAAqB,EAAE,SAAS,CAAC;AAAnE,wBA0JC"}
|
|
@@ -8,12 +8,19 @@ import { isValidTick } from '../utils/is-valid-tick.js';
|
|
|
8
8
|
import { mockUpgrader } from '../mocks/upgrader.js';
|
|
9
9
|
import defer from 'p-defer';
|
|
10
10
|
import { CustomEvent } from '@libp2p/interfaces';
|
|
11
|
+
import { mockRegistrar } from '../mocks/registrar.js';
|
|
12
|
+
import drain from 'it-drain';
|
|
11
13
|
export default (common) => {
|
|
12
14
|
describe('listen', () => {
|
|
13
|
-
|
|
15
|
+
let upgrader = mockUpgrader();
|
|
14
16
|
let addrs;
|
|
15
17
|
let transport;
|
|
18
|
+
let registrar;
|
|
16
19
|
before(async () => {
|
|
20
|
+
registrar = mockRegistrar();
|
|
21
|
+
upgrader = mockUpgrader({
|
|
22
|
+
registrar
|
|
23
|
+
});
|
|
17
24
|
({ transport, addrs } = await common.setup({ upgrader }));
|
|
18
25
|
});
|
|
19
26
|
after(async () => {
|
|
@@ -30,6 +37,10 @@ export default (common) => {
|
|
|
30
37
|
it('close listener with connections, through timeout', async () => {
|
|
31
38
|
const upgradeSpy = sinon.spy(upgrader, 'upgradeInbound');
|
|
32
39
|
const listenerConns = [];
|
|
40
|
+
const protocol = '/test/protocol';
|
|
41
|
+
void registrar.handle(protocol, (evt) => {
|
|
42
|
+
void drain(evt.detail.stream.source);
|
|
43
|
+
});
|
|
33
44
|
const listener = transport.createListener({
|
|
34
45
|
handler: (conn) => {
|
|
35
46
|
listenerConns.push(conn);
|
|
@@ -44,7 +55,7 @@ export default (common) => {
|
|
|
44
55
|
]);
|
|
45
56
|
// Give the listener a chance to finish its upgrade
|
|
46
57
|
await pWaitFor(() => listenerConns.length === 2);
|
|
47
|
-
const { stream: stream1 } = await conn1.newStream([
|
|
58
|
+
const { stream: stream1 } = await conn1.newStream([protocol]);
|
|
48
59
|
// Wait for the data send and close to finish
|
|
49
60
|
await Promise.all([
|
|
50
61
|
pipe([uint8ArrayFromString('Some data that is never handled')], stream1),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listen-test.js","sourceRoot":"","sources":["../../../src/transport/listen-test.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAOhD,eAAe,CAAC,MAAmD,EAAE,EAAE;IACrE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,
|
|
1
|
+
{"version":3,"file":"listen-test.js","sourceRoot":"","sources":["../../../src/transport/listen-test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/interface-compliance-tests",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.12",
|
|
4
4
|
"description": "Compliance tests for JS libp2p interfaces",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-interface-compliance-tests#readme",
|
|
@@ -208,18 +208,21 @@
|
|
|
208
208
|
"@multiformats/multiaddr": "^10.1.1",
|
|
209
209
|
"abortable-iterator": "^4.0.0",
|
|
210
210
|
"aegir": "^36.1.3",
|
|
211
|
+
"any-signal": "^3.0.0",
|
|
211
212
|
"delay": "^5.0.0",
|
|
213
|
+
"err-code": "^3.0.1",
|
|
212
214
|
"it-all": "^1.0.6",
|
|
213
215
|
"it-drain": "^1.0.5",
|
|
214
216
|
"it-goodbye": "^4.0.1",
|
|
215
217
|
"it-map": "^1.0.6",
|
|
218
|
+
"it-ndjson": "^0.1.1",
|
|
216
219
|
"it-pair": "^2.0.0",
|
|
217
220
|
"it-pipe": "^2.0.2",
|
|
218
221
|
"it-pushable": "^2.0.1",
|
|
219
222
|
"it-stream-types": "^1.0.4",
|
|
220
223
|
"multiformats": "^9.4.10",
|
|
221
|
-
"p-event": "^5.0.1",
|
|
222
224
|
"p-defer": "^4.0.0",
|
|
225
|
+
"p-event": "^5.0.1",
|
|
223
226
|
"p-limit": "^4.0.0",
|
|
224
227
|
"p-wait-for": "^4.1.0",
|
|
225
228
|
"sinon": "^13.0.0",
|
package/src/mocks/connection.ts
CHANGED
|
@@ -3,7 +3,6 @@ import { pipe } from 'it-pipe'
|
|
|
3
3
|
import { duplexPair } from 'it-pair/duplex'
|
|
4
4
|
import type { MultiaddrConnection } from '@libp2p/interfaces/transport'
|
|
5
5
|
import type { Connection, Stream, Metadata, ProtocolStream } from '@libp2p/interfaces/connection'
|
|
6
|
-
import type { Muxer } from '@libp2p/interfaces/stream-muxer'
|
|
7
6
|
import type { Duplex } from 'it-stream-types'
|
|
8
7
|
import { mockMuxer } from './muxer.js'
|
|
9
8
|
import type { PeerId } from '@libp2p/interfaces/src/peer-id'
|
|
@@ -18,13 +17,12 @@ const log = logger('libp2p:mock-connection')
|
|
|
18
17
|
|
|
19
18
|
export interface MockConnectionOptions {
|
|
20
19
|
direction?: 'inbound' | 'outbound'
|
|
21
|
-
muxer?: Muxer
|
|
22
20
|
registrar?: Registrar
|
|
23
21
|
}
|
|
24
22
|
|
|
25
23
|
export function mockConnection (maConn: MultiaddrConnection, opts: MockConnectionOptions = {}): Connection {
|
|
26
24
|
const remoteAddr = maConn.remoteAddr
|
|
27
|
-
const remotePeerIdStr = remoteAddr.getPeerId()
|
|
25
|
+
const remotePeerIdStr = remoteAddr.getPeerId() ?? '12D3KooWCrhmFM1BCPGBkNzbPfDk4cjYmtAYSpZwUBC69Qg2kZyq'
|
|
28
26
|
|
|
29
27
|
if (remotePeerIdStr == null) {
|
|
30
28
|
throw new Error('Remote multiaddr must contain a peer id')
|
|
@@ -36,8 +34,8 @@ export function mockConnection (maConn: MultiaddrConnection, opts: MockConnectio
|
|
|
36
34
|
const direction = opts.direction ?? 'inbound'
|
|
37
35
|
const registrar = opts.registrar ?? mockRegistrar()
|
|
38
36
|
|
|
39
|
-
const muxer =
|
|
40
|
-
|
|
37
|
+
const muxer = mockMuxer({
|
|
38
|
+
onIncomingStream: (muxedStream) => {
|
|
41
39
|
const mss = new Listener(muxedStream)
|
|
42
40
|
try {
|
|
43
41
|
mss.handle(registrar.getProtocols())
|
|
@@ -58,8 +56,8 @@ export function mockConnection (maConn: MultiaddrConnection, opts: MockConnectio
|
|
|
58
56
|
log.error(err)
|
|
59
57
|
}
|
|
60
58
|
},
|
|
61
|
-
onStreamEnd: (
|
|
62
|
-
connection.removeStream(
|
|
59
|
+
onStreamEnd: (muxedStream) => {
|
|
60
|
+
connection.removeStream(muxedStream.id)
|
|
63
61
|
}
|
|
64
62
|
})
|
|
65
63
|
|