fix NetworkMonitor tests

This commit is contained in:
Manuel Araoz 2015-02-25 16:42:06 -03:00
parent 71a3227771
commit c84c66f201
2 changed files with 32 additions and 21 deletions

View File

@ -14,21 +14,23 @@ var Peer = p2p.Peer;
var Messages = p2p.Messages; var Messages = p2p.Messages;
var logger = require('./logger'); var logger = require('./logger');
function NetworkMonitor(eventBus, opts) { function NetworkMonitor(eventBus, peer) {
$.checkArgument(eventBus instanceof EventBus); $.checkArgument(eventBus);
$.checkArgument(peer);
this.bus = eventBus; this.bus = eventBus;
opts = opts || {};
opts.network = opts.network || Networks.defaultNetwork;
opts.host = opts.host || 'localhost';
opts.port = opts.port || Networks.defaultNetwork.port;
var peer = new Peer(opts.host, opts.port, opts.network);
this.peer = peer; this.peer = peer;
this.setupPeer(peer); this.setupPeer(peer);
} }
util.inherits(NetworkMonitor, EventEmitter); util.inherits(NetworkMonitor, EventEmitter);
NetworkMonitor.create = function(eventBus, opts) {
opts.network = opts.network || Networks.defaultNetwork;
opts.host = opts.host || 'localhost';
opts.port = opts.port || Networks.defaultNetwork.port;
var peer = new Peer(opts.host, opts.port, opts.network);
return new NetworkMonitor(eventBus, peer);
};
NetworkMonitor.prototype.setupPeer = function(peer) { NetworkMonitor.prototype.setupPeer = function(peer) {
var self = this; var self = this;

View File

@ -2,29 +2,38 @@
var chai = require('chai'); var chai = require('chai');
var should = chai.should(); var should = chai.should();
var sinon = require('sinon');
var bitcore = require('bitcore'); var bitcore = require('bitcore');
var Transaction = bitcore.Transaction;
var EventEmitter = require('events').EventEmitter;
var NetworkMonitor = require('../lib/networkmonitor'); var NetworkMonitor = require('../lib/networkmonitor');
var EventBus = require('../lib/eventbus'); var EventBus = require('../lib/eventbus');
var util = require('util');
var Promise = require('bluebird');
Promise.longStackTraces();
var bus = new EventBus(); //sinon.createStubInstance(EventBus); describe('NetworkMonitor', function() {
describe.only('NetworkMonitor', function() { // mocks
var mockTx, busMock, peerMock;
this.timeout(10000); beforeEach(function() {
mockTx = new Transaction();
busMock = new EventBus();
peerMock = new EventEmitter();
peerMock.connect = function() {
this.emit('tx', {
transaction: mockTx
});
};
});
it('instantiate', function() { it('instantiate', function() {
var nm = new NetworkMonitor(bus); var nm = new NetworkMonitor(busMock, peerMock);
should.exist(nm); should.exist(nm);
}); });
it('start', function(cb) { it('start', function(cb) {
var nm = new NetworkMonitor(bus); var nm = new NetworkMonitor(busMock, peerMock);
bus.register(bitcore.Transaction, function(tx) { busMock.register(bitcore.Transaction, function(tx) {
console.log('new tx: ', tx.id); tx.id.should.equal(mockTx.id);
cb();
}); });
nm.start(); nm.start();
}); });