From c86b7c427769e0b7c423a9d8c121e9dcbf4c6abc Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Fri, 6 Mar 2015 17:03:38 -0300 Subject: [PATCH] move mocks to tests only --- api/controllers/blocks.js | 12 +++--------- api/controllers/transactions.js | 11 +++++++---- api/routes/v1.js | 5 +---- api/test/v1/blocks.js | 10 ++++++++++ api/test/v1/transactions.js | 3 +++ 5 files changed, 24 insertions(+), 17 deletions(-) diff --git a/api/controllers/blocks.js b/api/controllers/blocks.js index 12fa9972..4d4dc346 100644 --- a/api/controllers/blocks.js +++ b/api/controllers/blocks.js @@ -5,10 +5,6 @@ var _ = bitcore.deps._; var $ = bitcore.util.preconditions; var Block = bitcore.Block; -// mocks - -var mockBlocks = require('../test/data/blocks'); - var Blocks = {}; var node; @@ -25,8 +21,7 @@ Blocks.setNode = function(aNode) { * Finds a block by its hash */ Blocks.blockHashParam = function(req, res, next, blockHash) { - // TODO: fetch block from service - var block = mockBlocks[blockHash]; + var block = node.getBlock(blockHash); if (_.isUndefined(block)) { res.status(404).send('Block with id ' + blockHash + ' not found'); @@ -40,9 +35,8 @@ Blocks.blockHashParam = function(req, res, next, blockHash) { * Finds a block by its height */ Blocks.heightParam = function(req, res, next, height) { - // TODO: fetch block from service height = parseInt(height); - var block = mockBlocks[Object.keys(mockBlocks)[height]]; + var block = node.getBlock(height); if (_.isUndefined(block)) { res.status(404).send('Block with height ' + height + ' not found'); @@ -58,7 +52,7 @@ Blocks.heightParam = function(req, res, next, height) { */ Blocks.getLatest = function(req, res) { - req.block = mockBlocks[Object.keys(mockBlocks).splice(-1)[0]]; + req.block = node.getLatestBlock(); Blocks.get(req, res); }; diff --git a/api/controllers/transactions.js b/api/controllers/transactions.js index d65b87ae..089b05da 100644 --- a/api/controllers/transactions.js +++ b/api/controllers/transactions.js @@ -5,8 +5,6 @@ var _ = bitcore.deps._; var $ = bitcore.util.preconditions; var Transaction = bitcore.Transaction; -var mockTransactions = require('../test/data/transactions'); - var Transactions = {}; var node; @@ -23,8 +21,7 @@ Transactions.setNode = function(aNode) { * Finds a transaction by its hash */ Transactions.txHashParam = function(req, res, next, txHash) { - // TODO: fetch tx from service - var tx = mockTransactions[txHash]; + var tx = node.getTransaction(txHash); if (_.isUndefined(tx)) { res.status(404).send('Transaction with id ' + txHash + ' not found'); @@ -43,6 +40,12 @@ Transactions.get = function(req, res) { $.checkState(req.tx instanceof Transaction); res.send(req.tx.toObject()); }; + +Transactions.send = function(req, res) { + var tx = new Transaction(req.body); + node.broadcast(tx); +}; + Transactions.getTxError = function(req, res) { res.status(422); res.send('/v1/transactions/ parameter must be a 64 digit hex'); diff --git a/api/routes/v1.js b/api/routes/v1.js index 79aa649f..c2320476 100644 --- a/api/routes/v1.js +++ b/api/routes/v1.js @@ -36,10 +36,7 @@ function initRouter(node) { // Transaction routes router.get('/transactions', mockResponse); router.get('/transactions/:txHash([A-Fa-f0-9]{64})', Transactions.get); - router.get('/transactions/:txHash([A-Fa-f0-9]{64})/addresses', mockResponse); - router.get('/transactions/:txHash([A-Fa-f0-9]{64})/outputs/addresses', mockResponse); - router.get('/transactions/:txHash([A-Fa-f0-9]{64})/inputs/addresses', mockResponse); - router.post('/transactions/send', mockResponse); + router.post('/transactions/send', Transactions.send); // Input routes router.get('/transactions/:txHash/inputs', mockResponse); diff --git a/api/test/v1/blocks.js b/api/test/v1/blocks.js index 7aa69cba..cd609d5f 100644 --- a/api/test/v1/blocks.js +++ b/api/test/v1/blocks.js @@ -17,6 +17,16 @@ describe('BitcoreHTTP v1 blocks routes', function() { var nodeMock, app, agent; beforeEach(function() { nodeMock = new EventEmitter(); + nodeMock.getBlock = function(blockHash) { + if (typeof blockHash === 'number') { + var height = blockHash; + return mockBlocks[Object.keys(mockBlocks)[height]]; + } + return mockBlocks[blockHash]; + }; + nodeMock.getLatestBlock = function() { + return mockBlocks[Object.keys(mockBlocks).splice(-1)[0]]; + }; app = new BitcoreHTTP(nodeMock).app; agent = request(app); }); diff --git a/api/test/v1/transactions.js b/api/test/v1/transactions.js index e3c9dbf1..e8cd32fc 100644 --- a/api/test/v1/transactions.js +++ b/api/test/v1/transactions.js @@ -15,6 +15,9 @@ describe('BitcoreHTTP v1 transactions routes', function() { var nodeMock, app, agent; beforeEach(function() { nodeMock = new EventEmitter(); + nodeMock.getTransaction = function(txHash) { + return mockTransactions[txHash]; + }; app = new BitcoreHTTP(nodeMock).app; agent = request(app); });