@libp2p/interface-compliance-tests 6.1.7 → 6.1.8-32ca76fcb
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/matchers.d.ts +6 -0
- package/dist/src/matchers.d.ts.map +1 -1
- package/dist/src/matchers.js +6 -0
- package/dist/src/matchers.js.map +1 -1
- package/dist/src/mocks/muxer.d.ts +8 -3
- package/dist/src/mocks/muxer.d.ts.map +1 -1
- package/dist/src/mocks/muxer.js +15 -6
- package/dist/src/mocks/muxer.js.map +1 -1
- package/dist/src/transport/index.d.ts +13 -9
- package/dist/src/transport/index.d.ts.map +1 -1
- package/dist/src/transport/index.js +321 -6
- package/dist/src/transport/index.js.map +1 -1
- package/dist/src/transport/utils.d.ts +19 -0
- package/dist/src/transport/utils.d.ts.map +1 -0
- package/dist/src/transport/utils.js +62 -0
- package/dist/src/transport/utils.js.map +1 -0
- package/package.json +14 -13
- package/src/matchers.ts +6 -0
- package/src/mocks/muxer.ts +24 -10
- package/src/transport/index.ts +405 -17
- package/src/transport/utils.ts +76 -0
- package/dist/src/connection/index.d.ts +0 -5
- package/dist/src/connection/index.d.ts.map +0 -1
- package/dist/src/connection/index.js +0 -135
- package/dist/src/connection/index.js.map +0 -1
- package/dist/src/transport/dial-test.d.ts +0 -5
- package/dist/src/transport/dial-test.d.ts.map +0 -1
- package/dist/src/transport/dial-test.js +0 -99
- package/dist/src/transport/dial-test.js.map +0 -1
- package/dist/src/transport/filter-test.d.ts +0 -5
- package/dist/src/transport/filter-test.d.ts.map +0 -1
- package/dist/src/transport/filter-test.js +0 -24
- package/dist/src/transport/filter-test.js.map +0 -1
- package/dist/src/transport/listen-test.d.ts +0 -5
- package/dist/src/transport/listen-test.d.ts.map +0 -1
- package/dist/src/transport/listen-test.js +0 -154
- package/dist/src/transport/listen-test.js.map +0 -1
- package/dist/typedoc-urls.json +0 -49
- package/src/connection/index.ts +0 -166
- package/src/transport/dial-test.ts +0 -125
- package/src/transport/filter-test.ts +0 -32
- package/src/transport/listen-test.ts +0 -192
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { expect } from 'aegir/chai';
|
|
2
|
-
import sinon from 'sinon';
|
|
3
|
-
export default (test) => {
|
|
4
|
-
describe('connection', () => {
|
|
5
|
-
describe('open connection', () => {
|
|
6
|
-
let connection;
|
|
7
|
-
beforeEach(async () => {
|
|
8
|
-
connection = await test.setup();
|
|
9
|
-
});
|
|
10
|
-
afterEach(async () => {
|
|
11
|
-
await connection.close();
|
|
12
|
-
await test.teardown();
|
|
13
|
-
});
|
|
14
|
-
it('should have properties set', () => {
|
|
15
|
-
expect(connection.id).to.exist();
|
|
16
|
-
expect(connection.remotePeer).to.exist();
|
|
17
|
-
expect(connection.remoteAddr).to.exist();
|
|
18
|
-
expect(connection.status).to.equal('open');
|
|
19
|
-
expect(connection.timeline.open).to.exist();
|
|
20
|
-
expect(connection.timeline.close).to.not.exist();
|
|
21
|
-
expect(connection.direction).to.exist();
|
|
22
|
-
expect(connection.streams).to.eql([]);
|
|
23
|
-
expect(connection.tags).to.eql([]);
|
|
24
|
-
});
|
|
25
|
-
it('should get the metadata of an open connection', () => {
|
|
26
|
-
expect(connection.status).to.equal('open');
|
|
27
|
-
expect(connection.direction).to.exist();
|
|
28
|
-
expect(connection.timeline.open).to.exist();
|
|
29
|
-
expect(connection.timeline.close).to.not.exist();
|
|
30
|
-
});
|
|
31
|
-
it('should return an empty array of streams', () => {
|
|
32
|
-
const streams = connection.streams;
|
|
33
|
-
expect(streams).to.eql([]);
|
|
34
|
-
});
|
|
35
|
-
it('should be able to create a new stream', async () => {
|
|
36
|
-
expect(connection.streams).to.be.empty();
|
|
37
|
-
const protocolToUse = '/echo/0.0.1';
|
|
38
|
-
const stream = await connection.newStream([protocolToUse]);
|
|
39
|
-
expect(stream).to.have.property('protocol', protocolToUse);
|
|
40
|
-
const connStreams = connection.streams;
|
|
41
|
-
expect(stream).to.exist();
|
|
42
|
-
expect(connStreams).to.exist();
|
|
43
|
-
expect(connStreams).to.have.lengthOf(1);
|
|
44
|
-
expect(connStreams[0]).to.equal(stream);
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
describe('close connection', () => {
|
|
48
|
-
let connection;
|
|
49
|
-
let timelineProxy;
|
|
50
|
-
const proxyHandler = {
|
|
51
|
-
set() {
|
|
52
|
-
// @ts-expect-error - TS fails to infer here
|
|
53
|
-
return Reflect.set(...arguments);
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
beforeEach(async () => {
|
|
57
|
-
timelineProxy = new Proxy({
|
|
58
|
-
open: Date.now() - 10,
|
|
59
|
-
upgraded: Date.now()
|
|
60
|
-
}, proxyHandler);
|
|
61
|
-
connection = await test.setup();
|
|
62
|
-
connection.timeline = timelineProxy;
|
|
63
|
-
});
|
|
64
|
-
afterEach(async () => {
|
|
65
|
-
await test.teardown();
|
|
66
|
-
});
|
|
67
|
-
it('should be able to close the connection after being created', async () => {
|
|
68
|
-
expect(connection.timeline.close).to.not.exist();
|
|
69
|
-
await connection.close();
|
|
70
|
-
expect(connection.timeline.close).to.exist();
|
|
71
|
-
expect(connection.status).to.equal('closed');
|
|
72
|
-
});
|
|
73
|
-
it('should be able to close the connection after opening a stream', async () => {
|
|
74
|
-
// Open stream
|
|
75
|
-
const protocol = '/echo/0.0.1';
|
|
76
|
-
await connection.newStream([protocol]);
|
|
77
|
-
// Close connection
|
|
78
|
-
expect(connection.timeline.close).to.not.exist();
|
|
79
|
-
await connection.close();
|
|
80
|
-
expect(connection.timeline.close).to.exist();
|
|
81
|
-
expect(connection.status).to.equal('closed');
|
|
82
|
-
});
|
|
83
|
-
it('should properly track streams', async () => {
|
|
84
|
-
// Open stream
|
|
85
|
-
const protocol = '/echo/0.0.1';
|
|
86
|
-
const stream = await connection.newStream([protocol]);
|
|
87
|
-
expect(stream).to.have.property('protocol', protocol);
|
|
88
|
-
// Close stream
|
|
89
|
-
await stream.close();
|
|
90
|
-
expect(connection.streams.filter(s => s.id === stream.id)).to.be.empty();
|
|
91
|
-
});
|
|
92
|
-
it('should track outbound streams', async () => {
|
|
93
|
-
// Open stream
|
|
94
|
-
const protocol = '/echo/0.0.1';
|
|
95
|
-
const stream = await connection.newStream(protocol);
|
|
96
|
-
expect(stream).to.have.property('direction', 'outbound');
|
|
97
|
-
});
|
|
98
|
-
it('should support a proxy on the timeline', async () => {
|
|
99
|
-
sinon.spy(proxyHandler, 'set');
|
|
100
|
-
expect(connection.timeline.close).to.not.exist();
|
|
101
|
-
await connection.close();
|
|
102
|
-
// @ts-expect-error - fails to infer callCount
|
|
103
|
-
expect(proxyHandler.set.callCount).to.equal(1);
|
|
104
|
-
// @ts-expect-error - fails to infer getCall
|
|
105
|
-
const [obj, key, value] = proxyHandler.set.getCall(0).args;
|
|
106
|
-
expect(obj).to.eql(connection.timeline);
|
|
107
|
-
expect(key).to.equal('close');
|
|
108
|
-
expect(value).to.be.a('number').that.equals(connection.timeline.close);
|
|
109
|
-
});
|
|
110
|
-
it('should fail to create a new stream if the connection is closing', async () => {
|
|
111
|
-
expect(connection.timeline.close).to.not.exist();
|
|
112
|
-
const p = connection.close();
|
|
113
|
-
try {
|
|
114
|
-
const protocol = '/echo/0.0.1';
|
|
115
|
-
await connection.newStream([protocol]);
|
|
116
|
-
}
|
|
117
|
-
catch (err) {
|
|
118
|
-
expect(err).to.exist();
|
|
119
|
-
return;
|
|
120
|
-
}
|
|
121
|
-
finally {
|
|
122
|
-
await p;
|
|
123
|
-
}
|
|
124
|
-
throw new Error('should fail to create a new stream if the connection is closing');
|
|
125
|
-
});
|
|
126
|
-
it('should fail to create a new stream if the connection is closed', async () => {
|
|
127
|
-
expect(connection.timeline.close).to.not.exist();
|
|
128
|
-
await connection.close();
|
|
129
|
-
await expect(connection.newStream(['/echo/0.0.1'])).to.eventually.be.rejected
|
|
130
|
-
.with.property('name', 'ConnectionClosedError');
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
});
|
|
134
|
-
};
|
|
135
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connection/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dial-test.d.ts","sourceRoot":"","sources":["../../../src/transport/dial-test.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAa,MAAM,YAAY,CAAA;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;iCAKpB,UAAU,qBAAqB,CAAC,KAAG,IAAI;AAA/D,wBA6GC"}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { TypedEventEmitter } from '@libp2p/interface';
|
|
2
|
-
import { expect } from 'aegir/chai';
|
|
3
|
-
import all from 'it-all';
|
|
4
|
-
import drain from 'it-drain';
|
|
5
|
-
import { pipe } from 'it-pipe';
|
|
6
|
-
import sinon from 'sinon';
|
|
7
|
-
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
8
|
-
import { isValidTick } from '../is-valid-tick.js';
|
|
9
|
-
import { mockUpgrader, mockRegistrar } from '../mocks/index.js';
|
|
10
|
-
export default (common) => {
|
|
11
|
-
describe('dial', () => {
|
|
12
|
-
let upgrader;
|
|
13
|
-
let registrar;
|
|
14
|
-
let listenAddrs;
|
|
15
|
-
let dialAddrs;
|
|
16
|
-
let dialer;
|
|
17
|
-
let listener;
|
|
18
|
-
let connector;
|
|
19
|
-
let listen;
|
|
20
|
-
before(async () => {
|
|
21
|
-
registrar = mockRegistrar();
|
|
22
|
-
upgrader = mockUpgrader({
|
|
23
|
-
registrar,
|
|
24
|
-
events: new TypedEventEmitter()
|
|
25
|
-
});
|
|
26
|
-
({ listenAddrs, dialAddrs, dialer, listener, connector } = await common.setup());
|
|
27
|
-
});
|
|
28
|
-
after(async () => {
|
|
29
|
-
await common.teardown();
|
|
30
|
-
});
|
|
31
|
-
beforeEach(async () => {
|
|
32
|
-
listen = listener.createListener({
|
|
33
|
-
upgrader
|
|
34
|
-
});
|
|
35
|
-
await listen.listen(listenAddrs[0]);
|
|
36
|
-
});
|
|
37
|
-
afterEach(async () => {
|
|
38
|
-
sinon.restore();
|
|
39
|
-
connector.restore();
|
|
40
|
-
await listen.close();
|
|
41
|
-
});
|
|
42
|
-
it('simple', async () => {
|
|
43
|
-
const protocol = '/hello/1.0.0';
|
|
44
|
-
void registrar.handle(protocol, (data) => {
|
|
45
|
-
void pipe([
|
|
46
|
-
uint8ArrayFromString('hey')
|
|
47
|
-
], data.stream, drain);
|
|
48
|
-
});
|
|
49
|
-
const upgradeSpy = sinon.spy(upgrader, 'upgradeOutbound');
|
|
50
|
-
const conn = await dialer.dial(dialAddrs[0], {
|
|
51
|
-
upgrader
|
|
52
|
-
});
|
|
53
|
-
const stream = await conn.newStream([protocol]);
|
|
54
|
-
const result = await all(stream.source);
|
|
55
|
-
expect(upgradeSpy.callCount).to.equal(1);
|
|
56
|
-
await expect(upgradeSpy.getCall(0).returnValue).to.eventually.equal(conn);
|
|
57
|
-
expect(result.length).to.equal(1);
|
|
58
|
-
expect(result[0].subarray()).to.equalBytes(uint8ArrayFromString('hey'));
|
|
59
|
-
await conn.close();
|
|
60
|
-
});
|
|
61
|
-
it('can close connections', async () => {
|
|
62
|
-
const upgradeSpy = sinon.spy(upgrader, 'upgradeOutbound');
|
|
63
|
-
const conn = await dialer.dial(dialAddrs[0], {
|
|
64
|
-
upgrader
|
|
65
|
-
});
|
|
66
|
-
expect(upgradeSpy.callCount).to.equal(1);
|
|
67
|
-
await expect(upgradeSpy.getCall(0).returnValue).to.eventually.equal(conn);
|
|
68
|
-
await conn.close();
|
|
69
|
-
expect(isValidTick(conn.timeline.close)).to.equal(true);
|
|
70
|
-
});
|
|
71
|
-
it('to non existent listener', async () => {
|
|
72
|
-
const upgradeSpy = sinon.spy(upgrader, 'upgradeOutbound');
|
|
73
|
-
await expect(dialer.dial(dialAddrs[1], {
|
|
74
|
-
upgrader
|
|
75
|
-
})).to.eventually.be.rejected();
|
|
76
|
-
expect(upgradeSpy.callCount).to.equal(0);
|
|
77
|
-
});
|
|
78
|
-
it('abort before dialing throws AbortError', async () => {
|
|
79
|
-
const upgradeSpy = sinon.spy(upgrader, 'upgradeOutbound');
|
|
80
|
-
const controller = new AbortController();
|
|
81
|
-
controller.abort();
|
|
82
|
-
const conn = dialer.dial(dialAddrs[0], { signal: controller.signal, upgrader });
|
|
83
|
-
await expect(conn).to.eventually.be.rejected().with.property('name', 'AbortError');
|
|
84
|
-
expect(upgradeSpy.callCount).to.equal(0);
|
|
85
|
-
});
|
|
86
|
-
it('abort while dialing throws AbortError', async () => {
|
|
87
|
-
const upgradeSpy = sinon.spy(upgrader, 'upgradeOutbound');
|
|
88
|
-
// Add a delay to connect() so that we can abort while the dial is in
|
|
89
|
-
// progress
|
|
90
|
-
connector.delay(100);
|
|
91
|
-
const controller = new AbortController();
|
|
92
|
-
const conn = dialer.dial(dialAddrs[0], { signal: controller.signal, upgrader });
|
|
93
|
-
setTimeout(() => { controller.abort(); }, 50);
|
|
94
|
-
await expect(conn).to.eventually.be.rejected().with.property('name', 'AbortError');
|
|
95
|
-
expect(upgradeSpy.callCount).to.equal(0);
|
|
96
|
-
});
|
|
97
|
-
});
|
|
98
|
-
};
|
|
99
|
-
//# sourceMappingURL=dial-test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dial-test.js","sourceRoot":"","sources":["../../../src/transport/dial-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filter-test.d.ts","sourceRoot":"","sources":["../../../src/transport/filter-test.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;iCAIpB,UAAU,qBAAqB,CAAC,KAAG,IAAI;AAA/D,wBAyBC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { expect } from 'aegir/chai';
|
|
2
|
-
export default (common) => {
|
|
3
|
-
describe('filter', () => {
|
|
4
|
-
let listenAddrs;
|
|
5
|
-
let dialAddrs;
|
|
6
|
-
let dialer;
|
|
7
|
-
let listener;
|
|
8
|
-
before(async () => {
|
|
9
|
-
({ listenAddrs, dialAddrs, dialer, listener } = await common.setup());
|
|
10
|
-
});
|
|
11
|
-
after(async () => {
|
|
12
|
-
await common.teardown();
|
|
13
|
-
});
|
|
14
|
-
it('filters listen addresses', () => {
|
|
15
|
-
const filteredAddrs = listener.listenFilter(listenAddrs);
|
|
16
|
-
expect(filteredAddrs).to.eql(listenAddrs);
|
|
17
|
-
});
|
|
18
|
-
it('filters dial addresses', () => {
|
|
19
|
-
const filteredAddrs = dialer.dialFilter(dialAddrs);
|
|
20
|
-
expect(filteredAddrs).to.eql(dialAddrs);
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=filter-test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filter-test.js","sourceRoot":"","sources":["../../../src/transport/filter-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAMnC,eAAe,CAAC,MAAwC,EAAQ,EAAE;IAChE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,IAAI,WAAwB,CAAA;QAC5B,IAAI,SAAsB,CAAA;QAC1B,IAAI,MAAiB,CAAA;QACrB,IAAI,QAAmB,CAAA;QAEvB,MAAM,CAAC,KAAK,IAAI,EAAE;YAChB,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QACvE,CAAC,CAAC,CAAA;QAEF,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;QACzB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YAClC,MAAM,aAAa,GAAG,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;YACxD,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;YAChC,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;YAClD,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"listen-test.d.ts","sourceRoot":"","sources":["../../../src/transport/listen-test.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;iCAKpB,UAAU,qBAAqB,CAAC,KAAG,IAAI;AAA/D,wBA8KC"}
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
/* eslint max-nested-callbacks: ["error", 8] */
|
|
2
|
-
import { TypedEventEmitter } from '@libp2p/interface';
|
|
3
|
-
import { expect } from 'aegir/chai';
|
|
4
|
-
import drain from 'it-drain';
|
|
5
|
-
import { pipe } from 'it-pipe';
|
|
6
|
-
import defer from 'p-defer';
|
|
7
|
-
import pWaitFor from 'p-wait-for';
|
|
8
|
-
import sinon from 'sinon';
|
|
9
|
-
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
10
|
-
import { isValidTick } from '../is-valid-tick.js';
|
|
11
|
-
import { mockUpgrader, mockRegistrar } from '../mocks/index.js';
|
|
12
|
-
export default (common) => {
|
|
13
|
-
describe('listen', () => {
|
|
14
|
-
let upgrader;
|
|
15
|
-
let listenAddrs;
|
|
16
|
-
let dialAddrs;
|
|
17
|
-
let dialer;
|
|
18
|
-
let listener;
|
|
19
|
-
let registrar;
|
|
20
|
-
before(async () => {
|
|
21
|
-
registrar = mockRegistrar();
|
|
22
|
-
upgrader = mockUpgrader({
|
|
23
|
-
registrar,
|
|
24
|
-
events: new TypedEventEmitter()
|
|
25
|
-
});
|
|
26
|
-
({ dialer, listener, listenAddrs, dialAddrs } = await common.setup());
|
|
27
|
-
});
|
|
28
|
-
after(async () => {
|
|
29
|
-
await common.teardown();
|
|
30
|
-
});
|
|
31
|
-
afterEach(() => {
|
|
32
|
-
sinon.restore();
|
|
33
|
-
});
|
|
34
|
-
it('simple', async () => {
|
|
35
|
-
const listen = listener.createListener({
|
|
36
|
-
upgrader
|
|
37
|
-
});
|
|
38
|
-
await listen.listen(listenAddrs[0]);
|
|
39
|
-
await listen.close();
|
|
40
|
-
});
|
|
41
|
-
it('close listener with connections, through timeout', async () => {
|
|
42
|
-
const upgradeSpy = sinon.spy(upgrader, 'upgradeInbound');
|
|
43
|
-
const listenerConns = [];
|
|
44
|
-
const protocol = '/test/protocol';
|
|
45
|
-
void registrar.handle(protocol, (data) => {
|
|
46
|
-
void drain(data.stream.source);
|
|
47
|
-
});
|
|
48
|
-
const listen = listener.createListener({
|
|
49
|
-
upgrader,
|
|
50
|
-
handler: (conn) => {
|
|
51
|
-
listenerConns.push(conn);
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
// Listen
|
|
55
|
-
await listen.listen(listenAddrs[0]);
|
|
56
|
-
// Create two connections to the listener
|
|
57
|
-
const [conn1] = await Promise.all([
|
|
58
|
-
dialer.dial(dialAddrs[0], {
|
|
59
|
-
upgrader
|
|
60
|
-
}),
|
|
61
|
-
dialer.dial(dialAddrs[0], {
|
|
62
|
-
upgrader
|
|
63
|
-
})
|
|
64
|
-
]);
|
|
65
|
-
// Give the listener a chance to finish its upgrade
|
|
66
|
-
await pWaitFor(() => listenerConns.length === 2);
|
|
67
|
-
const stream1 = await conn1.newStream([protocol]);
|
|
68
|
-
// Wait for the data send and close to finish
|
|
69
|
-
await Promise.all([
|
|
70
|
-
pipe([uint8ArrayFromString('Some data that is never handled')], stream1),
|
|
71
|
-
// Closer the listener (will take a couple of seconds to time out)
|
|
72
|
-
listen.close()
|
|
73
|
-
]);
|
|
74
|
-
await stream1.close();
|
|
75
|
-
await conn1.close();
|
|
76
|
-
expect(isValidTick(conn1.timeline.close)).to.equal(true);
|
|
77
|
-
listenerConns.forEach(conn => {
|
|
78
|
-
expect(isValidTick(conn.timeline.close)).to.equal(true);
|
|
79
|
-
});
|
|
80
|
-
// 2 dials = 2 connections upgraded
|
|
81
|
-
expect(upgradeSpy.callCount).to.equal(2);
|
|
82
|
-
});
|
|
83
|
-
it('should not handle connection if upgradeInbound rejects', async () => {
|
|
84
|
-
sinon.stub(upgrader, 'upgradeInbound').rejects();
|
|
85
|
-
const listen = listener.createListener({
|
|
86
|
-
upgrader
|
|
87
|
-
});
|
|
88
|
-
// Listen
|
|
89
|
-
await listen.listen(listenAddrs[0]);
|
|
90
|
-
// Create a connection to the listener
|
|
91
|
-
const conn = await dialer.dial(dialAddrs[0], {
|
|
92
|
-
upgrader
|
|
93
|
-
});
|
|
94
|
-
await pWaitFor(() => typeof conn.timeline.close === 'number');
|
|
95
|
-
await listen.close();
|
|
96
|
-
});
|
|
97
|
-
describe('events', () => {
|
|
98
|
-
it('connection', async () => {
|
|
99
|
-
const upgradeSpy = sinon.spy(upgrader, 'upgradeInbound');
|
|
100
|
-
const listen = listener.createListener({
|
|
101
|
-
upgrader
|
|
102
|
-
});
|
|
103
|
-
const deferred = defer();
|
|
104
|
-
let conn;
|
|
105
|
-
listen.addEventListener('connection', (evt) => {
|
|
106
|
-
conn = evt.detail;
|
|
107
|
-
deferred.resolve();
|
|
108
|
-
});
|
|
109
|
-
void (async () => {
|
|
110
|
-
await listen.listen(listenAddrs[0]);
|
|
111
|
-
await dialer.dial(dialAddrs[0], {
|
|
112
|
-
upgrader
|
|
113
|
-
});
|
|
114
|
-
})();
|
|
115
|
-
await deferred.promise;
|
|
116
|
-
await expect(upgradeSpy.getCall(0).returnValue).to.eventually.equal(conn);
|
|
117
|
-
expect(upgradeSpy.callCount).to.equal(1);
|
|
118
|
-
await listen.close();
|
|
119
|
-
});
|
|
120
|
-
it('listening', (done) => {
|
|
121
|
-
const listen = listener.createListener({
|
|
122
|
-
upgrader
|
|
123
|
-
});
|
|
124
|
-
listen.addEventListener('listening', () => {
|
|
125
|
-
listen.close().then(done, done);
|
|
126
|
-
});
|
|
127
|
-
void listen.listen(listenAddrs[0]);
|
|
128
|
-
});
|
|
129
|
-
it('error', (done) => {
|
|
130
|
-
const listen = listener.createListener({
|
|
131
|
-
upgrader
|
|
132
|
-
});
|
|
133
|
-
listen.addEventListener('error', (evt) => {
|
|
134
|
-
expect(evt.detail).to.be.an.instanceOf(Error);
|
|
135
|
-
listen.close().then(done, done);
|
|
136
|
-
});
|
|
137
|
-
listen.dispatchEvent(new CustomEvent('error', {
|
|
138
|
-
detail: new Error('my err')
|
|
139
|
-
}));
|
|
140
|
-
});
|
|
141
|
-
it('close', (done) => {
|
|
142
|
-
const listen = listener.createListener({
|
|
143
|
-
upgrader
|
|
144
|
-
});
|
|
145
|
-
listen.addEventListener('close', () => { done(); });
|
|
146
|
-
void (async () => {
|
|
147
|
-
await listen.listen(listenAddrs[0]);
|
|
148
|
-
await listen.close();
|
|
149
|
-
})();
|
|
150
|
-
});
|
|
151
|
-
});
|
|
152
|
-
});
|
|
153
|
-
};
|
|
154
|
-
//# sourceMappingURL=listen-test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"listen-test.js","sourceRoot":"","sources":["../../../src/transport/listen-test.ts"],"names":[],"mappings":"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"}
|
package/dist/typedoc-urls.json
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"default": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.connection.default.html",
|
|
3
|
-
"./connection:default": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.connection.default.html",
|
|
4
|
-
"ConnectionEncrypterSetupArgs": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface_compliance_tests.connection_encryption.ConnectionEncrypterSetupArgs.html",
|
|
5
|
-
"./connection-encryption:ConnectionEncrypterSetupArgs": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface_compliance_tests.connection_encryption.ConnectionEncrypterSetupArgs.html",
|
|
6
|
-
"./connection-encryption:default": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.connection_encryption.default.html",
|
|
7
|
-
"TestSetup": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface_compliance_tests.index.TestSetup.html",
|
|
8
|
-
".:TestSetup": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface_compliance_tests.index.TestSetup.html",
|
|
9
|
-
"isValidTick": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.is_valid_tick.isValidTick.html",
|
|
10
|
-
"./is-valid-tick:isValidTick": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.is_valid_tick.isValidTick.html",
|
|
11
|
-
"matchMultiaddr": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.matchers.matchMultiaddr.html",
|
|
12
|
-
"./matchers:matchMultiaddr": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.matchers.matchMultiaddr.html",
|
|
13
|
-
"matchPeerId": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.matchers.matchPeerId.html",
|
|
14
|
-
"./matchers:matchPeerId": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.matchers.matchPeerId.html",
|
|
15
|
-
"MockNetwork": "https://libp2p.github.io/js-libp2p/classes/_libp2p_interface_compliance_tests.mocks.MockNetwork.html",
|
|
16
|
-
"MockConnectionManagerComponents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface_compliance_tests.mocks.MockConnectionManagerComponents.html",
|
|
17
|
-
"MockConnectionOptions": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface_compliance_tests.mocks.MockConnectionOptions.html",
|
|
18
|
-
"MockMultiaddrConnPairOptions": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface_compliance_tests.mocks.MockMultiaddrConnPairOptions.html",
|
|
19
|
-
"MockNetworkComponents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface_compliance_tests.mocks.MockNetworkComponents.html",
|
|
20
|
-
"MockUpgraderInit": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface_compliance_tests.mocks.MockUpgraderInit.html",
|
|
21
|
-
"StreamInit": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface_compliance_tests.mocks.StreamInit.html",
|
|
22
|
-
"StreamPairInit": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface_compliance_tests.mocks.StreamPairInit.html",
|
|
23
|
-
"mockNetwork": "https://libp2p.github.io/js-libp2p/variables/_libp2p_interface_compliance_tests.mocks.mockNetwork-1.html",
|
|
24
|
-
"connectionPair": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.mocks.connectionPair.html",
|
|
25
|
-
"mockConnection": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.mocks.mockConnection.html",
|
|
26
|
-
"mockConnectionGater": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.mocks.mockConnectionGater.html",
|
|
27
|
-
"mockConnectionManager": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.mocks.mockConnectionManager.html",
|
|
28
|
-
"mockDuplex": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.mocks.mockDuplex.html",
|
|
29
|
-
"mockMetrics": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.mocks.mockMetrics.html",
|
|
30
|
-
"mockMultiaddrConnPair": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.mocks.mockMultiaddrConnPair.html",
|
|
31
|
-
"mockMultiaddrConnection": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.mocks.mockMultiaddrConnection.html",
|
|
32
|
-
"mockMuxer": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.mocks.mockMuxer.html",
|
|
33
|
-
"mockRegistrar": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.mocks.mockRegistrar.html",
|
|
34
|
-
"mockStream": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.mocks.mockStream.html",
|
|
35
|
-
"mockUpgrader": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.mocks.mockUpgrader.html",
|
|
36
|
-
"streamPair": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.mocks.streamPair.html",
|
|
37
|
-
"./peer-discovery:default": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.peer_discovery.default.html",
|
|
38
|
-
"PubSubArgs": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface_compliance_tests.pubsub.PubSubArgs.html",
|
|
39
|
-
"./pubsub:PubSubArgs": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface_compliance_tests.pubsub.PubSubArgs.html",
|
|
40
|
-
"PubSubComponents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface_compliance_tests.pubsub.PubSubComponents.html",
|
|
41
|
-
"./pubsub:PubSubComponents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface_compliance_tests.pubsub.PubSubComponents.html",
|
|
42
|
-
"./pubsub:default": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.pubsub.default.html",
|
|
43
|
-
"./stream-muxer:default": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.stream_muxer.default.html",
|
|
44
|
-
"Connector": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface_compliance_tests.transport.Connector.html",
|
|
45
|
-
"./transport:Connector": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface_compliance_tests.transport.Connector.html",
|
|
46
|
-
"TransportTestFixtures": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface_compliance_tests.transport.TransportTestFixtures.html",
|
|
47
|
-
"./transport:TransportTestFixtures": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface_compliance_tests.transport.TransportTestFixtures.html",
|
|
48
|
-
"./transport:default": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface_compliance_tests.transport.default.html"
|
|
49
|
-
}
|