55 lines
1.5 KiB
Go
55 lines
1.5 KiB
Go
/*
|
|
Copyright IBM Corp. 2017 All Rights Reserved.
|
|
|
|
SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
package policy
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/golang/protobuf/proto"
|
|
"github.com/hyperledger/fabric-protos-go/msp"
|
|
"github.com/hyperledger/fabric/bccsp/sw"
|
|
"github.com/hyperledger/fabric/msp/mgmt"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestNewLocalMSPPrincipalGetter(t *testing.T) {
|
|
cryptoProvider, err := sw.NewDefaultSecurityLevelWithKeystore(sw.NewDummyKeyStore())
|
|
require.NoError(t, err)
|
|
require.NotNil(t, NewLocalMSPPrincipalGetter(mgmt.GetLocalMSP(cryptoProvider)))
|
|
}
|
|
|
|
func TestLocalMSPPrincipalGetter_Get(t *testing.T) {
|
|
cryptoProvider, err := sw.NewDefaultSecurityLevelWithKeystore(sw.NewDummyKeyStore())
|
|
require.NoError(t, err)
|
|
|
|
localMSP := mgmt.GetLocalMSP(cryptoProvider)
|
|
localMSPID, err := localMSP.GetIdentifier()
|
|
require.NoError(t, err)
|
|
g := NewLocalMSPPrincipalGetter(localMSP)
|
|
|
|
_, err = g.Get("")
|
|
require.Error(t, err)
|
|
|
|
p, err := g.Get(Admins)
|
|
require.NoError(t, err)
|
|
require.NotNil(t, p)
|
|
require.Equal(t, msp.MSPPrincipal_ROLE, p.PrincipalClassification)
|
|
role := &msp.MSPRole{}
|
|
proto.Unmarshal(p.Principal, role)
|
|
require.Equal(t, localMSPID, role.MspIdentifier)
|
|
require.Equal(t, msp.MSPRole_ADMIN, role.Role)
|
|
|
|
p, err = g.Get(Members)
|
|
require.NoError(t, err)
|
|
require.NotNil(t, p)
|
|
require.Equal(t, msp.MSPPrincipal_ROLE, p.PrincipalClassification)
|
|
role = &msp.MSPRole{}
|
|
proto.Unmarshal(p.Principal, role)
|
|
require.Equal(t, localMSPID, role.MspIdentifier)
|
|
require.Equal(t, msp.MSPRole_MEMBER, role.Role)
|
|
}
|