refactor: ping (#505)

* refactor: ping

* chore: ping is now a function

* chore: address review
This commit is contained in:
Vasco Santos
2019-12-10 19:26:54 +01:00
committed by Jacob Heun
parent 71f46bf4a6
commit 4f7586886c
10 changed files with 142 additions and 174 deletions

35
test/core/ping.node.js Normal file
View File

@ -0,0 +1,35 @@
'use strict'
/* eslint-env mocha */
const chai = require('chai')
chai.use(require('dirty-chai'))
const { expect } = chai
const pTimes = require('p-times')
const peerUtils = require('../utils/creators/peer')
const baseOptions = require('../utils/base-options')
describe('ping', () => {
let nodes
beforeEach(async () => {
nodes = await peerUtils.createPeer({
number: 2,
config: baseOptions
})
})
it('ping once from peer0 to peer1', async () => {
const latency = await nodes[0].ping(nodes[1].peerInfo)
expect(latency).to.be.a('Number')
})
it('ping several times for getting an average', async () => {
const latencies = await pTimes(5, () => nodes[1].ping(nodes[0].peerInfo))
const averageLatency = latencies.reduce((p, c) => p + c, 0) / latencies.length
expect(averageLatency).to.be.a('Number')
})
})