added test coverage for peer
This commit is contained in:
parent
1dfe7091b4
commit
608e41de07
@ -257,6 +257,9 @@ function builder(options) {
|
||||
/* ping */
|
||||
|
||||
commands.ping = function(options) {
|
||||
if (!options) {
|
||||
options = {};
|
||||
}
|
||||
Message.call(this, options);
|
||||
this.command = 'ping';
|
||||
this.magicNumber = magicNumber;
|
||||
|
||||
46
test/peer.js
46
test/peer.js
@ -14,6 +14,9 @@ var bitcore = require('bitcore');
|
||||
var _ = bitcore.deps._;
|
||||
var P2P = require('../');
|
||||
var Peer = P2P.Peer;
|
||||
var EventEmitter = require('events').EventEmitter;
|
||||
var Messages = P2P.Messages;
|
||||
var messages = new Messages();
|
||||
var Networks = bitcore.Networks;
|
||||
|
||||
describe('Peer', function() {
|
||||
@ -121,6 +124,49 @@ describe('Peer', function() {
|
||||
peer.should.equal(peer2);
|
||||
});
|
||||
|
||||
it('send pong on ping', function(done) {
|
||||
var peer = new Peer({host: 'localhost'});
|
||||
var pingMessage = messages.build('ping');
|
||||
peer.sendMessage = function(message) {
|
||||
message.command.should.equal('pong');
|
||||
message.nonce.should.equal(pingMessage.nonce);
|
||||
done();
|
||||
};
|
||||
peer.emit('ping', pingMessage);
|
||||
});
|
||||
|
||||
it('relay error from socket', function(done) {
|
||||
var peer = new Peer({host: 'localhost'});
|
||||
var socket = new EventEmitter();
|
||||
socket.connect = sinon.spy();
|
||||
peer._getSocket = function() {
|
||||
return socket;
|
||||
};
|
||||
var error = new Error('error');
|
||||
peer.on('error', function(err) {
|
||||
err.should.equal(error);
|
||||
done();
|
||||
});
|
||||
peer.connect();
|
||||
peer.socket.emit('error', error);
|
||||
});
|
||||
|
||||
it('disconnect with max buffer length', function(done) {
|
||||
var peer = new Peer({host: 'localhost'});
|
||||
var socket = new EventEmitter();
|
||||
socket.connect = sinon.spy();
|
||||
peer._getSocket = function() {
|
||||
return socket;
|
||||
};
|
||||
peer.disconnect = function() {
|
||||
done();
|
||||
};
|
||||
peer.connect();
|
||||
var buffer = new Buffer(Array(Peer.MAX_RECEIVE_BUFFER + 1));
|
||||
peer.socket.emit('data', buffer);
|
||||
|
||||
});
|
||||
|
||||
it('relay set properly', function() {
|
||||
var peer = new Peer({host: 'localhost'});
|
||||
peer.relay.should.equal(true);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user