Merge pull request #27 from diasdavid/tests/websockets

add websockets to the battery of tests, everything checks out
This commit is contained in:
David Dias 2016-03-15 11:18:07 +00:00
commit c4f87f0a33
2 changed files with 68 additions and 7 deletions

View File

@ -34,6 +34,7 @@
"istanbul": "^0.4.2",
"libp2p-spdy": "^0.2.3",
"libp2p-tcp": "^0.4.0",
"libp2p-websockets": "^0.2.0",
"mocha": "^2.4.5",
"multiaddr": "^1.3.0",
"peer-id": "^0.6.0",

View File

@ -8,6 +8,7 @@ const multiaddr = require('multiaddr')
const Peer = require('peer-info')
const Swarm = require('../src')
const TCP = require('libp2p-tcp')
const WebSockets = require('libp2p-websockets')
const bl = require('bl')
const spdy = require('libp2p-spdy')
@ -174,18 +175,77 @@ describe('transport - tcp', function () {
})
})
describe('transport - udt', function () {
describe('transport - websockets', function () {
this.timeout(10000)
before((done) => { done() })
var swarmA
var swarmB
var peerA = new Peer()
var peerB = new Peer()
it.skip('add', (done) => {})
it.skip('listen', (done) => {})
it.skip('dial', (done) => {})
it.skip('close', (done) => {})
before((done) => {
peerA.multiaddr.add(multiaddr('/ip4/127.0.0.1/tcp/9888/websockets'))
peerB.multiaddr.add(multiaddr('/ip4/127.0.0.1/tcp/9999/websockets'))
swarmA = new Swarm(peerA)
swarmB = new Swarm(peerB)
done()
})
it('add', (done) => {
swarmA.transport.add('ws', new WebSockets())
expect(Object.keys(swarmA.transports).length).to.equal(1)
swarmB.transport.add('ws', new WebSockets(), () => {
expect(Object.keys(swarmB.transports).length).to.equal(1)
done()
})
})
it('listen', (done) => {
var count = 0
swarmA.transport.listen('ws', {}, (conn) => {
conn.pipe(conn)
}, ready)
swarmB.transport.listen('ws', {}, (conn) => {
conn.pipe(conn)
}, ready)
function ready () {
if (++count === 2) {
expect(peerA.multiaddrs.length).to.equal(1)
expect(peerA.multiaddrs[0]).to.deep.equal(multiaddr('/ip4/127.0.0.1/tcp/9888/websockets'))
expect(peerB.multiaddrs.length).to.equal(1)
expect(peerB.multiaddrs[0]).to.deep.equal(multiaddr('/ip4/127.0.0.1/tcp/9999/websockets'))
done()
}
}
})
it('dial', (done) => {
const conn = swarmA.transport.dial('ws', multiaddr('/ip4/127.0.0.1/tcp/9999/websockets'), (err, conn) => {
expect(err).to.not.exist
})
conn.pipe(bl((err, data) => {
expect(err).to.not.exist
done()
}))
conn.write('hey')
conn.end()
})
it('close', (done) => {
var count = 0
swarmA.transport.close('ws', closed)
swarmB.transport.close('ws', closed)
function closed () {
if (++count === 2) {
done()
}
}
})
})
describe('transport - websockets', function () {
describe('transport - utp', function () {
this.timeout(10000)
before((done) => { done() })