bitcore-node-zcash/test/services/bitcoind.unit.js

51 lines
1.4 KiB
JavaScript
Raw Normal View History

2015-08-31 06:00:00 -07:00
'use strict';
var should = require('chai').should();
var proxyquire = require('proxyquire');
var fs = require('fs');
var sinon = require('sinon');
2015-08-31 06:00:00 -07:00
var BitcoinService = proxyquire('../../lib/services/bitcoind', {
2015-08-31 06:00:00 -07:00
fs: {
readFileSync: sinon.stub().returns(fs.readFileSync(__dirname + '/../data/bitcoin.conf'))
}
});
2015-08-31 06:00:00 -07:00
var BadBitcoin = proxyquire('../../lib/services/bitcoind', {
2015-08-31 06:00:00 -07:00
fs: {
readFileSync: sinon.stub().returns(fs.readFileSync(__dirname + '/../data/badbitcoin.conf'))
}
});
2015-08-31 06:00:00 -07:00
describe('Bitcoin Service', function() {
2015-08-31 06:00:00 -07:00
var baseConfig = {
node: {
datadir: 'testdir',
network: {
name: 'regtest'
}
}
};
describe('#_loadConfiguration', function() {
it('will parse a bitcoin.conf file', function() {
2015-08-31 06:00:00 -07:00
var bitcoind = new BitcoinService(baseConfig);
2015-08-31 06:00:00 -07:00
bitcoind._loadConfiguration({datadir: process.env.HOME + '/.bitcoin'});
should.exist(bitcoind.configuration);
bitcoind.configuration.should.deep.equal({
server: 1,
whitelist: '127.0.0.1',
txindex: 1,
port: 20000,
rpcallowip: '127.0.0.1',
rpcuser: 'bitcoin',
rpcpassword: 'local321'
});
});
it('should throw an exception if txindex isn\'t enabled in the configuration', function() {
var bitcoind = new BadBitcoin(baseConfig);
(function() {
bitcoind._loadConfiguration({datadir: './test'});
}).should.throw('Txindex option');
});
});
});