add forceNetwork parameter and test it

This commit is contained in:
Manuel Araoz 2014-07-08 12:34:49 -03:00
parent b3f2476992
commit 00cf32fc8d
3 changed files with 17 additions and 0 deletions

View File

@ -2,6 +2,7 @@
var defaultConfig = {
// DEFAULT network (livenet or testnet)
networkName: 'livenet',
forceNetwork: false,
// DEFAULT unit: Bit
unitName: 'bits',
@ -124,3 +125,4 @@ var defaultConfig = {
disableVideo: true,
verbose: 1,
};
module.exports = defaultConfig;

View File

@ -19,6 +19,7 @@ var AddressIndex = require('./AddressIndex');
var PublicKeyRing = require('./PublicKeyRing');
var TxProposals = require('./TxProposals');
var PrivateKey = require('./PrivateKey');
var copayConfig = require('../../../config');
function Wallet(opts) {
var self = this;
@ -33,6 +34,9 @@ function Wallet(opts) {
throw new Error('missing required option for Wallet: ' + k);
self[k] = opts[k];
});
if (copayConfig.forceNetwork && opts.networkName !== copayConfig.networkName)
throw new Error('Network forced to '+copayConfig.networkName+
' and tried to create a Wallet with network '+opts.networkName);
this.log('creating ' + opts.requiredCopayers + ' of ' + opts.totalCopayers + ' wallet');

View File

@ -8,6 +8,7 @@ try {
} catch (e) {
var copay = require('../copay'); //node
}
var copayConfig = require('../config');
var Wallet = require('../js/models/core/Wallet');
var Structure = copay.Structure;
var Storage = require('./mocks/FakeStorage');
@ -950,4 +951,14 @@ describe('Wallet model', function() {
});
});
describe('#forceNetwork in config', function() {
it('should throw if network is different', function() {
var backup = copayConfig.forceNetwork;
copayConfig.forceNetwork = true;
config.networkName = 'livenet';
cachedCreateW2.should.throw(Error);
copayConfig.forceNetwork = backup;
});
});
});