github.com/hechain20/hechain@v0.0.0-20220316014945-b544036ba106/core/peer/mock_helpers.go (about)

     1  /*
     2  Copyright hechain. All Rights Reserved.
     3  
     4  SPDX-License-Identifier: Apache-2.0
     5  */
     6  
     7  package peer
     8  
     9  import (
    10  	"github.com/hechain20/hechain/bccsp/sw"
    11  	"github.com/hechain20/hechain/common/channelconfig"
    12  	configtxtest "github.com/hechain20/hechain/common/configtx/test"
    13  	"github.com/hechain20/hechain/core/ledger"
    14  )
    15  
    16  func CreateMockChannel(p *Peer, cid string, resources channelconfig.Resources) error {
    17  	var ledger ledger.PeerLedger
    18  	var err error
    19  
    20  	if ledger = p.GetLedger(cid); ledger == nil {
    21  		gb, _ := configtxtest.MakeGenesisBlock(cid)
    22  		if ledger, err = p.LedgerMgr.CreateLedger(cid, gb); err != nil {
    23  			return err
    24  		}
    25  	}
    26  
    27  	p.mutex.Lock()
    28  	defer p.mutex.Unlock()
    29  
    30  	if p.channels == nil {
    31  		p.channels = map[string]*Channel{}
    32  	}
    33  
    34  	cryptoProvider, err := sw.NewDefaultSecurityLevelWithKeystore(sw.NewDummyKeyStore())
    35  	if err != nil {
    36  		return err
    37  	}
    38  
    39  	p.channels[cid] = &Channel{
    40  		ledger:         ledger,
    41  		resources:      resources,
    42  		cryptoProvider: cryptoProvider,
    43  	}
    44  
    45  	return nil
    46  }