Skip to content

Commit 7079f10

Browse files
committed
Merge pull request libp2p#53 from diasdavid/test-fixes
test: cleanup and fix hanging tests
2 parents 5c76907 + 1210a9f commit 7079f10

9 files changed

+71
-112
lines changed

package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,13 @@
4040
"bl": "^1.1.2",
4141
"buffer-loader": "0.0.1",
4242
"chai": "^3.5.0",
43-
"aegir": "^3.0.0",
43+
"aegir": "^3.0.1",
4444
"gulp": "^3.9.1",
4545
"istanbul": "^0.4.3",
4646
"libp2p-multiplex": "^0.2.1",
4747
"libp2p-spdy": "^0.3.1",
4848
"libp2p-tcp": "^0.5.1",
49-
"libp2p-websockets": "^0.4.3",
49+
"libp2p-websockets": "^0.4.4",
5050
"pre-commit": "^1.1.2",
5151
"stream-pair": "^1.0.3"
5252
},
@@ -55,7 +55,7 @@
5555
"duplex-passthrough": "github:diasdavid/duplex-passthrough",
5656
"ip-address": "^5.8.0",
5757
"lodash.contains": "^2.4.3",
58-
"multiaddr": "^1.4.0",
58+
"multiaddr": "^1.4.1",
5959
"multistream-select": "^0.6.5",
6060
"peer-id": "^0.6.6",
6161
"peer-info": "^0.6.2",

test/00-basic.node.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ const expect = require('chai').expect
66
const Swarm = require('../src')
77

88
describe('basics', () => {
9-
it('throws on missing peerInfo', (done) => {
10-
expect(Swarm).to.throw(Error)
11-
done()
9+
it('throws on missing peerInfo', () => {
10+
expect(() => Swarm()).to.throw(Error)
1211
})
1312
})

test/03-transport-websockets.node.js

+23-27
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,11 @@ describe('transport - websockets', function () {
1818
var peerA = new Peer()
1919
var peerB = new Peer()
2020

21-
before((done) => {
21+
before(() => {
2222
peerA.multiaddr.add(multiaddr('/ip4/127.0.0.1/tcp/9888/websockets'))
2323
peerB.multiaddr.add(multiaddr('/ip4/127.0.0.1/tcp/9999/websockets'))
2424
swarmA = new Swarm(peerA)
2525
swarmB = new Swarm(peerB)
26-
done()
2726
})
2827

2928
it('add', (done) => {
@@ -36,31 +35,28 @@ describe('transport - websockets', function () {
3635
})
3736

3837
it('listen', (done) => {
39-
var count = 0
40-
swarmA.transport.listen('ws', {}, (conn) => {
41-
conn.pipe(conn)
42-
}, ready)
43-
swarmB.transport.listen('ws', {}, (conn) => {
44-
conn.pipe(conn)
45-
}, ready)
46-
47-
function ready () {
48-
if (++count === 2) {
49-
expect(peerA.multiaddrs.length).to.equal(1)
50-
expect(
51-
peerA.multiaddrs[0].equals(multiaddr('/ip4/127.0.0.1/tcp/9888/websockets'))
52-
).to.be.equal(
53-
true
54-
)
55-
expect(peerB.multiaddrs.length).to.equal(1)
56-
expect(
57-
peerB.multiaddrs[0].equals(multiaddr('/ip4/127.0.0.1/tcp/9999/websockets'))
58-
).to.equal(
59-
true
60-
)
61-
done()
62-
}
63-
}
38+
parallel([
39+
(cb) => swarmA.transport.listen('ws', {}, (conn) => {
40+
conn.pipe(conn)
41+
}, cb),
42+
(cb) => swarmB.transport.listen('ws', {}, (conn) => {
43+
conn.pipe(conn)
44+
}, cb)
45+
], () => {
46+
expect(peerA.multiaddrs.length).to.equal(1)
47+
expect(
48+
peerA.multiaddrs[0].equals(multiaddr('/ip4/127.0.0.1/tcp/9888/websockets'))
49+
).to.be.equal(
50+
true
51+
)
52+
expect(peerB.multiaddrs.length).to.equal(1)
53+
expect(
54+
peerB.multiaddrs[0].equals(multiaddr('/ip4/127.0.0.1/tcp/9999/websockets'))
55+
).to.equal(
56+
true
57+
)
58+
done()
59+
})
6460
})
6561

6662
it('dial', (done) => {

test/05-muxing-spdy.node.js

+3-4
Original file line numberDiff line numberDiff line change
@@ -51,16 +51,15 @@ describe('stream muxing with spdy (on TCP)', function () {
5151
after((done) => {
5252
parallel([
5353
(cb) => swarmA.close(cb),
54-
(cb) => swarmB.close(cb),
55-
(cb) => swarmC.close(cb)
54+
(cb) => swarmB.close(cb)
55+
// (cb) => swarmC.close(cb)
5656
], done)
5757
})
5858

59-
it('add', (done) => {
59+
it('add', () => {
6060
swarmA.connection.addStreamMuxer(spdy)
6161
swarmB.connection.addStreamMuxer(spdy)
6262
swarmC.connection.addStreamMuxer(spdy)
63-
done()
6463
})
6564

6665
it('handle + dial on protocol', (done) => {

test/06-conn-upgrade-secio.node.js

-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@
44
describe('secio conn upgrade (on TCP)', function () {
55
this.timeout(20000)
66

7-
before((done) => { done() })
8-
after((done) => { done() })
9-
107
it.skip('add', (done) => {})
118
it.skip('dial', (done) => {})
129
it.skip('tls on a muxed stream (not the full conn)', (done) => {})

test/07-conn-upgrade-tls.node.js

-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@
22
'use strict'
33

44
describe('tls conn upgrade (on TCP)', function () {
5-
before((done) => { done() })
6-
after((done) => { done() })
7-
85
it.skip('add', (done) => {})
96
it.skip('dial', (done) => {})
107
it.skip('tls on a muxed stream (not the full conn)', (done) => {})

test/08-swarm-without-muxing.node.js

+4-10
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,12 @@ describe('high level API - 1st without stream multiplexing (on TCP)', function (
2828
swarmB = new Swarm(peerB)
2929

3030
swarmA.transport.add('tcp', new TCP())
31-
swarmA.transport.listen('tcp', {}, null, ready)
32-
3331
swarmB.transport.add('tcp', new TCP())
34-
swarmB.transport.listen('tcp', {}, null, ready)
35-
36-
var counter = 0
3732

38-
function ready () {
39-
if (++counter === 2) {
40-
done()
41-
}
42-
}
33+
parallel([
34+
(cb) => swarmA.transport.listen('tcp', {}, null, cb),
35+
(cb) => swarmB.transport.listen('tcp', {}, null, cb)
36+
], done)
4337
})
4438

4539
after((done) => {

test/09-swarm-with-muxing.node.js

+32-49
Original file line numberDiff line numberDiff line change
@@ -61,21 +61,14 @@ describe('high level API - with everything mixed all together!', function () {
6161
peerC.multiaddr.add(multiaddr('/ip4/127.0.0.1/tcp/0'))
6262

6363
swarmA.transport.add('tcp', new TCP())
64-
swarmA.transport.listen('tcp', {}, null, ready)
65-
6664
swarmB.transport.add('tcp', new TCP())
67-
swarmB.transport.listen('tcp', {}, null, ready)
68-
6965
swarmC.transport.add('tcp', new TCP())
70-
swarmC.transport.listen('tcp', {}, null, ready)
7166

72-
var counter = 0
73-
74-
function ready () {
75-
if (++counter === 3) {
76-
done()
77-
}
78-
}
67+
parallel([
68+
(cb) => swarmA.transport.listen('tcp', {}, null, cb),
69+
(cb) => swarmB.transport.listen('tcp', {}, null, cb),
70+
(cb) => swarmC.transport.listen('tcp', {}, null, cb)
71+
], done)
7972
})
8073

8174
it.skip('add utp', (done) => {})
@@ -87,27 +80,19 @@ describe('high level API - with everything mixed all together!', function () {
8780
peerE.multiaddr.add(multiaddr('/ip4/127.0.0.1/tcp/9042/websockets'))
8881

8982
swarmB.transport.add('ws', new WebSockets())
90-
swarmB.transport.listen('ws', {}, null, ready)
91-
9283
swarmC.transport.add('ws', new WebSockets())
93-
swarmC.transport.listen('ws', {}, null, ready)
94-
9584
swarmD.transport.add('ws', new WebSockets())
96-
swarmD.transport.listen('ws', {}, null, ready)
97-
9885
swarmE.transport.add('ws', new WebSockets())
99-
swarmE.transport.listen('ws', {}, null, ready)
10086

101-
var counter = 0
102-
103-
function ready () {
104-
if (++counter === 4) {
105-
done()
106-
}
107-
}
87+
parallel([
88+
(cb) => swarmB.transport.listen('ws', {}, null, cb),
89+
(cb) => swarmC.transport.listen('ws', {}, null, cb),
90+
(cb) => swarmD.transport.listen('ws', {}, null, cb),
91+
(cb) => swarmE.transport.listen('ws', {}, null, cb)
92+
], done)
10893
})
10994

110-
it('add spdy', (done) => {
95+
it('add spdy', () => {
11196
swarmA.connection.addStreamMuxer(spdy)
11297
swarmB.connection.addStreamMuxer(spdy)
11398
swarmC.connection.addStreamMuxer(spdy)
@@ -119,26 +104,26 @@ describe('high level API - with everything mixed all together!', function () {
119104
swarmC.connection.reuse()
120105
swarmD.connection.reuse()
121106
swarmE.connection.reuse()
122-
123-
done()
124107
})
125108

126-
it.skip('add multiplex', (done) => {})
109+
it.skip('add multiplex', () => {})
127110

128111
it('warm up from A to B on tcp to tcp+ws', (done) => {
129-
swarmB.once('peer-mux-established', (peerInfo) => {
130-
expect(peerInfo.id.toB58String()).to.equal(peerA.id.toB58String())
131-
})
132-
133-
swarmA.once('peer-mux-established', (peerInfo) => {
134-
expect(peerInfo.id.toB58String()).to.equal(peerB.id.toB58String())
135-
})
136-
137-
swarmA.dial(peerB, (err) => {
138-
expect(err).to.not.exist
139-
expect(Object.keys(swarmA.muxedConns).length).to.equal(1)
140-
done()
141-
})
112+
parallel([
113+
(cb) => swarmB.once('peer-mux-established', (peerInfo) => {
114+
expect(peerInfo.id.toB58String()).to.equal(peerA.id.toB58String())
115+
cb()
116+
}),
117+
(cb) => swarmA.once('peer-mux-established', (peerInfo) => {
118+
expect(peerInfo.id.toB58String()).to.equal(peerB.id.toB58String())
119+
cb()
120+
}),
121+
(cb) => swarmA.dial(peerB, (err) => {
122+
expect(err).to.not.exist
123+
expect(Object.keys(swarmA.muxedConns).length).to.equal(1)
124+
cb()
125+
})
126+
], done)
142127
})
143128

144129
it('warm up a warmed up, from B to A', (done) => {
@@ -225,11 +210,9 @@ describe('high level API - with everything mixed all together!', function () {
225210
})
226211

227212
it('close a muxer emits event', (done) => {
228-
swarmC.close((err) => {
229-
if (err) throw err
230-
})
231-
swarmA.once('peer-mux-closed', (peerInfo) => {
232-
done()
233-
})
213+
parallel([
214+
(cb) => swarmC.close(cb),
215+
(cb) => swarmA.once('peer-mux-closed', () => cb())
216+
], done)
234217
})
235218
})

test/browser.js

+4-10
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,12 @@ describe('transport - websockets', function () {
2222

2323
var swarm
2424

25-
before((done) => {
25+
before(() => {
2626
const b58IdSrc = 'QmYzgdesgjdvD3okTPGZT9NPmh1BuH5FfTVNKjsvaAprhb'
2727
// use a pre generated Id to save time
2828
const idSrc = Id.createFromB58String(b58IdSrc)
2929
const peerSrc = new Peer(idSrc)
3030
swarm = new Swarm(peerSrc)
31-
32-
done()
3331
})
3432

3533
it('add', (done) => {
@@ -62,35 +60,31 @@ describe('high level API - 1st without stream multiplexing (on websockets)', fun
6260
var swarm
6361
var peerDst
6462

65-
before((done) => {
63+
before(() => {
6664
const b58IdSrc = 'QmYzgdesgjdvD3okTPGZT9NPmh1BuH5FfTVNKjsvaAprhb'
6765
// use a pre generated Id to save time
6866
const idSrc = Id.createFromB58String(b58IdSrc)
6967
const peerSrc = new Peer(idSrc)
7068
swarm = new Swarm(peerSrc)
71-
72-
done()
7369
})
7470

7571
after((done) => {
7672
swarm.close(done)
7773
})
7874

79-
it('add ws', (done) => {
75+
it('add ws', () => {
8076
swarm.transport.add('ws', new WebSockets())
8177
expect(Object.keys(swarm.transports).length).to.equal(1)
82-
done()
8378
})
8479

85-
it('create Dst peer info', (done) => {
80+
it('create Dst peer info', () => {
8681
const b58IdDst = 'QmYzgdesgjdvD3okTPGZT9NPmh1BuH5FfTVNKjsvaAprhb'
8782
// use a pre generated Id to save time
8883
const idDst = Id.createFromB58String(b58IdDst)
8984
peerDst = new Peer(idDst)
9085

9186
const ma = multiaddr('/ip4/127.0.0.1/tcp/9200/websockets')
9287
peerDst.multiaddr.add(ma)
93-
done()
9488
})
9589

9690
it('dial on protocol', (done) => {

0 commit comments

Comments
 (0)