@@ -23,7 +23,6 @@ import (
23
23
"github.com/hyperledger/fabric/common/configtx/test"
24
24
"github.com/hyperledger/fabric/common/ledger/testutil"
25
25
util2 "github.com/hyperledger/fabric/common/util"
26
- "github.com/hyperledger/fabric/core/common/sysccprovider"
27
26
"github.com/hyperledger/fabric/core/ledger/ledgermgmt"
28
27
"github.com/hyperledger/fabric/core/ledger/util"
29
28
ledgerUtil "github.com/hyperledger/fabric/core/ledger/util"
@@ -49,12 +48,6 @@ func TestBlockValidation(t *testing.T) {
49
48
ledger , _ := ledgermgmt .CreateLedger (gb )
50
49
defer ledger .Close ()
51
50
52
- chaincodeIns := & sysccprovider.ChaincodeInstance {
53
- ChaincodeName : "foo" ,
54
- ChaincodeVersion : "v1" ,
55
- ChainID : util2 .GetTestChainID (),
56
- }
57
-
58
51
simulator , _ := ledger .NewTxSimulator ()
59
52
simulator .SetState ("ns1" , "key1" , []byte ("value1" ))
60
53
simulator .SetState ("ns1" , "key2" , []byte ("value2" ))
@@ -63,15 +56,12 @@ func TestBlockValidation(t *testing.T) {
63
56
64
57
simRes , _ := simulator .GetTxSimulationResults ()
65
58
66
- prespPaylBytes , err := testutil .ConstructBytesProposalResponsePayload ("v1" , simRes )
59
+ _ , err := testutil .ConstructBytesProposalResponsePayload ("v1" , simRes )
67
60
if err != nil {
68
61
t .Fatalf ("Could not construct ProposalResponsePayload bytes, err: %s" , err )
69
62
}
70
63
71
- mockVsccValidator := & validator.MockVsccValidator {
72
- CIns : chaincodeIns ,
73
- RespPayl : prespPaylBytes ,
74
- }
64
+ mockVsccValidator := & validator.MockVsccValidator {}
75
65
tValidator := & txValidator {& mocktxvalidator.Support {LedgerVal : ledger }, mockVsccValidator }
76
66
77
67
bcInfo , _ := ledger .GetBlockchainInfo ()
@@ -85,27 +75,26 @@ func TestBlockValidation(t *testing.T) {
85
75
txsfltr := util .TxValidationFlags (block .Metadata .Metadata [common .BlockMetadataIndex_TRANSACTIONS_FILTER ])
86
76
assert .True (t , txsfltr .IsSetTo (0 , peer .TxValidationCode_VALID ))
87
77
88
- // upgrade chaincode version
89
- upgradeChaincodeIns := & sysccprovider.ChaincodeInstance {
90
- ChaincodeName : "foo" ,
91
- ChaincodeVersion : "v2" , // new version
92
- ChainID : util2 .GetTestChainID (),
93
- }
78
+ /*
94
79
95
- newMockVsccValidator := & validator.MockVsccValidator {
96
- CIns : upgradeChaincodeIns ,
97
- RespPayl : prespPaylBytes ,
98
- }
99
- newTxValidator := & txValidator {& mocktxvalidator.Support {LedgerVal : ledger }, newMockVsccValidator }
80
+ a better way of testing this without all of the mocking was
81
+ implemented in validator_test.go
82
+
83
+ newMockVsccValidator := &validator.MockVsccValidator{
84
+ CIns: upgradeChaincodeIns,
85
+ RespPayl: prespPaylBytes,
86
+ }
87
+ newTxValidator := &txValidator{&mocktxvalidator.Support{LedgerVal: ledger}, newMockVsccValidator}
100
88
101
- // generate new block
102
- newBlock := testutil .ConstructBlock (t , 2 , block .Header .Hash (), [][]byte {simRes }, true ) // contains one tx with chaincode version v1
89
+ // generate new block
90
+ newBlock := testutil.ConstructBlock(t, 2, block.Header.Hash(), [][]byte{simRes}, true) // contains one tx with chaincode version v1
103
91
104
- newTxValidator .Validate (newBlock )
92
+ newTxValidator.Validate(newBlock)
105
93
106
- // tx should be invalided because of chaincode upgrade
107
- txsfltr = util .TxValidationFlags (newBlock .Metadata .Metadata [common .BlockMetadataIndex_TRANSACTIONS_FILTER ])
108
- assert .True (t , txsfltr .IsSetTo (0 , peer .TxValidationCode_EXPIRED_CHAINCODE ))
94
+ // tx should be invalided because of chaincode upgrade
95
+ txsfltr = util.TxValidationFlags(newBlock.Metadata.Metadata[common.BlockMetadataIndex_TRANSACTIONS_FILTER])
96
+ assert.True(t, txsfltr.IsSetTo(0, peer.TxValidationCode_EXPIRED_CHAINCODE))
97
+ */
109
98
}
110
99
111
100
func TestNewTxValidator_DuplicateTransactions (t * testing.T ) {
@@ -225,12 +214,12 @@ func TestGetTxCCInstance(t *testing.T) {
225
214
payload , err := utils .GetPayload (env )
226
215
assert .NoError (t , err )
227
216
228
- expectInvokeCCIns := & sysccprovider. ChaincodeInstance {
217
+ expectInvokeCCIns := & ChaincodeInstance {
229
218
ChainID : chainID ,
230
219
ChaincodeName : "lscc" ,
231
220
ChaincodeVersion : "" ,
232
221
}
233
- expectUpgradeCCIns := & sysccprovider. ChaincodeInstance {
222
+ expectUpgradeCCIns := & ChaincodeInstance {
234
223
ChainID : chainID ,
235
224
ChaincodeName : upgradeCCName ,
236
225
ChaincodeVersion : upgradeCCVersion ,
@@ -246,20 +235,20 @@ func TestGetTxCCInstance(t *testing.T) {
246
235
}
247
236
248
237
func TestInvalidTXsForUpgradeCC (t * testing.T ) {
249
- txsChaincodeNames := map [int ]* sysccprovider. ChaincodeInstance {
250
- 0 : & sysccprovider. ChaincodeInstance {"chain0" , "cc0" , "v0" }, // invoke cc0/chain0:v0, should not be affected by upgrade tx in other chain
251
- 1 : & sysccprovider. ChaincodeInstance {"chain1" , "cc0" , "v0" }, // invoke cc0/chain1:v0, should be invalided by cc1/chain1 upgrade tx
252
- 2 : & sysccprovider. ChaincodeInstance {"chain1" , "lscc" , "" }, // upgrade cc0/chain1 to v1, should be invalided by latter cc0/chain1 upgtade tx
253
- 3 : & sysccprovider. ChaincodeInstance {"chain1" , "cc0" , "v0" }, // invoke cc0/chain1:v0, should be invalided by cc1/chain1 upgrade tx
254
- 4 : & sysccprovider. ChaincodeInstance {"chain1" , "cc0" , "v1" }, // invoke cc0/chain1:v1, should be invalided by cc1/chain1 upgrade tx
255
- 5 : & sysccprovider. ChaincodeInstance {"chain1" , "cc1" , "v0" }, // invoke cc1/chain1:v0, should not be affected by other chaincode upgrade tx
256
- 6 : & sysccprovider. ChaincodeInstance {"chain1" , "lscc" , "" }, // upgrade cc0/chain1 to v2, should be invalided by latter cc0/chain1 upgtade tx
257
- 7 : & sysccprovider. ChaincodeInstance {"chain1" , "lscc" , "" }, // upgrade cc0/chain1 to v3
238
+ txsChaincodeNames := map [int ]* ChaincodeInstance {
239
+ 0 : & ChaincodeInstance {"chain0" , "cc0" , "v0" }, // invoke cc0/chain0:v0, should not be affected by upgrade tx in other chain
240
+ 1 : & ChaincodeInstance {"chain1" , "cc0" , "v0" }, // invoke cc0/chain1:v0, should be invalided by cc1/chain1 upgrade tx
241
+ 2 : & ChaincodeInstance {"chain1" , "lscc" , "" }, // upgrade cc0/chain1 to v1, should be invalided by latter cc0/chain1 upgtade tx
242
+ 3 : & ChaincodeInstance {"chain1" , "cc0" , "v0" }, // invoke cc0/chain1:v0, should be invalided by cc1/chain1 upgrade tx
243
+ 4 : & ChaincodeInstance {"chain1" , "cc0" , "v1" }, // invoke cc0/chain1:v1, should be invalided by cc1/chain1 upgrade tx
244
+ 5 : & ChaincodeInstance {"chain1" , "cc1" , "v0" }, // invoke cc1/chain1:v0, should not be affected by other chaincode upgrade tx
245
+ 6 : & ChaincodeInstance {"chain1" , "lscc" , "" }, // upgrade cc0/chain1 to v2, should be invalided by latter cc0/chain1 upgtade tx
246
+ 7 : & ChaincodeInstance {"chain1" , "lscc" , "" }, // upgrade cc0/chain1 to v3
258
247
}
259
- upgradedChaincodes := map [int ]* sysccprovider. ChaincodeInstance {
260
- 2 : & sysccprovider. ChaincodeInstance {"chain1" , "cc0" , "v1" },
261
- 6 : & sysccprovider. ChaincodeInstance {"chain1" , "cc0" , "v2" },
262
- 7 : & sysccprovider. ChaincodeInstance {"chain1" , "cc0" , "v3" },
248
+ upgradedChaincodes := map [int ]* ChaincodeInstance {
249
+ 2 : & ChaincodeInstance {"chain1" , "cc0" , "v1" },
250
+ 6 : & ChaincodeInstance {"chain1" , "cc0" , "v2" },
251
+ 7 : & ChaincodeInstance {"chain1" , "cc0" , "v3" },
263
252
}
264
253
265
254
txsfltr := ledgerUtil .NewTxValidationFlags (8 )
0 commit comments