File tree Expand file tree Collapse file tree 3 files changed +54
-0
lines changed Expand file tree Collapse file tree 3 files changed +54
-0
lines changed Original file line number Diff line number Diff line change 1+ var fs = require ( 'fs' ) ;
2+ var web3 = require ( 'web3' ) ;
3+
4+ ChainManager = function ( ) { }
5+
6+ ChainManager . prototype . loadConfigFile = function ( filename ) {
7+ try {
8+ var obj = JSON . parse ( fs . readFileSync ( filename ) ) ;
9+ this . chainManagerConfig = obj ;
10+ } catch ( e ) {
11+ throw new Error ( "error reading " + filename ) ;
12+ }
13+ return this ;
14+ } ;
15+
16+ ChainManager . prototype . loadConfig = function ( config ) {
17+ this . chainManagerConfig = config ;
18+ return this ;
19+ } ;
20+
21+ ChainManager . prototype . init = function ( env , blockchainConfig ) {
22+ var config = blockchainConfig . config ( env ) ;
23+
24+ web3 . setProvider ( new web3 . providers . HttpProvider ( "http://" + config . rpcHost + ":" + config . rpcPort ) ) ;
25+
26+ var chainId = web3 . eth . getBlock ( 0 ) . hash ;
27+
28+ if ( this . chainManagerConfig [ chainId ] === undefined ) {
29+ this . chainManagerConfig [ chainId ] = { contracts : [ ] } ;
30+ }
31+ }
32+
33+ module . exports = ChainManager ;
34+
Original file line number Diff line number Diff line change 1+ var ChainManager = require ( '../lib/chain_manager.js' ) ;
2+ var Config = require ( '../lib/config/config.js' ) ;
3+ var Blockchain = require ( '../lib/blockchain.js' ) ;
4+ var assert = require ( 'assert' ) ;
5+
6+ describe ( 'embark.chain_manager' , function ( ) {
7+ var chainManager = ( new ChainManager ( ) ) . loadConfigFile ( './test/support/chain_manager.json' ) ;
8+ var blockchainConfig = ( new Config . Blockchain ( ) ) . loadConfigFile ( 'test/support/blockchain.yml' ) ;
9+
10+ describe ( '#init' , function ( ) {
11+ chainManager . init ( 'development' , blockchainConfig ) ;
12+
13+ it ( 'should initialize chain' , function ( ) {
14+ assert . equal ( chainManager . chainManagerConfig [ '0x629e768beb87dc8c54a475d310a7196e86c97d0006e5a6d34a8217726c90223f' ] != undefined , true ) ;
15+ assert . equal ( chainManager . chainManagerConfig [ '0x629e768beb87dc8c54a475d310a7196e86c97d0006e5a6d34a8217726c90223f' ] . contracts . length , 0 ) ;
16+ } ) ;
17+
18+ } ) ;
19+ } ) ;
Original file line number Diff line number Diff line change 1+ {}
You can’t perform that action at this time.
0 commit comments