mirror of https://github.com/embarklabs/embark.git
149 lines
3.9 KiB
JavaScript
149 lines
3.9 KiB
JavaScript
var Config = require('../lib/config/config.js');
|
|
var assert = require('assert');
|
|
|
|
describe('embark.config.blockchain', function() {
|
|
var blockchainConfig = new Config.Blockchain();
|
|
|
|
describe('#loadConfigFile', function() {
|
|
it('should read and load yml file', function() {
|
|
blockchainConfig.loadConfigFile('test/support/blockchain.yml');
|
|
|
|
assert.equal(blockchainConfig.blockchainConfig.hasOwnProperty('development'), true)
|
|
assert.equal(blockchainConfig.blockchainConfig.hasOwnProperty('staging'), true)
|
|
});
|
|
|
|
it('should throw exception reading invalid file', function() {
|
|
assert.throws(function() { blockchainConfig.loadConfigFile('test/support/invalid.yml') }, Error);
|
|
});
|
|
});
|
|
|
|
describe('#loadConfig', function() {
|
|
it('should load config', function() {
|
|
var hsh = {
|
|
development: {},
|
|
staging: {}
|
|
};
|
|
|
|
blockchainConfig.loadConfig(hsh);
|
|
|
|
assert.equal(blockchainConfig.blockchainConfig.hasOwnProperty('development'), true)
|
|
assert.equal(blockchainConfig.blockchainConfig.hasOwnProperty('staging'), true)
|
|
});
|
|
});
|
|
|
|
describe('#config', function() {
|
|
|
|
it('should load environment', function() {
|
|
var hsh = {
|
|
development: {
|
|
rpc_host: 'localhost',
|
|
rpc_port: 8101,
|
|
rpc_whitelist: "*",
|
|
network_id: 0,
|
|
minerthreads: 1,
|
|
genesis_block: 'config/genesis.json',
|
|
datadir: '/tmp/embark',
|
|
chains: 'chains_development.json',
|
|
deploy_timeout: 45,
|
|
mine_when_needed: true,
|
|
gas_limit: 123,
|
|
gas_price: 100,
|
|
console: false,
|
|
account: {
|
|
init: true,
|
|
password: 'config/password'
|
|
}
|
|
},
|
|
staging: {}
|
|
};
|
|
|
|
blockchainConfig.loadConfig(hsh);
|
|
|
|
assert.deepEqual(blockchainConfig.config('development'), {
|
|
rpcHost: 'localhost',
|
|
rpcPort: 8101,
|
|
gasLimit: 123,
|
|
gasPrice: 100,
|
|
rpcWhitelist: "*",
|
|
testnet: false,
|
|
bootNodes: [],
|
|
whisper: false,
|
|
minerthreads: 1,
|
|
nat: [],
|
|
genesisBlock: 'config/genesis.json',
|
|
datadir: '/tmp/embark',
|
|
chains: 'chains_development.json',
|
|
deployTimeout: 45,
|
|
networkId: 0,
|
|
maxPeers: 4,
|
|
mine: false,
|
|
port: "30303",
|
|
console_toggle: false,
|
|
mine_when_needed: true,
|
|
geth_extra_opts: [],
|
|
account: {
|
|
init: true,
|
|
password: 'config/password'
|
|
}
|
|
})
|
|
});
|
|
|
|
it('should return defaults', function() {
|
|
var hsh = {
|
|
development: {
|
|
rpc_host: 'localhost',
|
|
rpc_port: 8101,
|
|
rpc_whitelist: "*",
|
|
network_id: 0,
|
|
minerthreads: 1,
|
|
datadir: '/tmp/embark',
|
|
chains: undefined,
|
|
mine_when_needed: true,
|
|
console: false,
|
|
account: {
|
|
init: true,
|
|
password: 'config/password'
|
|
},
|
|
},
|
|
staging: {}
|
|
};
|
|
|
|
blockchainConfig.loadConfig(hsh);
|
|
|
|
assert.deepEqual(blockchainConfig.config('development'), {
|
|
rpcHost: 'localhost',
|
|
rpcPort: 8101,
|
|
gasLimit: 500000,
|
|
gasPrice: 10000000000000,
|
|
rpcWhitelist: "*",
|
|
testnet: false,
|
|
bootNodes: [],
|
|
whisper: false,
|
|
minerthreads: 1,
|
|
nat: [],
|
|
genesisBlock: undefined,
|
|
datadir: '/tmp/embark',
|
|
chains: undefined,
|
|
deployTimeout: 20,
|
|
networkId: 0,
|
|
maxPeers: 4,
|
|
mine: false,
|
|
port: "30303",
|
|
console_toggle: false,
|
|
mine_when_needed: true,
|
|
geth_extra_opts: [],
|
|
account: {
|
|
init: true,
|
|
password: 'config/password'
|
|
}
|
|
})
|
|
});
|
|
|
|
it('should load environment', function() {
|
|
var blockchainConfig = new Config.Blockchain();
|
|
assert.throws(function() { blockchainConfig.config('development') }, Error);
|
|
});
|
|
});
|
|
|
|
});
|