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

     1  /*
     2  Copyright hechain. 2017 All Rights Reserved.
     3  
     4  SPDX-License-Identifier: Apache-2.0
     5  */
     6  
     7  package policy
     8  
     9  import (
    10  	"testing"
    11  
    12  	"github.com/golang/protobuf/proto"
    13  	"github.com/hechain20/hechain/bccsp/sw"
    14  	"github.com/hechain20/hechain/msp/mgmt"
    15  	"github.com/hyperledger/fabric-protos-go/msp"
    16  	"github.com/stretchr/testify/require"
    17  )
    18  
    19  func TestNewLocalMSPPrincipalGetter(t *testing.T) {
    20  	cryptoProvider, err := sw.NewDefaultSecurityLevelWithKeystore(sw.NewDummyKeyStore())
    21  	require.NoError(t, err)
    22  	require.NotNil(t, NewLocalMSPPrincipalGetter(mgmt.GetLocalMSP(cryptoProvider)))
    23  }
    24  
    25  func TestLocalMSPPrincipalGetter_Get(t *testing.T) {
    26  	cryptoProvider, err := sw.NewDefaultSecurityLevelWithKeystore(sw.NewDummyKeyStore())
    27  	require.NoError(t, err)
    28  
    29  	localMSP := mgmt.GetLocalMSP(cryptoProvider)
    30  	localMSPID, err := localMSP.GetIdentifier()
    31  	require.NoError(t, err)
    32  	g := NewLocalMSPPrincipalGetter(localMSP)
    33  
    34  	_, err = g.Get("")
    35  	require.Error(t, err)
    36  
    37  	p, err := g.Get(Admins)
    38  	require.NoError(t, err)
    39  	require.NotNil(t, p)
    40  	require.Equal(t, msp.MSPPrincipal_ROLE, p.PrincipalClassification)
    41  	role := &msp.MSPRole{}
    42  	proto.Unmarshal(p.Principal, role)
    43  	require.Equal(t, localMSPID, role.MspIdentifier)
    44  	require.Equal(t, msp.MSPRole_ADMIN, role.Role)
    45  
    46  	p, err = g.Get(Members)
    47  	require.NoError(t, err)
    48  	require.NotNil(t, p)
    49  	require.Equal(t, msp.MSPPrincipal_ROLE, p.PrincipalClassification)
    50  	role = &msp.MSPRole{}
    51  	proto.Unmarshal(p.Principal, role)
    52  	require.Equal(t, localMSPID, role.MspIdentifier)
    53  	require.Equal(t, msp.MSPRole_MEMBER, role.Role)
    54  }