github.com/ewagmig/fabric@v2.1.1+incompatible/core/peer/mock_helpers.go (about) 1 /* 2 Copyright IBM Corp. All Rights Reserved. 3 4 SPDX-License-Identifier: Apache-2.0 5 */ 6 7 package peer 8 9 import ( 10 "github.com/hyperledger/fabric/bccsp/sw" 11 "github.com/hyperledger/fabric/common/channelconfig" 12 configtxtest "github.com/hyperledger/fabric/common/configtx/test" 13 "github.com/hyperledger/fabric/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 }