mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-04-26 02:52:16 +00:00
45 lines
1.0 KiB
JavaScript
45 lines
1.0 KiB
JavaScript
|
/* eslint-env mocha */
|
||
|
'use strict'
|
||
|
|
||
|
const chai = require('chai')
|
||
|
chai.use(require('dirty-chai'))
|
||
|
const expect = chai.expect
|
||
|
|
||
|
const Prepare = require('./utils/prepare')
|
||
|
|
||
|
const PEER_COUNT = 3
|
||
|
|
||
|
describe('setPeerValue', function () {
|
||
|
const prepare = Prepare(PEER_COUNT, [{
|
||
|
maxPeers: 1,
|
||
|
defaultPeerValue: 0
|
||
|
}])
|
||
|
before(prepare.create)
|
||
|
after(prepare.after)
|
||
|
|
||
|
it('kicks out lower valued peer first', function (done) {
|
||
|
let disconnects = 0
|
||
|
let firstConnectedPeer
|
||
|
const manager = prepare.connManagers()[0]
|
||
|
|
||
|
manager.once('connected', (peerId) => {
|
||
|
if (!firstConnectedPeer) {
|
||
|
firstConnectedPeer = peerId
|
||
|
manager.setPeerValue(peerId, 1)
|
||
|
}
|
||
|
})
|
||
|
|
||
|
manager.on('disconnected', (peerId) => {
|
||
|
disconnects++
|
||
|
expect(disconnects).to.be.most(PEER_COUNT - 2)
|
||
|
expect(peerId).to.not.be.equal(firstConnectedPeer)
|
||
|
manager.removeAllListeners('disconnected')
|
||
|
done()
|
||
|
})
|
||
|
|
||
|
prepare.tryConnectAll((err) => {
|
||
|
expect(err).to.not.exist()
|
||
|
})
|
||
|
})
|
||
|
})
|