github.com/hechain20/hechain@v0.0.0-20220316014945-b544036ba106/core/common/privdata/util_test.go (about)

     1  /*
     2  Copyright hechain. All Rights Reserved.
     3  
     4  SPDX-License-Identifier: Apache-2.0
     5  */
     6  
     7  package privdata
     8  
     9  import (
    10  	"testing"
    11  
    12  	"github.com/hyperledger/fabric-protos-go/peer"
    13  	"github.com/stretchr/testify/require"
    14  )
    15  
    16  func TestGetPolicy(t *testing.T) {
    17  	accessPolicy, err := getPolicy(getAccessPolicy([]string{"signer0", "signer1"}), &mockDeserializer{})
    18  	require.NotNil(t, accessPolicy)
    19  	require.Nil(t, err)
    20  }
    21  
    22  func TestGetPolicyFailed(t *testing.T) {
    23  	// nil policy config
    24  	_, err := getPolicy(nil, &mockDeserializer{})
    25  	require.EqualError(t, err, "collection policy config is nil")
    26  
    27  	// nil collectionPolicyConfig.GetSignaturePolicy()
    28  	_, err = getPolicy(&peer.CollectionPolicyConfig{}, &mockDeserializer{})
    29  	require.EqualError(t, err, "collection config access policy is nil")
    30  
    31  	// faulty policy config: index out of range
    32  	_, err = getPolicy(getBadAccessPolicy([]string{"signer0", "signer1"}, 3), &mockDeserializer{})
    33  	require.EqualError(t, err, "failed constructing policy object out of collection policy config: identity index out of range, requested 3, but identities length is 2")
    34  }