Skip to content

Commit 95f029e

Browse files
mkg20001daviddias
authored andcommitted
feat: Bring libp2p-websocket-star to the Transports family! 🌟 (#122)
* test: add libp2p-websocket-star tests * refactor: websocket-star-{signal => rendezvous} * misc: Apply requested changes * chore: update deps * refactor: considerable amount of refactor, clean up test structure * use right flag * test: refactor transport tests
1 parent 38a68a0 commit 95f029e

23 files changed

+1207
-1086
lines changed

.aegir.js

+43-30
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,63 @@
11
'use strict'
22

3-
const Node = require('./test/nodejs-bundle/nodejs-bundle.js')
43
const PeerInfo = require('peer-info')
54
const PeerId = require('peer-id')
65
const pull = require('pull-stream')
6+
const parallel = require('async/parallel')
77

8+
const rawPeer = require('./test/fixtures/test-peer.json')
9+
const Node = require('./test/utils/bundle.node.js')
810
const sigServer = require('libp2p-webrtc-star/src/sig-server')
9-
let server
11+
const WebSocketStarRendezvous = require('libp2p-websocket-star-rendezvous')
1012

13+
let wrtcRendezvous
14+
let wsRendezvous
1115
let node
12-
const rawPeer = require('./test/browser-bundle/peer.json')
1316

1417
const before = (done) => {
15-
let count = 0
16-
const ready = () => ++count === 2 ? done() : null
18+
parallel([
19+
(cb) => {
20+
sigServer.start({ port: 15555 }, (err, server) => {
21+
if (err) { return cb(err) }
22+
wrtcRendezvous = server
23+
cb()
24+
})
25+
},
26+
(cb) => {
27+
WebSocketStarRendezvous.start({
28+
port: 14444,
29+
refreshPeerListIntervalMS: 1000,
30+
strictMultiaddr: false,
31+
cryptoChallenge: false
32+
}, (err, _server) => {
33+
if (err) { return cb(err) }
34+
wsRendezvous = _server
35+
cb()
36+
})
37+
},
38+
(cb) => {
39+
PeerId.createFromJSON(rawPeer, (err, peerId) => {
40+
if (err) {
41+
return done(err)
42+
}
43+
const peer = new PeerInfo(peerId)
1744

18-
sigServer.start({ port: 15555 }, (err, _server) => {
19-
if (err) {
20-
throw err
21-
}
22-
server = _server
23-
ready()
24-
})
45+
peer.multiaddrs.add('/ip4/127.0.0.1/tcp/9200/ws')
2546

26-
PeerId.createFromJSON(rawPeer, (err, peerId) => {
27-
if (err) {
28-
return done(err)
47+
node = new Node(peer)
48+
node.handle('/echo/1.0.0', (protocol, conn) => pull(conn, conn))
49+
node.start(cb)
50+
})
2951
}
30-
const peer = new PeerInfo(peerId)
31-
32-
peer.multiaddrs.add('/ip4/127.0.0.1/tcp/9200/ws')
33-
34-
node = new Node(peer)
35-
node.handle('/echo/1.0.0', (protocol, conn) => pull(conn, conn))
36-
node.start(() => ready())
37-
})
52+
], done)
3853
}
3954

4055
const after = (done) => {
41-
setTimeout(() => node.stop((err) => {
42-
if (err) {
43-
return done(err)
44-
}
45-
server.stop(done)
46-
}), 2000)
56+
setTimeout(() => parallel(
57+
[node, wrtcRendezvous, wsRendezvous].map((s) => {
58+
return (cb) => s.stop(cb)
59+
})
60+
, done), 2000)
4761
}
4862

4963
module.exports = {
@@ -52,4 +66,3 @@ module.exports = {
5266
post: after
5367
}
5468
}
55-

package.json

+4-2
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,15 @@
3939
"dependencies": {
4040
"async": "^2.6.0",
4141
"libp2p-ping": "~0.6.0",
42-
"libp2p-swarm": "~0.33.1",
42+
"libp2p-swarm": "~0.33.2",
4343
"mafmt": "^3.0.2",
4444
"multiaddr": "^3.0.1",
4545
"peer-book": "~0.5.1",
4646
"peer-id": "~0.10.2",
4747
"peer-info": "~0.11.1"
4848
},
4949
"devDependencies": {
50-
"aegir": "^12.1.3",
50+
"aegir": "^12.2.0",
5151
"chai": "^4.1.2",
5252
"cids": "~0.5.2",
5353
"dirty-chai": "^2.0.1",
@@ -62,6 +62,8 @@
6262
"libp2p-tcp": "~0.11.1",
6363
"libp2p-webrtc-star": "~0.13.2",
6464
"libp2p-websockets": "~0.10.4",
65+
"libp2p-websocket-star": "~0.5.1",
66+
"libp2p-websocket-star-rendezvous": "~0.2.1",
6567
"lodash.times": "^4.3.2",
6668
"pre-commit": "^1.2.2",
6769
"pull-goodbye": "0.0.2",

test/browser-bundle/webrtc-star-only.js

-121
This file was deleted.

0 commit comments

Comments
 (0)