From a698c172f709a7f4c685a29db632989a5af91587 Mon Sep 17 00:00:00 2001 From: Braydon Fuller Date: Tue, 2 Feb 2016 15:21:11 -0500 Subject: [PATCH 1/2] Better handle missing addrs property --- lib/addresses.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/addresses.js b/lib/addresses.js index 765faab84..b65921ec1 100644 --- a/lib/addresses.js +++ b/lib/addresses.js @@ -85,15 +85,14 @@ AddressController.prototype.checkAddr = function(req, res, next) { AddressController.prototype.checkAddrs = function(req, res, next) { if(req.body.addrs) { req.addrs = req.body.addrs.split(','); - } else { + } else if (req.params.addrs) { req.addrs = req.params.addrs.split(','); } - this.check(req, res, next, req.addrs); -} +}; AddressController.prototype.check = function(req, res, next, addresses) { - if(!addresses.length || !addresses[0]) { + if(!addresses || !addresses.length || !addresses[0]) { return common.handleErrors({ message: 'Must include address', code: 1 @@ -101,8 +100,9 @@ AddressController.prototype.check = function(req, res, next, addresses) { } for(var i = 0; i < addresses.length; i++) { + var address; try { - var a = new bitcore.Address(addresses[i]); + address = new bitcore.Address(addresses[i], this.node.network); } catch(e) { return common.handleErrors({ message: 'Invalid address: ' + e.message, From 4f29eeb6b993bcc42de47151b05ca09087399274 Mon Sep 17 00:00:00 2001 From: Braydon Fuller Date: Tue, 2 Feb 2016 15:47:21 -0500 Subject: [PATCH 2/2] Added test for missing addrs property --- test/addresses.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/test/addresses.js b/test/addresses.js index 03e6c5953..593a8be28 100644 --- a/test/addresses.js +++ b/test/addresses.js @@ -170,6 +170,28 @@ var utxos = [ } ]; +describe('Addresses Methods', function() { + it('#checkAddrs', function(done) { + var addresses = new AddressController({}); + var req = { + body: {}, + params: {} + }; + var status = sinon.stub().returns({ + send: function(data) { + status.args[0][0].should.equal(400); + data.should.match(/^Must include address/); + done(); + } + }) + var res = { + send: sinon.stub(), + status: status + }; + addresses.checkAddr(req, res, function() {}); + }); +}); + describe('Addresses', function() { var summary = { balance: 0,