Skip to content

Commit dd5b1fc

Browse files
committed
[FAB-4116] core/policy test coverage
This change-set brings test coverage of the core/policy package to up 85% Change-Id: I0145eb8bfcfd45b1c54fefb94c99888d7e4a3934 Signed-off-by: Angelo De Caro <[email protected]>
1 parent 27f996e commit dd5b1fc

File tree

7 files changed

+208
-112
lines changed

7 files changed

+208
-112
lines changed

core/chaincode/exectransaction_test.go

+10-13
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ limitations under the License.
1717
package chaincode
1818

1919
import (
20+
"bytes"
21+
"encoding/json"
2022
"flag"
2123
"fmt"
2224
"math/rand"
@@ -25,15 +27,12 @@ import (
2527
"path/filepath"
2628
"runtime"
2729
"strconv"
30+
"strings"
2831
"sync"
2932
"testing"
3033
"time"
3134

32-
"encoding/json"
33-
"strings"
34-
3535
"github.com/golang/protobuf/proto"
36-
3736
"github.com/hyperledger/fabric/bccsp/factory"
3837
mockpolicies "github.com/hyperledger/fabric/common/mocks/policies"
3938
"github.com/hyperledger/fabric/common/policies"
@@ -43,22 +42,20 @@ import (
4342
"github.com/hyperledger/fabric/core/container"
4443
"github.com/hyperledger/fabric/core/container/ccintf"
4544
"github.com/hyperledger/fabric/core/ledger"
45+
"github.com/hyperledger/fabric/core/ledger/ledgerconfig"
46+
"github.com/hyperledger/fabric/core/ledger/ledgermgmt"
4647
"github.com/hyperledger/fabric/core/ledger/util/couchdb"
4748
"github.com/hyperledger/fabric/core/peer"
4849
"github.com/hyperledger/fabric/core/policy"
50+
"github.com/hyperledger/fabric/core/policy/mocks"
4951
"github.com/hyperledger/fabric/core/scc"
5052
"github.com/hyperledger/fabric/core/testutil"
51-
pb "github.com/hyperledger/fabric/protos/peer"
52-
putils "github.com/hyperledger/fabric/protos/utils"
53-
54-
"bytes"
55-
56-
"github.com/hyperledger/fabric/core/ledger/ledgerconfig"
57-
"github.com/hyperledger/fabric/core/ledger/ledgermgmt"
5853
"github.com/hyperledger/fabric/msp"
5954
mspmgmt "github.com/hyperledger/fabric/msp/mgmt"
6055
"github.com/hyperledger/fabric/msp/mgmt/testtools"
6156
"github.com/hyperledger/fabric/protos/common"
57+
pb "github.com/hyperledger/fabric/protos/peer"
58+
putils "github.com/hyperledger/fabric/protos/utils"
6259
"github.com/spf13/viper"
6360
"golang.org/x/net/context"
6461
"google.golang.org/grpc"
@@ -1877,7 +1874,7 @@ type mockPolicyCheckerFactory struct{}
18771874
func (f *mockPolicyCheckerFactory) NewPolicyChecker() policy.PolicyChecker {
18781875
return policy.NewPolicyChecker(
18791876
peer.NewChannelPolicyManagerGetter(),
1880-
&policy.MockIdentityDeserializer{[]byte("Admin"), []byte("msg1")},
1881-
&policy.MockMSPPrincipalGetter{Principal: []byte("Admin")},
1877+
&mocks.MockIdentityDeserializer{[]byte("Admin"), []byte("msg1")},
1878+
&mocks.MockMSPPrincipalGetter{Principal: []byte("Admin")},
18821879
)
18831880
}

core/policy/mocks.go core/policy/mocks/mocks.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
1414
limitations under the License.
1515
*/
1616

17-
package policy
17+
package mocks
1818

1919
import (
2020
"bytes"

core/policy/policy.go

+10-10
Original file line numberDiff line numberDiff line change
@@ -82,17 +82,17 @@ func (p *policyChecker) CheckPolicy(channelID, policyName string, signedProp *pb
8282
// Prepare SignedData
8383
proposal, err := utils.GetProposal(signedProp.ProposalBytes)
8484
if err != nil {
85-
return fmt.Errorf("Failing extracting proposal during check policy on channel [%s] with policy [%s}: [%s]", channelID, policyName, err)
85+
return fmt.Errorf("Failing extracting proposal during check policy on channel [%s] with policy [%s]: [%s]", channelID, policyName, err)
8686
}
8787

8888
header, err := utils.GetHeader(proposal.Header)
8989
if err != nil {
90-
return fmt.Errorf("Failing extracting header during check policy on channel [%s] with policy [%s}: [%s]", channelID, policyName, err)
90+
return fmt.Errorf("Failing extracting header during check policy on channel [%s] with policy [%s]: [%s]", channelID, policyName, err)
9191
}
9292

9393
shdr, err := utils.GetSignatureHeader(header.SignatureHeader)
9494
if err != nil {
95-
return fmt.Errorf("Invalid Proposal's SignatureHeader during check policy on channel [%s] with policy [%s}: [%s]", channelID, policyName, err)
95+
return fmt.Errorf("Invalid Proposal's SignatureHeader during check policy on channel [%s] with policy [%s]: [%s]", channelID, policyName, err)
9696
}
9797

9898
sd := []*common.SignedData{&common.SignedData{
@@ -117,35 +117,35 @@ func (p *policyChecker) CheckPolicyNoChannel(policyName string, signedProp *pb.S
117117

118118
proposal, err := utils.GetProposal(signedProp.ProposalBytes)
119119
if err != nil {
120-
return fmt.Errorf("Failing extracting proposal during channelless check policy with policy [%s}: [%s]", policyName, err)
120+
return fmt.Errorf("Failing extracting proposal during channelless check policy with policy [%s]: [%s]", policyName, err)
121121
}
122122

123123
header, err := utils.GetHeader(proposal.Header)
124124
if err != nil {
125-
return fmt.Errorf("Failing extracting header during channelless check policy with policy [%s}: [%s]", policyName, err)
125+
return fmt.Errorf("Failing extracting header during channelless check policy with policy [%s]: [%s]", policyName, err)
126126
}
127127

128128
shdr, err := utils.GetSignatureHeader(header.SignatureHeader)
129129
if err != nil {
130-
return fmt.Errorf("Invalid Proposal's SignatureHeader during channelless check policy with policy [%s}: [%s]", policyName, err)
130+
return fmt.Errorf("Invalid Proposal's SignatureHeader during channelless check policy with policy [%s]: [%s]", policyName, err)
131131
}
132132

133133
// Deserialize proposal's creator with the local MSP
134134
id, err := p.localMSP.DeserializeIdentity(shdr.Creator)
135135
if err != nil {
136-
return fmt.Errorf("Failed deserializing proposal creator during channelless check policy with policy [%s}: [%s]", policyName, err)
136+
return fmt.Errorf("Failed deserializing proposal creator during channelless check policy with policy [%s]: [%s]", policyName, err)
137137
}
138138

139139
// Load MSPPrincipal for policy
140140
principal, err := p.principalGetter.Get(policyName)
141141
if err != nil {
142-
return fmt.Errorf("Failed getting local MSP principal during channelless check policy with policy [%s}: [%s]", policyName, err)
142+
return fmt.Errorf("Failed getting local MSP principal during channelless check policy with policy [%s]: [%s]", policyName, err)
143143
}
144144

145145
// Verify that proposal's creator satisfies the principal
146146
err = id.SatisfiesPrincipal(principal)
147147
if err != nil {
148-
return fmt.Errorf("Failed verifying that proposal's creator satisfies local MSP principal during channelless check policy with policy [%s}: [%s]", policyName, err)
148+
return fmt.Errorf("Failed verifying that proposal's creator satisfies local MSP principal during channelless check policy with policy [%s]: [%s]", policyName, err)
149149
}
150150

151151
// Verify the signature
@@ -179,7 +179,7 @@ func (p *policyChecker) CheckPolicyBySignedData(channelID, policyName string, sd
179179
// Evaluate the policy
180180
err := policy.Evaluate(sd)
181181
if err != nil {
182-
return fmt.Errorf("Failed evaluating policy on signed data during check policy on channel [%s] with policy [%s}: [%s]", channelID, policyName, err)
182+
return fmt.Errorf("Failed evaluating policy on signed data during check policy on channel [%s] with policy [%s]: [%s]", channelID, policyName, err)
183183
}
184184

185185
return nil

core/policy/policy_test.go

+111-9
Original file line numberDiff line numberDiff line change
@@ -20,57 +20,149 @@ import (
2020
"testing"
2121

2222
"github.com/hyperledger/fabric/common/policies"
23+
"github.com/hyperledger/fabric/core/policy/mocks"
2324
"github.com/hyperledger/fabric/msp/mgmt"
25+
"github.com/hyperledger/fabric/protos/common"
2426
"github.com/hyperledger/fabric/protos/peer"
2527
"github.com/hyperledger/fabric/protos/utils"
2628
"github.com/stretchr/testify/assert"
29+
"github.com/stretchr/testify/mock"
2730
)
2831

29-
func TestPolicyChecker(t *testing.T) {
30-
policyManagerGetter := &MockChannelPolicyManagerGetter{
32+
func TestCheckPolicyInvalidArgs(t *testing.T) {
33+
policyManagerGetter := &mocks.MockChannelPolicyManagerGetter{
34+
Managers: map[string]policies.Manager{
35+
"A": &mocks.MockChannelPolicyManager{&mocks.MockPolicy{&mocks.MockIdentityDeserializer{[]byte("Alice"), []byte("msg1")}}},
36+
},
37+
}
38+
pc := &policyChecker{channelPolicyManagerGetter: policyManagerGetter}
39+
40+
err := pc.CheckPolicy("B", "admin", &peer.SignedProposal{})
41+
assert.Error(t, err)
42+
assert.Contains(t, err.Error(), "Failed to get policy manager for channel [B]")
43+
}
44+
45+
func TestRegisterPolicyCheckerFactoryInvalidArgs(t *testing.T) {
46+
RegisterPolicyCheckerFactory(nil)
47+
assert.Panics(t, func() {
48+
GetPolicyChecker()
49+
})
50+
51+
RegisterPolicyCheckerFactory(nil)
52+
}
53+
54+
func TestRegisterPolicyCheckerFactory(t *testing.T) {
55+
policyManagerGetter := &mocks.MockChannelPolicyManagerGetter{
56+
Managers: map[string]policies.Manager{
57+
"A": &mocks.MockChannelPolicyManager{&mocks.MockPolicy{&mocks.MockIdentityDeserializer{[]byte("Alice"), []byte("msg1")}}},
58+
},
59+
}
60+
pc := &policyChecker{channelPolicyManagerGetter: policyManagerGetter}
61+
62+
factory := &MockPolicyCheckerFactory{}
63+
factory.On("NewPolicyChecker").Return(pc)
64+
65+
RegisterPolicyCheckerFactory(factory)
66+
pc2 := GetPolicyChecker()
67+
assert.Equal(t, pc, pc2)
68+
}
69+
70+
func TestCheckPolicyBySignedDataInvalidArgs(t *testing.T) {
71+
policyManagerGetter := &mocks.MockChannelPolicyManagerGetter{
72+
Managers: map[string]policies.Manager{
73+
"A": &mocks.MockChannelPolicyManager{&mocks.MockPolicy{&mocks.MockIdentityDeserializer{[]byte("Alice"), []byte("msg1")}}},
74+
},
75+
}
76+
pc := &policyChecker{channelPolicyManagerGetter: policyManagerGetter}
77+
78+
err := pc.CheckPolicyBySignedData("", "admin", []*common.SignedData{&common.SignedData{}})
79+
assert.Error(t, err)
80+
assert.Contains(t, err.Error(), "Invalid channel ID name during check policy on signed data. Name must be different from nil.")
81+
82+
err = pc.CheckPolicyBySignedData("A", "", []*common.SignedData{&common.SignedData{}})
83+
assert.Error(t, err)
84+
assert.Contains(t, err.Error(), "Invalid policy name during check policy on signed data on channel [A]. Name must be different from nil.")
85+
86+
err = pc.CheckPolicyBySignedData("A", "admin", nil)
87+
assert.Error(t, err)
88+
assert.Contains(t, err.Error(), "Invalid signed data during check policy on channel [A] with policy [admin]")
89+
90+
err = pc.CheckPolicyBySignedData("B", "admin", []*common.SignedData{&common.SignedData{}})
91+
assert.Error(t, err)
92+
assert.Contains(t, err.Error(), "Failed to get policy manager for channel [B]")
93+
94+
err = pc.CheckPolicyBySignedData("A", "admin", []*common.SignedData{&common.SignedData{}})
95+
assert.Error(t, err)
96+
assert.Contains(t, err.Error(), "Failed evaluating policy on signed data during check policy on channel [A] with policy [admin]")
97+
}
98+
99+
func TestPolicyCheckerInvalidArgs(t *testing.T) {
100+
policyManagerGetter := &mocks.MockChannelPolicyManagerGetter{
31101
map[string]policies.Manager{
32-
"A": &MockChannelPolicyManager{&MockPolicy{&MockIdentityDeserializer{[]byte("Alice"), []byte("msg1")}}},
33-
"B": &MockChannelPolicyManager{&MockPolicy{&MockIdentityDeserializer{[]byte("Bob"), []byte("msg2")}}},
34-
"C": &MockChannelPolicyManager{&MockPolicy{&MockIdentityDeserializer{[]byte("Alice"), []byte("msg3")}}},
102+
"A": &mocks.MockChannelPolicyManager{&mocks.MockPolicy{&mocks.MockIdentityDeserializer{[]byte("Alice"), []byte("msg1")}}},
103+
"B": &mocks.MockChannelPolicyManager{&mocks.MockPolicy{&mocks.MockIdentityDeserializer{[]byte("Bob"), []byte("msg2")}}},
104+
"C": &mocks.MockChannelPolicyManager{&mocks.MockPolicy{&mocks.MockIdentityDeserializer{[]byte("Alice"), []byte("msg3")}}},
35105
},
36106
}
37-
identityDeserializer := &MockIdentityDeserializer{[]byte("Alice"), []byte("msg1")}
107+
identityDeserializer := &mocks.MockIdentityDeserializer{[]byte("Alice"), []byte("msg1")}
38108
pc := NewPolicyChecker(
39109
policyManagerGetter,
40110
identityDeserializer,
41-
&MockMSPPrincipalGetter{Principal: []byte("Alice")},
111+
&mocks.MockMSPPrincipalGetter{Principal: []byte("Alice")},
42112
)
43113

44114
// Check that (non-empty channel, empty policy) fails
45115
err := pc.CheckPolicy("A", "", nil)
46116
assert.Error(t, err)
117+
assert.Contains(t, err.Error(), "Invalid policy name during check policy on channel [A]. Name must be different from nil.")
47118

48119
// Check that (empty channel, empty policy) fails
49120
err = pc.CheckPolicy("", "", nil)
50121
assert.Error(t, err)
122+
assert.Contains(t, err.Error(), "Invalid policy name during channelless check policy. Name must be different from nil.")
51123

52124
// Check that (non-empty channel, non-empty policy, nil proposal) fails
53125
err = pc.CheckPolicy("A", "A", nil)
54126
assert.Error(t, err)
127+
assert.Contains(t, err.Error(), "Invalid signed proposal during check policy on channel [A] with policy [A]")
55128

56129
// Check that (empty channel, non-empty policy, nil proposal) fails
57130
err = pc.CheckPolicy("", "A", nil)
58131
assert.Error(t, err)
132+
assert.Contains(t, err.Error(), "Invalid signed proposal during channelless check policy with policy [A]")
133+
}
134+
135+
func TestPolicyChecker(t *testing.T) {
136+
policyManagerGetter := &mocks.MockChannelPolicyManagerGetter{
137+
map[string]policies.Manager{
138+
"A": &mocks.MockChannelPolicyManager{&mocks.MockPolicy{&mocks.MockIdentityDeserializer{[]byte("Alice"), []byte("msg1")}}},
139+
"B": &mocks.MockChannelPolicyManager{&mocks.MockPolicy{&mocks.MockIdentityDeserializer{[]byte("Bob"), []byte("msg2")}}},
140+
"C": &mocks.MockChannelPolicyManager{&mocks.MockPolicy{&mocks.MockIdentityDeserializer{[]byte("Alice"), []byte("msg3")}}},
141+
},
142+
}
143+
identityDeserializer := &mocks.MockIdentityDeserializer{[]byte("Alice"), []byte("msg1")}
144+
pc := NewPolicyChecker(
145+
policyManagerGetter,
146+
identityDeserializer,
147+
&mocks.MockMSPPrincipalGetter{Principal: []byte("Alice")},
148+
)
59149

60150
// Validate Alice signatures against channel A's readers
61151
sProp, _ := utils.MockSignedEndorserProposalOrPanic("A", &peer.ChaincodeSpec{}, []byte("Alice"), []byte("msg1"))
62-
policyManagerGetter.Managers["A"].(*MockChannelPolicyManager).MockPolicy.(*MockPolicy).Deserializer.(*MockIdentityDeserializer).Msg = sProp.ProposalBytes
152+
policyManagerGetter.Managers["A"].(*mocks.MockChannelPolicyManager).MockPolicy.(*mocks.MockPolicy).Deserializer.(*mocks.MockIdentityDeserializer).Msg = sProp.ProposalBytes
63153
sProp.Signature = sProp.ProposalBytes
64-
err = pc.CheckPolicy("A", "readers", sProp)
154+
err := pc.CheckPolicy("A", "readers", sProp)
65155
assert.NoError(t, err)
66156

67157
// Proposal from Alice for channel A should fail against channel B, where Alice is not involved
68158
err = pc.CheckPolicy("B", "readers", sProp)
69159
assert.Error(t, err)
160+
assert.Contains(t, err.Error(), "Failed evaluating policy on signed data during check policy on channel [B] with policy [readers]: [Invalid Identity]")
70161

71162
// Proposal from Alice for channel A should fail against channel C, where Alice is involved but signature is not valid
72163
err = pc.CheckPolicy("C", "readers", sProp)
73164
assert.Error(t, err)
165+
assert.Contains(t, err.Error(), "Failed evaluating policy on signed data during check policy on channel [C] with policy [readers]: [Invalid Signature]")
74166

75167
// Alice is a member of the local MSP, policy check must succeed
76168
identityDeserializer.Msg = sProp.ProposalBytes
@@ -81,4 +173,14 @@ func TestPolicyChecker(t *testing.T) {
81173
// Bob is not a member of the local MSP, policy check must fail
82174
err = pc.CheckPolicyNoChannel(mgmt.Members, sProp)
83175
assert.Error(t, err)
176+
assert.Contains(t, err.Error(), "Failed deserializing proposal creator during channelless check policy with policy [Members]: [Invalid Identity]")
177+
}
178+
179+
type MockPolicyCheckerFactory struct {
180+
mock.Mock
181+
}
182+
183+
func (m *MockPolicyCheckerFactory) NewPolicyChecker() PolicyChecker {
184+
args := m.Called()
185+
return args.Get(0).(PolicyChecker)
84186
}

core/scc/cscc/configure_test.go

+11-10
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import (
3535
"github.com/hyperledger/fabric/core/ledger/ledgermgmt"
3636
"github.com/hyperledger/fabric/core/peer"
3737
"github.com/hyperledger/fabric/core/policy"
38+
policymocks "github.com/hyperledger/fabric/core/policy/mocks"
3839
"github.com/hyperledger/fabric/gossip/api"
3940
"github.com/hyperledger/fabric/gossip/service"
4041
"github.com/hyperledger/fabric/msp/mgmt"
@@ -180,18 +181,18 @@ func TestConfigerInvokeJoinChainCorrectParams(t *testing.T) {
180181
chaincode.NewChaincodeSupport(getPeerEndpoint, false, ccStartupTimeout)
181182

182183
// Init the policy checker
183-
policyManagerGetter := &policy.MockChannelPolicyManagerGetter{
184+
policyManagerGetter := &policymocks.MockChannelPolicyManagerGetter{
184185
Managers: map[string]policies.Manager{
185-
"mytestchainid": &policy.MockChannelPolicyManager{MockPolicy: &policy.MockPolicy{Deserializer: &policy.MockIdentityDeserializer{[]byte("Alice"), []byte("msg1")}}},
186+
"mytestchainid": &policymocks.MockChannelPolicyManager{MockPolicy: &policymocks.MockPolicy{Deserializer: &policymocks.MockIdentityDeserializer{[]byte("Alice"), []byte("msg1")}}},
186187
},
187188
}
188189

189-
identityDeserializer := &policy.MockIdentityDeserializer{[]byte("Alice"), []byte("msg1")}
190+
identityDeserializer := &policymocks.MockIdentityDeserializer{[]byte("Alice"), []byte("msg1")}
190191

191192
e.policyChecker = policy.NewPolicyChecker(
192193
policyManagerGetter,
193194
identityDeserializer,
194-
&policy.MockMSPPrincipalGetter{Principal: []byte("Alice")},
195+
&policymocks.MockMSPPrincipalGetter{Principal: []byte("Alice")},
195196
)
196197

197198
identity, _ := mgmt.GetLocalSigningIdentityOrPanic().Serialize()
@@ -234,7 +235,7 @@ func TestConfigerInvokeJoinChainCorrectParams(t *testing.T) {
234235
t.Fatalf("cscc invoke JoinChain failed with: %v", err)
235236
}
236237
args = [][]byte{[]byte("GetConfigBlock"), []byte(chainID)}
237-
policyManagerGetter.Managers["mytestchainid"].(*policy.MockChannelPolicyManager).MockPolicy.(*policy.MockPolicy).Deserializer.(*policy.MockIdentityDeserializer).Msg = sProp.ProposalBytes
238+
policyManagerGetter.Managers["mytestchainid"].(*policymocks.MockChannelPolicyManager).MockPolicy.(*policymocks.MockPolicy).Deserializer.(*policymocks.MockIdentityDeserializer).Msg = sProp.ProposalBytes
238239
if res := stub.MockInvokeWithSignedProposal("2", args, sProp); res.Status != shim.OK {
239240
t.Fatalf("cscc invoke GetConfigBlock failed with: %v", res.Message)
240241
}
@@ -263,24 +264,24 @@ func TestConfigerInvokeUpdateConfigBlock(t *testing.T) {
263264
stub := shim.NewMockStub("PeerConfiger", e)
264265

265266
// Init the policy checker
266-
policyManagerGetter := &policy.MockChannelPolicyManagerGetter{
267+
policyManagerGetter := &policymocks.MockChannelPolicyManagerGetter{
267268
Managers: map[string]policies.Manager{
268-
"mytestchainid": &policy.MockChannelPolicyManager{MockPolicy: &policy.MockPolicy{Deserializer: &policy.MockIdentityDeserializer{[]byte("Alice"), []byte("msg1")}}},
269+
"mytestchainid": &policymocks.MockChannelPolicyManager{MockPolicy: &policymocks.MockPolicy{Deserializer: &policymocks.MockIdentityDeserializer{[]byte("Alice"), []byte("msg1")}}},
269270
},
270271
}
271272

272-
identityDeserializer := &policy.MockIdentityDeserializer{[]byte("Alice"), []byte("msg1")}
273+
identityDeserializer := &policymocks.MockIdentityDeserializer{[]byte("Alice"), []byte("msg1")}
273274

274275
e.policyChecker = policy.NewPolicyChecker(
275276
policyManagerGetter,
276277
identityDeserializer,
277-
&policy.MockMSPPrincipalGetter{Principal: []byte("Alice")},
278+
&policymocks.MockMSPPrincipalGetter{Principal: []byte("Alice")},
278279
)
279280

280281
sProp, _ := utils.MockSignedEndorserProposalOrPanic("", &pb.ChaincodeSpec{}, []byte("Alice"), []byte("msg1"))
281282
identityDeserializer.Msg = sProp.ProposalBytes
282283
sProp.Signature = sProp.ProposalBytes
283-
policyManagerGetter.Managers["mytestchainid"].(*policy.MockChannelPolicyManager).MockPolicy.(*policy.MockPolicy).Deserializer.(*policy.MockIdentityDeserializer).Msg = sProp.ProposalBytes
284+
policyManagerGetter.Managers["mytestchainid"].(*policymocks.MockChannelPolicyManager).MockPolicy.(*policymocks.MockPolicy).Deserializer.(*policymocks.MockIdentityDeserializer).Msg = sProp.ProposalBytes
284285

285286
// Failed path: Not enough parameters
286287
args := [][]byte{[]byte("UpdateConfigBlock")}

0 commit comments

Comments
 (0)