96 lines
2.6 KiB
Go
96 lines
2.6 KiB
Go
/*
|
|
Copyright IBM Corp. All Rights Reserved.
|
|
|
|
SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
package gossip
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/hyperledger/fabric/bccsp/factory"
|
|
"github.com/hyperledger/fabric/bccsp/sw"
|
|
"github.com/hyperledger/fabric/core/config/configtest"
|
|
"github.com/hyperledger/fabric/msp"
|
|
"github.com/hyperledger/fabric/msp/mgmt"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestNewDeserializersManager(t *testing.T) {
|
|
cryptoProvider, err := sw.NewDefaultSecurityLevelWithKeystore(sw.NewDummyKeyStore())
|
|
require.NoError(t, err)
|
|
require.NotNil(t, NewDeserializersManager(mgmt.GetLocalMSP(cryptoProvider)))
|
|
}
|
|
|
|
func TestMspDeserializersManager_Deserialize(t *testing.T) {
|
|
cryptoProvider, err := sw.NewDefaultSecurityLevelWithKeystore(sw.NewDummyKeyStore())
|
|
require.NoError(t, err)
|
|
|
|
localMSP := mgmt.GetLocalMSP(cryptoProvider)
|
|
m := NewDeserializersManager(localMSP)
|
|
|
|
i, err := localMSP.GetDefaultSigningIdentity()
|
|
require.NoError(t, err)
|
|
raw, err := i.Serialize()
|
|
require.NoError(t, err)
|
|
|
|
i2, err := m.Deserialize(raw)
|
|
require.NoError(t, err)
|
|
require.NotNil(t, i2)
|
|
require.NotNil(t, i2.IdBytes)
|
|
require.Equal(t, m.GetLocalMSPIdentifier(), i2.Mspid)
|
|
}
|
|
|
|
func TestMspDeserializersManager_GetChannelDeserializers(t *testing.T) {
|
|
cryptoProvider, err := sw.NewDefaultSecurityLevelWithKeystore(sw.NewDummyKeyStore())
|
|
require.NoError(t, err)
|
|
|
|
m := NewDeserializersManager(mgmt.GetLocalMSP(cryptoProvider))
|
|
|
|
deserializers := m.GetChannelDeserializers()
|
|
require.NotNil(t, deserializers)
|
|
}
|
|
|
|
func TestMspDeserializersManager_GetLocalDeserializer(t *testing.T) {
|
|
cryptoProvider, err := sw.NewDefaultSecurityLevelWithKeystore(sw.NewDummyKeyStore())
|
|
require.NoError(t, err)
|
|
|
|
localMSP := mgmt.GetLocalMSP(cryptoProvider)
|
|
m := NewDeserializersManager(localMSP)
|
|
|
|
i, err := localMSP.GetDefaultSigningIdentity()
|
|
require.NoError(t, err)
|
|
raw, err := i.Serialize()
|
|
require.NoError(t, err)
|
|
|
|
i2, err := m.GetLocalDeserializer().DeserializeIdentity(raw)
|
|
require.NoError(t, err)
|
|
require.NotNil(t, i2)
|
|
require.Equal(t, m.GetLocalMSPIdentifier(), i2.GetMSPIdentifier())
|
|
}
|
|
|
|
func TestMain(m *testing.M) {
|
|
mspDir := configtest.GetDevMspDir()
|
|
|
|
testConf, err := msp.GetLocalMspConfig(mspDir, nil, "SampleOrg")
|
|
if err != nil {
|
|
fmt.Printf("Setup should have succeeded, got err %s instead", err)
|
|
os.Exit(-1)
|
|
}
|
|
|
|
cryptoProvider := factory.GetDefault()
|
|
|
|
err = mgmt.GetLocalMSP(cryptoProvider).Setup(testConf)
|
|
if err != nil {
|
|
fmt.Printf("Setup for msp should have succeeded, got err %s instead", err)
|
|
os.Exit(-1)
|
|
}
|
|
|
|
mgmt.XXXSetMSPManager("foo", msp.NewMSPManager())
|
|
retVal := m.Run()
|
|
os.Exit(retVal)
|
|
}
|