mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-03-16 23:50:51 +00:00
62 lines
1.3 KiB
JavaScript
62 lines
1.3 KiB
JavaScript
/* eslint-env mocha */
|
|
'use strict'
|
|
|
|
const chai = require('chai')
|
|
chai.use(require('dirty-chai'))
|
|
const expect = chai.expect
|
|
const parallel = require('async/parallel')
|
|
|
|
const createNode = require('./utils/create-node.js')
|
|
const echo = require('./utils/echo')
|
|
|
|
describe('ping', () => {
|
|
let nodeA
|
|
let nodeB
|
|
|
|
before((done) => {
|
|
parallel([
|
|
(cb) => createNode('/ip4/0.0.0.0/tcp/0', (err, node) => {
|
|
expect(err).to.not.exist()
|
|
nodeA = node
|
|
node.handle('/echo/1.0.0', echo)
|
|
node.start(cb)
|
|
}),
|
|
(cb) => createNode('/ip4/0.0.0.0/tcp/0', (err, node) => {
|
|
expect(err).to.not.exist()
|
|
nodeB = node
|
|
node.handle('/echo/1.0.0', echo)
|
|
node.start(cb)
|
|
})
|
|
], done)
|
|
})
|
|
|
|
after((done) => {
|
|
parallel([
|
|
(cb) => nodeA.stop(cb),
|
|
(cb) => nodeB.stop(cb)
|
|
], done)
|
|
})
|
|
|
|
it('should be able to ping another node', (done) => {
|
|
nodeA.ping(nodeB.peerInfo, (err, ping) => {
|
|
expect(err).to.not.exist()
|
|
ping.once('ping', (time) => {
|
|
expect(time).to.exist()
|
|
ping.stop()
|
|
done()
|
|
})
|
|
|
|
ping.start()
|
|
})
|
|
})
|
|
|
|
it('should be not be able to ping when stopped', (done) => {
|
|
nodeA.stop(() => {
|
|
nodeA.ping(nodeB.peerInfo, (err) => {
|
|
expect(err).to.exist()
|
|
done()
|
|
})
|
|
})
|
|
})
|
|
})
|