From 89cee5804f01301d0e8e69be98658e6a6249787c Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Tue, 27 Jan 2015 13:16:50 -0300 Subject: [PATCH] polish tests --- test/index.html | 18 ----- test/pool.js | 172 ++++++++++++++++++++++++------------------------ 2 files changed, 87 insertions(+), 103 deletions(-) delete mode 100644 test/index.html diff --git a/test/index.html b/test/index.html deleted file mode 100644 index 3280e5e..0000000 --- a/test/index.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - Mocha - - - - - -
- - - - - - diff --git a/test/pool.js b/test/pool.js index 1af891b..91ab03c 100644 --- a/test/pool.js +++ b/test/pool.js @@ -1,105 +1,107 @@ 'use strict'; -if (typeof(window) === 'undefined'){ +var chai = require('chai'); - // Node.js Tests +/* jshint unused: false */ +var should = chai.should(); +var expect = chai.expect; - var chai = require('chai'); +var bitcore = require('bitcore'); +var P2P = require('../'); +var Peer = P2P.Peer; +var MessagesData = require('./data/messages'); +var Messages = P2P.Messages; +var Pool = P2P.Pool; +var Networks = bitcore.Networks; - /* jshint unused: false */ - var should = chai.should(); - var expect = chai.expect; +var dns = require('dns'); +var sinon = require('sinon'); - var bitcore = require('bitcore'); - var P2P = require('../'); - var Peer = P2P.Peer; - var MessagesData = require('./data/messages'); - var Messages = P2P.Messages; - var Pool = P2P.Pool; - var Networks = bitcore.Networks; +describe('Pool', function() { - var dns = require('dns'); - var sinon = require('sinon'); + it('should be able to create instance', function() { + var pool = new Pool(); + should.exist(pool.network); + expect(pool.network).to.satisfy(function(network) { + if (network === Networks.testnet || network === Networks.livenet) { + return true; + } + return false; + }); + }); - describe('Pool', function() { + it('should be able to create instance setting the network', function() { + var pool = new Peer(Networks.testnet); + pool.network.should.equal(Networks.livenet); + }); - it('should be able to create instance', function() { - var pool = new Pool(); - should.exist(pool.network); - expect(pool.network).to.satisfy(function(network){ - if (network === Networks.testnet || network === Networks.livenet) { - return true; - } - return false; - }); + it('should discover peers via dns', function() { + var stub = sinon.stub(dns, 'resolve', function(seed, callback) { + callback(null, ['10.10.10.1', '10.10.10.2', '10.10.10.3']); + }); + var pool = new Pool(Networks.livenet); + pool.connect(); + pool.disconnect(); + pool._addrs.length.should.equal(3); + stub.restore(); + }); + + it('should not discover peers via dns', function() { + var pool = new Pool(); + pool._addAddr({ + ip: { + v4: '10.10.10.1' + } + }); + pool.connect(); + pool.disconnect(); + pool._addrs.length.should.equal(1); + }); + + it('should add new addrs as they are announced over the network', function(done) { + + // only emit an event, no need to connect + var peerConnectStub = sinon.stub(Peer.prototype, 'connect', function() { + this._readMessage(); + this.emit('ready'); }); - it('should be able to create instance setting the network', function() { - var pool = new Peer(Networks.testnet); - pool.network.should.equal(Networks.livenet); + // mock a addr peer event + var peerMessageStub = sinon.stub(Peer.prototype, '_readMessage', function() { + var payload = new Buffer(MessagesData.ADDR.payload, 'hex'); + var message = new Messages.Addresses().fromBuffer(payload); + this.emit(message.command, message); }); - it('should discover peers via dns', function() { - var stub = sinon.stub(dns, 'resolve', function(seed, callback){ - callback(null, ['10.10.10.1', '10.10.10.2', '10.10.10.3']); - }); - var pool = new Pool(Networks.livenet); - pool.connect(); - pool.disconnect(); - pool._addrs.length.should.equal(3); - stub.restore(); + var pool = new Pool(); + + pool._addAddr({ + ip: { + v4: 'localhost' + } }); - it('should not discover peers via dns', function() { - var pool = new Pool(); - pool._addAddr({ip: {v4: '10.10.10.1'}}); - pool.connect(); - pool.disconnect(); - pool._addrs.length.should.equal(1); - }); - - it('should add new addrs as they are announced over the network', function(done) { - - // only emit an event, no need to connect - var peerConnectStub = sinon.stub(Peer.prototype, 'connect', function(){ - this._readMessage(); - this.emit('ready'); - }); - - // mock a addr peer event - var peerMessageStub = sinon.stub(Peer.prototype, '_readMessage', function(){ - var payload = new Buffer(MessagesData.ADDR.payload, 'hex'); - var message = new Messages.Addresses().fromBuffer(payload); - this.emit(message.command, message); - }); - - var pool = new Pool(); - - pool._addAddr({ip: {v4: 'localhost'}}); - - // listen for the event - pool.on('peeraddr', function(peer, message) { - pool._addrs.length.should.equal(502); - - // restore stubs - peerConnectStub.restore(); - peerMessageStub.restore(); - - for (var i = 0; i < pool._addrs.length; i++) { - should.exist(pool._addrs[i].hash); - should.exist(pool._addrs[i].ip); - should.exist(pool._addrs[i].ip.v4); - } - - // done - done(); - }); - - pool.connect(); - + // listen for the event + pool.on('peeraddr', function(peer, message) { + pool._addrs.length.should.equal(502); + + // restore stubs + peerConnectStub.restore(); + peerMessageStub.restore(); + + for (var i = 0; i < pool._addrs.length; i++) { + should.exist(pool._addrs[i].hash); + should.exist(pool._addrs[i].ip); + should.exist(pool._addrs[i].ip.v4); + } + + // done + done(); }); + pool.connect(); }); -} + +});