js-libp2p/tests/swarm-test.js

85 lines
1.5 KiB
JavaScript
Raw Normal View History

2015-07-08 23:01:36 -07:00
var Lab = require('lab')
var Code = require('code')
var lab = exports.lab = Lab.script()
var experiment = lab.experiment
var test = lab.test
var beforeEach = lab.beforeEach
var afterEach = lab.afterEach
var expect = Code.expect
var multiaddr = require('multiaddr')
var Id = require('ipfs-peer-id')
var Peer = require('ipfs-peer')
var Swarm = require('../src/index.js')
2015-07-09 13:53:03 -07:00
var swarmA
var swarmB
var peerA
var peerB
beforeEach(function (done) {
swarmA = new Swarm()
swarmB = new Swarm()
var c = new Counter(2, done)
swarmA.listen(4000, function () {
peerA = new Peer(Id.create(), [multiaddr('/ip4/127.0.0.1/tcp/' + swarmA.port)])
c.hit()
})
swarmB.listen(4001, function () {
peerB = new Peer(Id.create(), [multiaddr('/ip4/127.0.0.1/tcp/' + swarmB.port)])
c.hit()
2015-07-08 23:01:36 -07:00
})
2015-07-09 13:53:03 -07:00
})
2015-07-08 23:01:36 -07:00
2015-07-09 13:53:03 -07:00
afterEach(function (done) {
var c = new Counter(2, done)
swarmA.close(function () {
c.hit()
})
swarmB.close(function () {
c.hit()
2015-07-08 23:01:36 -07:00
})
2015-07-09 13:53:03 -07:00
})
experiment('BASE', function () {
2015-07-08 23:01:36 -07:00
test('Open a stream', {timeout: false}, function (done) {
var protocol = '/sparkles/3.3.3'
var c = new Counter(2, done)
2015-07-09 13:53:03 -07:00
swarmB.registerHandle(protocol, function (stream) {
c.hit()
2015-07-08 23:01:36 -07:00
})
2015-07-09 13:53:03 -07:00
swarmA.openStream(peerB, protocol, function (err, stream) {
2015-07-08 23:01:36 -07:00
expect(err).to.not.be.instanceof(Error)
2015-07-09 13:53:03 -07:00
c.hit()
2015-07-08 23:01:36 -07:00
})
})
2015-07-09 13:53:03 -07:00
})
experiment('IDENTIFY', function () {
})
2015-07-08 23:01:36 -07:00
2015-07-09 13:53:03 -07:00
experiment('HARDNESS', function () {
2015-07-08 23:01:36 -07:00
2015-07-09 13:53:03 -07:00
})
function Counter (target, callback) {
var c = 0
this.hit = count
2015-07-08 23:01:36 -07:00
2015-07-09 13:53:03 -07:00
function count () {
c += 1
if (c === target) {
callback()
2015-07-08 23:01:36 -07:00
}
}
2015-07-09 13:53:03 -07:00
}
2015-07-08 23:01:36 -07:00