107 lines
3.0 KiB
JavaScript
107 lines
3.0 KiB
JavaScript
'use strict';
|
|
|
|
var path = require('path');
|
|
var should = require('chai').should();
|
|
var sinon = require('sinon');
|
|
var proxyquire = require('proxyquire');
|
|
|
|
describe('#defaultConfig', function() {
|
|
var expectedExecPath = path.resolve(__dirname, '../../bin/bitcoind');
|
|
|
|
it('will return expected configuration', function() {
|
|
var config = JSON.stringify({
|
|
network: 'livenet',
|
|
port: 3001,
|
|
services: [
|
|
'bitcoind',
|
|
'web'
|
|
],
|
|
servicesConfig: {
|
|
bitcoind: {
|
|
spawn: {
|
|
datadir: process.env.HOME + '/.bitcore/data',
|
|
exec: expectedExecPath
|
|
}
|
|
}
|
|
}
|
|
}, null, 2);
|
|
var defaultConfig = proxyquire('../../lib/scaffold/default-config', {
|
|
fs: {
|
|
existsSync: sinon.stub().returns(false),
|
|
writeFileSync: function(path, data) {
|
|
path.should.equal(process.env.HOME + '/.bitcore/bitcore-node.json');
|
|
data.should.equal(config);
|
|
},
|
|
readFileSync: function() {
|
|
return config;
|
|
}
|
|
},
|
|
mkdirp: {
|
|
sync: sinon.stub()
|
|
}
|
|
});
|
|
var home = process.env.HOME;
|
|
var info = defaultConfig();
|
|
info.path.should.equal(home + '/.bitcore');
|
|
info.config.network.should.equal('livenet');
|
|
info.config.port.should.equal(3001);
|
|
info.config.services.should.deep.equal(['bitcoind', 'web']);
|
|
var bitcoind = info.config.servicesConfig.bitcoind;
|
|
should.exist(bitcoind);
|
|
bitcoind.spawn.datadir.should.equal(home + '/.bitcore/data');
|
|
bitcoind.spawn.exec.should.equal(expectedExecPath);
|
|
});
|
|
it('will include additional services', function() {
|
|
var config = JSON.stringify({
|
|
network: 'livenet',
|
|
port: 3001,
|
|
services: [
|
|
'bitcoind',
|
|
'web',
|
|
'insight-api',
|
|
'insight-ui'
|
|
],
|
|
servicesConfig: {
|
|
bitcoind: {
|
|
spawn: {
|
|
datadir: process.env.HOME + '/.bitcore/data',
|
|
exec: expectedExecPath
|
|
}
|
|
}
|
|
}
|
|
}, null, 2);
|
|
var defaultConfig = proxyquire('../../lib/scaffold/default-config', {
|
|
fs: {
|
|
existsSync: sinon.stub().returns(false),
|
|
writeFileSync: function(path, data) {
|
|
path.should.equal(process.env.HOME + '/.bitcore/bitcore-node.json');
|
|
data.should.equal(config);
|
|
},
|
|
readFileSync: function() {
|
|
return config;
|
|
}
|
|
},
|
|
mkdirp: {
|
|
sync: sinon.stub()
|
|
}
|
|
});
|
|
var home = process.env.HOME;
|
|
var info = defaultConfig({
|
|
additionalServices: ['insight-api', 'insight-ui']
|
|
});
|
|
info.path.should.equal(home + '/.bitcore');
|
|
info.config.network.should.equal('livenet');
|
|
info.config.port.should.equal(3001);
|
|
info.config.services.should.deep.equal([
|
|
'bitcoind',
|
|
'web',
|
|
'insight-api',
|
|
'insight-ui'
|
|
]);
|
|
var bitcoind = info.config.servicesConfig.bitcoind;
|
|
should.exist(bitcoind);
|
|
bitcoind.spawn.datadir.should.equal(home + '/.bitcore/data');
|
|
bitcoind.spawn.exec.should.equal(expectedExecPath);
|
|
});
|
|
});
|