github.com/defanghe/fabric@v2.1.1+incompatible/core/ledger/ledgermgmt/ledgermgmttest/ledgermgmttest.go (about) 1 /* 2 Copyright IBM Corp. All Rights Reserved. 3 4 SPDX-License-Identifier: Apache-2.0 5 */ 6 7 package ledgermgmttest 8 9 import ( 10 "fmt" 11 12 "github.com/hyperledger/fabric/bccsp/sw" 13 "github.com/hyperledger/fabric/common/metrics/disabled" 14 "github.com/hyperledger/fabric/core/ledger" 15 "github.com/hyperledger/fabric/core/ledger/ledgermgmt" 16 "github.com/hyperledger/fabric/core/ledger/mock" 17 ) 18 19 // NewInitializer returns an instance of ledgermgmt Initializer 20 // with minimum fields populated so as not to cause a failure during construction of LedgerMgr. 21 // This is intended to be used for creating an instance of LedgerMgr for testing 22 func NewInitializer(testLedgerDir string) *ledgermgmt.Initializer { 23 cryptoProvider, err := sw.NewDefaultSecurityLevelWithKeystore(sw.NewDummyKeyStore()) 24 if err != nil { 25 panic(fmt.Errorf("Failed to initialize cryptoProvider bccsp: %s", err)) 26 } 27 28 return &ledgermgmt.Initializer{ 29 Config: &ledger.Config{ 30 RootFSPath: testLedgerDir, 31 // empty StateDBConfig means leveldb 32 StateDBConfig: &ledger.StateDBConfig{}, 33 HistoryDBConfig: &ledger.HistoryDBConfig{ 34 Enabled: false, 35 }, 36 PrivateDataConfig: &ledger.PrivateDataConfig{ 37 MaxBatchSize: 5000, 38 BatchesInterval: 1000, 39 PurgeInterval: 100, 40 }, 41 }, 42 MetricsProvider: &disabled.Provider{}, 43 DeployedChaincodeInfoProvider: &mock.DeployedChaincodeInfoProvider{}, 44 Hasher: cryptoProvider, 45 HealthCheckRegistry: &mock.HealthCheckRegistry{}, 46 ChaincodeLifecycleEventProvider: &mock.ChaincodeLifecycleEventProvider{}, 47 } 48 }