github.com/osdi23p228/fabric@v0.0.0-20221218062954-77808885f5db/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 "path/filepath" 12 13 "github.com/osdi23p228/fabric/bccsp/sw" 14 "github.com/osdi23p228/fabric/common/metrics/disabled" 15 "github.com/osdi23p228/fabric/core/ledger" 16 "github.com/osdi23p228/fabric/core/ledger/ledgermgmt" 17 "github.com/osdi23p228/fabric/core/ledger/mock" 18 ) 19 20 // NewInitializer returns an instance of ledgermgmt Initializer 21 // with minimum fields populated so as not to cause a failure during construction of LedgerMgr. 22 // This is intended to be used for creating an instance of LedgerMgr for testing 23 func NewInitializer(testLedgerDir string) *ledgermgmt.Initializer { 24 cryptoProvider, err := sw.NewDefaultSecurityLevelWithKeystore(sw.NewDummyKeyStore()) 25 if err != nil { 26 panic(fmt.Errorf("Failed to initialize cryptoProvider bccsp: %s", err)) 27 } 28 29 return &ledgermgmt.Initializer{ 30 Config: &ledger.Config{ 31 RootFSPath: testLedgerDir, 32 // empty StateDBConfig means leveldb 33 StateDBConfig: &ledger.StateDBConfig{}, 34 HistoryDBConfig: &ledger.HistoryDBConfig{ 35 Enabled: false, 36 }, 37 PrivateDataConfig: &ledger.PrivateDataConfig{ 38 MaxBatchSize: 5000, 39 BatchesInterval: 1000, 40 PurgeInterval: 100, 41 }, 42 SnapshotsConfig: &ledger.SnapshotsConfig{ 43 RootDir: filepath.Join(testLedgerDir, "snapshots"), 44 }, 45 }, 46 MetricsProvider: &disabled.Provider{}, 47 DeployedChaincodeInfoProvider: &mock.DeployedChaincodeInfoProvider{}, 48 HashProvider: cryptoProvider, 49 HealthCheckRegistry: &mock.HealthCheckRegistry{}, 50 ChaincodeLifecycleEventProvider: &mock.ChaincodeLifecycleEventProvider{}, 51 } 52 }