github.com/hechain20/hechain@v0.0.0-20220316014945-b544036ba106/internal/peer/gossip/deserializer_test.go (about) 1 /* 2 Copyright hechain. All Rights Reserved. 3 4 SPDX-License-Identifier: Apache-2.0 5 */ 6 7 package gossip 8 9 import ( 10 "fmt" 11 "os" 12 "testing" 13 14 "github.com/hechain20/hechain/bccsp/factory" 15 "github.com/hechain20/hechain/bccsp/sw" 16 "github.com/hechain20/hechain/core/config/configtest" 17 "github.com/hechain20/hechain/msp" 18 "github.com/hechain20/hechain/msp/mgmt" 19 "github.com/stretchr/testify/require" 20 ) 21 22 func TestNewDeserializersManager(t *testing.T) { 23 cryptoProvider, err := sw.NewDefaultSecurityLevelWithKeystore(sw.NewDummyKeyStore()) 24 require.NoError(t, err) 25 require.NotNil(t, NewDeserializersManager(mgmt.GetLocalMSP(cryptoProvider))) 26 } 27 28 func TestMspDeserializersManager_Deserialize(t *testing.T) { 29 cryptoProvider, err := sw.NewDefaultSecurityLevelWithKeystore(sw.NewDummyKeyStore()) 30 require.NoError(t, err) 31 32 localMSP := mgmt.GetLocalMSP(cryptoProvider) 33 m := NewDeserializersManager(localMSP) 34 35 i, err := localMSP.GetDefaultSigningIdentity() 36 require.NoError(t, err) 37 raw, err := i.Serialize() 38 require.NoError(t, err) 39 40 i2, err := m.Deserialize(raw) 41 require.NoError(t, err) 42 require.NotNil(t, i2) 43 require.NotNil(t, i2.IdBytes) 44 require.Equal(t, m.GetLocalMSPIdentifier(), i2.Mspid) 45 } 46 47 func TestMspDeserializersManager_GetChannelDeserializers(t *testing.T) { 48 cryptoProvider, err := sw.NewDefaultSecurityLevelWithKeystore(sw.NewDummyKeyStore()) 49 require.NoError(t, err) 50 51 m := NewDeserializersManager(mgmt.GetLocalMSP(cryptoProvider)) 52 53 deserializers := m.GetChannelDeserializers() 54 require.NotNil(t, deserializers) 55 } 56 57 func TestMspDeserializersManager_GetLocalDeserializer(t *testing.T) { 58 cryptoProvider, err := sw.NewDefaultSecurityLevelWithKeystore(sw.NewDummyKeyStore()) 59 require.NoError(t, err) 60 61 localMSP := mgmt.GetLocalMSP(cryptoProvider) 62 m := NewDeserializersManager(localMSP) 63 64 i, err := localMSP.GetDefaultSigningIdentity() 65 require.NoError(t, err) 66 raw, err := i.Serialize() 67 require.NoError(t, err) 68 69 i2, err := m.GetLocalDeserializer().DeserializeIdentity(raw) 70 require.NoError(t, err) 71 require.NotNil(t, i2) 72 require.Equal(t, m.GetLocalMSPIdentifier(), i2.GetMSPIdentifier()) 73 } 74 75 func TestMain(m *testing.M) { 76 mspDir := configtest.GetDevMspDir() 77 78 testConf, err := msp.GetLocalMspConfig(mspDir, nil, "SampleOrg") 79 if err != nil { 80 fmt.Printf("Setup should have succeeded, got err %s instead", err) 81 os.Exit(-1) 82 } 83 84 cryptoProvider := factory.GetDefault() 85 86 err = mgmt.GetLocalMSP(cryptoProvider).Setup(testConf) 87 if err != nil { 88 fmt.Printf("Setup for msp should have succeeded, got err %s instead", err) 89 os.Exit(-1) 90 } 91 92 mgmt.XXXSetMSPManager("foo", msp.NewMSPManager()) 93 retVal := m.Run() 94 os.Exit(retVal) 95 }