handle_inv tests

This commit is contained in:
Manuel Araoz 2014-01-16 16:12:32 -03:00
parent 8c2e118f76
commit 1df72a818c
4 changed files with 36 additions and 13 deletions

View File

@ -32,7 +32,6 @@
"afterEach",
"it",
"inject",
"expect",
"$",
"io",
"app",

View File

@ -111,6 +111,12 @@ function spec() {
peerman.start();
};
PeerSync.prototype.close = function() {
this.sync.close();
};
return PeerSync;
}

View File

@ -266,7 +266,7 @@ function spec() {
this.rpc = new RpcClient(config.bitcoind);
if (!(opts && opts.skip_db_connection)) {
if (!(opts && opts.skip_db_connection) && !mongoose.connection) {
mongoose.connect(config.db, {server: {auto_reconnect: true}} );
}
this.opts = opts;
@ -364,8 +364,9 @@ function spec() {
sync();
}, retry_secs * 1000);
}
else
return next(err, that.block_count);
else {
return next(err, that.block_count);
}
});
}
@ -377,7 +378,6 @@ function spec() {
};
Sync.prototype.close = function() {
console.log("closing connection");
this.db.close();
};
return Sync;

View File

@ -1,21 +1,39 @@
'use strict';
var assert = require('assert');
var chai = require('chai'),
expect = chai.expect,
sinon = require('sinon');
var PeerSync = require('../../lib/PeerSync.js').class();
describe('Unit testing PeerSync', function() {
var ps;
describe('PeerSync', function() {
var ps, inv_info;
beforeEach(function() {
ps = new PeerSync();
ps.init();
});
afterEach(function(){
ps.close();
});
describe('#init()', function() {
it('should return with no errors', function() {
assert.doesNotThrow(function() {
ps.init();
});
var other_ps = new PeerSync();
expect(other_ps.init.bind(other_ps)).not.to.throw(Error);
other_ps.close();
});
});
describe('#handle_inv()', function() {
it('should return with no errors');
it('should call sendGetData');
inv_info = {
message: {invs: []},
conn: {sendGetData: sinon.spy()}
};
it('should return with no errors', function(){
expect(function() {
ps.handle_inv(inv_info);
}).not.to.throw(Error);
});
it('should call sendGetData', function() {
ps.handle_inv(inv_info);
expect(inv_info.conn.calledOnce);
});
});
describe('#handle_tx()', function() {
it('should call storeTxs');