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 logger = require('./logger');
function NetworkMonitor(eventBus, opts) {
$.checkArgument(eventBus instanceof EventBus);
function NetworkMonitor(eventBus, peer) {
$.checkArgument(eventBus);
$.checkArgument(peer);
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.setupPeer(peer);
}
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) {
var self = this;

View File

@ -2,29 +2,38 @@
var chai = require('chai');
var should = chai.should();
var sinon = require('sinon');
var bitcore = require('bitcore');
var Transaction = bitcore.Transaction;
var EventEmitter = require('events').EventEmitter;
var NetworkMonitor = require('../lib/networkmonitor');
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() {
this.timeout(10000);
// mocks
var mockTx, busMock, peerMock;
beforeEach(function() {
mockTx = new Transaction();
busMock = new EventBus();
peerMock = new EventEmitter();
peerMock.connect = function() {
this.emit('tx', {
transaction: mockTx
});
};
});
it('instantiate', function() {
var nm = new NetworkMonitor(bus);
var nm = new NetworkMonitor(busMock, peerMock);
should.exist(nm);
});
it('start', function(cb) {
var nm = new NetworkMonitor(bus);
bus.register(bitcore.Transaction, function(tx) {
console.log('new tx: ', tx.id);
var nm = new NetworkMonitor(busMock, peerMock);
busMock.register(bitcore.Transaction, function(tx) {
tx.id.should.equal(mockTx.id);
cb();
});
nm.start();
});