github.com/pvitto98/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  }