js-libp2p-interfaces/src/dial-test.js

74 lines
1.4 KiB
JavaScript
Raw Normal View History

2016-09-02 13:31:28 +02:00
/* eslint-env mocha */
'use strict'
2017-03-21 14:23:00 +00:00
const chai = require('chai')
const dirtyChai = require('dirty-chai')
const expect = chai.expect
chai.use(dirtyChai)
2016-09-02 13:31:28 +02:00
const pull = require('pull-stream')
const goodbye = require('pull-goodbye')
const serializer = require('pull-serializer')
2016-09-02 13:31:28 +02:00
module.exports = (common) => {
describe('dial', () => {
let addrs
let transport
let listener
before((done) => {
common.setup((err, _transport, _addrs) => {
if (err) return done(err)
transport = _transport
addrs = _addrs
done()
})
})
after((done) => {
common.teardown(done)
})
beforeEach((done) => {
listener = transport.createListener((conn) => {
pull(conn, conn)
2016-09-02 13:31:28 +02:00
})
listener.listen(addrs[0], done)
})
afterEach((done) => {
listener.close(done)
})
it('simple', (done) => {
const s = serializer(goodbye({
source: pull.values(['hey']),
2016-09-02 13:31:28 +02:00
sink: pull.collect((err, values) => {
2017-03-21 14:23:00 +00:00
expect(err).to.not.exist()
2016-09-02 13:31:28 +02:00
expect(
values
).to.be.eql(
['hey']
2016-09-02 13:31:28 +02:00
)
done()
})
}))
2016-09-02 13:31:28 +02:00
pull(
s,
transport.dial(addrs[0]),
s
)
2016-09-02 13:31:28 +02:00
})
it('to non existent listener', (done) => {
pull(
transport.dial(addrs[1]),
pull.onEnd((err) => {
2017-03-21 14:23:00 +00:00
expect(err).to.exist()
2016-09-02 13:31:28 +02:00
done()
})
)
})
})
}