promisify Node.getStatus()
This commit is contained in:
parent
2a17f8076a
commit
7c3231ac3c
|
@ -7,7 +7,10 @@ NodeStatus.setNode = function(aNode) {
|
|||
};
|
||||
|
||||
NodeStatus.getStatus = function(req, res) {
|
||||
res.send(node.status);
|
||||
node.getStatus()
|
||||
.then(function(status) {
|
||||
res.send(status);
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = NodeStatus;
|
||||
|
|
|
@ -1,10 +1,14 @@
|
|||
'use strict';
|
||||
|
||||
var Promise = require('bluebird');
|
||||
|
||||
var bitcore = require('bitcore');
|
||||
var _ = bitcore.deps._;
|
||||
var $ = bitcore.util.preconditions;
|
||||
var Transaction = bitcore.Transaction;
|
||||
|
||||
var BitcoreNode = require('../../');
|
||||
|
||||
var Transactions = {};
|
||||
|
||||
var node;
|
||||
|
@ -23,13 +27,12 @@ Transactions.setNode = function(aNode) {
|
|||
Transactions.txHashParam = function(req, res, next, txHash) {
|
||||
node.getTransaction(txHash)
|
||||
.then(function(tx) {
|
||||
if (_.isUndefined(tx)) {
|
||||
res.status(404).send('Transaction with id ' + txHash + ' not found');
|
||||
return;
|
||||
}
|
||||
req.tx = tx;
|
||||
})
|
||||
.then(next);
|
||||
.then(next)
|
||||
.catch(BitcoreNode.errors.Transactions.NotFound, function() {
|
||||
res.status(404).send('Transaction with id ' + txHash + ' not found');
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
|
@ -66,8 +69,8 @@ Transactions.send = function(req, res) {
|
|||
.then(function() {
|
||||
res.send('Transaction broadcasted successfully');
|
||||
})
|
||||
.catch(function(err) {
|
||||
res.status(422).send(err);
|
||||
.catch(BitcoreNode.errors.Transactions.CantBroadcast, function(err) {
|
||||
res.status(422).send(err.message);
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
'use strict';
|
||||
|
||||
var config = require('config');
|
||||
var BitcoreHTTP = require('./lib/http');
|
||||
|
||||
var http = BitcoreHTTP.create(config.get('BitcoreHTTP'));
|
||||
http.start();
|
||||
if (require.main === module) {
|
||||
var config = require('config');
|
||||
var http = BitcoreHTTP.create(config.get('BitcoreHTTP'));
|
||||
http.start();
|
||||
}
|
||||
|
||||
module.exports = BitcoreHTTP;
|
||||
|
|
|
@ -5,6 +5,8 @@ var should = chai.should();
|
|||
var request = require('supertest');
|
||||
|
||||
var EventEmitter = require('eventemitter2').EventEmitter2;
|
||||
var Promise = require('bluebird');
|
||||
Promise.longStackTraces();
|
||||
|
||||
var BitcoreHTTP = require('../../lib/http');
|
||||
|
||||
|
@ -19,6 +21,9 @@ describe('BitcoreHTTP v1 node routes', function() {
|
|||
peer_count: 8,
|
||||
version: 'test'
|
||||
};
|
||||
nodeMock.getStatus = function() {
|
||||
return Promise.resolve(nodeMock.status);
|
||||
};
|
||||
app = new BitcoreHTTP(nodeMock).app;
|
||||
agent = request(app);
|
||||
});
|
||||
|
|
|
@ -5,12 +5,14 @@ var should = chai.should();
|
|||
var request = require('supertest');
|
||||
|
||||
var bitcore = require('bitcore');
|
||||
var _ = bitcore.deps._;
|
||||
var Transaction = bitcore.Transaction;
|
||||
var EventEmitter = require('eventemitter2').EventEmitter2;
|
||||
var Promise = require('bluebird');
|
||||
Promise.longStackTraces();
|
||||
|
||||
var BitcoreHTTP = require('../../lib/http');
|
||||
var BitcoreNode = require('../../../');
|
||||
var mockTransactions = require('../data/transactions');
|
||||
|
||||
describe('BitcoreHTTP v1 transactions routes', function() {
|
||||
|
@ -22,11 +24,15 @@ describe('BitcoreHTTP v1 transactions routes', function() {
|
|||
beforeEach(function() {
|
||||
nodeMock = new EventEmitter();
|
||||
nodeMock.getTransaction = function(txHash) {
|
||||
return Promise.resolve(mockTransactions[txHash]);
|
||||
var tx = mockTransactions[txHash];
|
||||
if (_.isUndefined(tx)) {
|
||||
return Promise.reject(new BitcoreNode.errors.Transactions.NotFound(txHash));
|
||||
}
|
||||
return Promise.resolve(tx);
|
||||
};
|
||||
nodeMock.broadcast = function(tx) {
|
||||
if (mockTransactions[tx.id]) {
|
||||
return Promise.reject('some error');
|
||||
return Promise.reject(new BitcoreNode.errors.Transactions.CantBroadcast(tx.id));
|
||||
}
|
||||
return Promise.resolve();
|
||||
};
|
||||
|
@ -99,7 +105,7 @@ describe('BitcoreHTTP v1 transactions routes', function() {
|
|||
raw: t1.uncheckedSerialize()
|
||||
})
|
||||
.expect(422)
|
||||
.expect('some error', cb);
|
||||
.expect('Unable to broadcast transaction 8c14f0db3df150123e6f3dbbf30f8b955a8249b62ac1d1ff16284aefa3d06d87', cb);
|
||||
});
|
||||
});
|
||||
|
||||
|
|
7
index.js
7
index.js
|
@ -1,10 +1,10 @@
|
|||
'use strict';
|
||||
|
||||
var config = require('config');
|
||||
|
||||
var BitcoreNode = require('./lib/node.js');
|
||||
var BitcoreNode = require('./lib/node');
|
||||
|
||||
if (require.main === module) {
|
||||
var config = require('config');
|
||||
var node = BitcoreNode.create(config.get('BitcoreNode'));
|
||||
node.start();
|
||||
node.on('error', function(err) {
|
||||
|
@ -16,4 +16,7 @@ if (require.main === module) {
|
|||
});
|
||||
}
|
||||
|
||||
|
||||
BitcoreNode.errors = require('./lib/errors');
|
||||
|
||||
module.exports = BitcoreNode;
|
||||
|
|
Loading…
Reference in New Issue