47 lines
996 B
Go
47 lines
996 B
Go
/*
|
|
Copyright IBM Corp. All Rights Reserved.
|
|
|
|
SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
package peer
|
|
|
|
import (
|
|
"github.com/hyperledger/fabric/bccsp/sw"
|
|
"github.com/hyperledger/fabric/common/channelconfig"
|
|
configtxtest "github.com/hyperledger/fabric/common/configtx/test"
|
|
"github.com/hyperledger/fabric/core/ledger"
|
|
)
|
|
|
|
func CreateMockChannel(p *Peer, cid string, resources channelconfig.Resources) error {
|
|
var ledger ledger.PeerLedger
|
|
var err error
|
|
|
|
if ledger = p.GetLedger(cid); ledger == nil {
|
|
gb, _ := configtxtest.MakeGenesisBlock(cid)
|
|
if ledger, err = p.LedgerMgr.CreateLedger(cid, gb); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
p.mutex.Lock()
|
|
defer p.mutex.Unlock()
|
|
|
|
if p.channels == nil {
|
|
p.channels = map[string]*Channel{}
|
|
}
|
|
|
|
cryptoProvider, err := sw.NewDefaultSecurityLevelWithKeystore(sw.NewDummyKeyStore())
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
p.channels[cid] = &Channel{
|
|
ledger: ledger,
|
|
resources: resources,
|
|
cryptoProvider: cryptoProvider,
|
|
}
|
|
|
|
return nil
|
|
}
|