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  }