Skip to content

Commit c4f87f0

Browse files
committed
Merge pull request libp2p#27 from diasdavid/tests/websockets
add websockets to the battery of tests, everything checks out
2 parents 6bcf48f + eda78d7 commit c4f87f0

File tree

2 files changed

+68
-7
lines changed

2 files changed

+68
-7
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
"istanbul": "^0.4.2",
3535
"libp2p-spdy": "^0.2.3",
3636
"libp2p-tcp": "^0.4.0",
37+
"libp2p-websockets": "^0.2.0",
3738
"mocha": "^2.4.5",
3839
"multiaddr": "^1.3.0",
3940
"peer-id": "^0.6.0",

tests/swarm-test.js

Lines changed: 67 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ const multiaddr = require('multiaddr')
88
const Peer = require('peer-info')
99
const Swarm = require('../src')
1010
const TCP = require('libp2p-tcp')
11+
const WebSockets = require('libp2p-websockets')
1112
const bl = require('bl')
1213
const spdy = require('libp2p-spdy')
1314

@@ -174,18 +175,77 @@ describe('transport - tcp', function () {
174175
})
175176
})
176177

177-
describe('transport - udt', function () {
178+
describe('transport - websockets', function () {
178179
this.timeout(10000)
179180

180-
before((done) => { done() })
181+
var swarmA
182+
var swarmB
183+
var peerA = new Peer()
184+
var peerB = new Peer()
181185

182-
it.skip('add', (done) => {})
183-
it.skip('listen', (done) => {})
184-
it.skip('dial', (done) => {})
185-
it.skip('close', (done) => {})
186+
before((done) => {
187+
peerA.multiaddr.add(multiaddr('/ip4/127.0.0.1/tcp/9888/websockets'))
188+
peerB.multiaddr.add(multiaddr('/ip4/127.0.0.1/tcp/9999/websockets'))
189+
swarmA = new Swarm(peerA)
190+
swarmB = new Swarm(peerB)
191+
done()
192+
})
193+
194+
it('add', (done) => {
195+
swarmA.transport.add('ws', new WebSockets())
196+
expect(Object.keys(swarmA.transports).length).to.equal(1)
197+
swarmB.transport.add('ws', new WebSockets(), () => {
198+
expect(Object.keys(swarmB.transports).length).to.equal(1)
199+
done()
200+
})
201+
})
202+
203+
it('listen', (done) => {
204+
var count = 0
205+
swarmA.transport.listen('ws', {}, (conn) => {
206+
conn.pipe(conn)
207+
}, ready)
208+
swarmB.transport.listen('ws', {}, (conn) => {
209+
conn.pipe(conn)
210+
}, ready)
211+
212+
function ready () {
213+
if (++count === 2) {
214+
expect(peerA.multiaddrs.length).to.equal(1)
215+
expect(peerA.multiaddrs[0]).to.deep.equal(multiaddr('/ip4/127.0.0.1/tcp/9888/websockets'))
216+
expect(peerB.multiaddrs.length).to.equal(1)
217+
expect(peerB.multiaddrs[0]).to.deep.equal(multiaddr('/ip4/127.0.0.1/tcp/9999/websockets'))
218+
done()
219+
}
220+
}
221+
})
222+
223+
it('dial', (done) => {
224+
const conn = swarmA.transport.dial('ws', multiaddr('/ip4/127.0.0.1/tcp/9999/websockets'), (err, conn) => {
225+
expect(err).to.not.exist
226+
})
227+
conn.pipe(bl((err, data) => {
228+
expect(err).to.not.exist
229+
done()
230+
}))
231+
conn.write('hey')
232+
conn.end()
233+
})
234+
235+
it('close', (done) => {
236+
var count = 0
237+
swarmA.transport.close('ws', closed)
238+
swarmB.transport.close('ws', closed)
239+
240+
function closed () {
241+
if (++count === 2) {
242+
done()
243+
}
244+
}
245+
})
186246
})
187247

188-
describe('transport - websockets', function () {
248+
describe('transport - utp', function () {
189249
this.timeout(10000)
190250

191251
before((done) => { done() })

0 commit comments

Comments
 (0)