@@ -38,12 +38,13 @@ type MockCcProviderFactory struct {
38
38
39
39
// NewChaincodeProvider returns a mock implementation of the ccprovider.ChaincodeProvider interface
40
40
func (c * MockCcProviderFactory ) NewChaincodeProvider () ccprovider.ChaincodeProvider {
41
- return & mockCcProviderImpl { c .ExecuteResultProvider }
41
+ return & MockCcProviderImpl { ExecuteResultProvider : c .ExecuteResultProvider }
42
42
}
43
43
44
44
// mockCcProviderImpl is a mock implementation of the chaincode provider
45
- type mockCcProviderImpl struct {
46
- executeResultProvider ExecuteChaincodeResultProvider
45
+ type MockCcProviderImpl struct {
46
+ ExecuteResultProvider ExecuteChaincodeResultProvider
47
+ ExecuteChaincodeResponse * peer.Response
47
48
}
48
49
49
50
type mockCcProviderContextImpl struct {
@@ -121,34 +122,43 @@ func (m *MockTxSim) SetPrivateDataMultipleKeys(namespace, collection string, kvs
121
122
}
122
123
123
124
// GetContext does nothing
124
- func (c * mockCcProviderImpl ) GetContext (ledger ledger.PeerLedger , txid string ) (context.Context , ledger.TxSimulator , error ) {
125
+ func (c * MockCcProviderImpl ) GetContext (ledger ledger.PeerLedger , txid string ) (context.Context , ledger.TxSimulator , error ) {
125
126
return nil , & MockTxSim {}, nil
126
127
}
127
128
128
129
// GetCCContext does nothing
129
- func (c * mockCcProviderImpl ) GetCCContext (cid , name , version , txid string , syscc bool , signedProp * peer.SignedProposal , prop * peer.Proposal ) interface {} {
130
+ func (c * MockCcProviderImpl ) GetCCContext (cid , name , version , txid string , syscc bool , signedProp * peer.SignedProposal , prop * peer.Proposal ) interface {} {
130
131
return & mockCcProviderContextImpl {}
131
132
}
132
133
134
+ // GetCCValidationInfoFromLSCC does nothing
135
+ func (c * MockCcProviderImpl ) GetCCValidationInfoFromLSCC (ctxt context.Context , txid string , signedProp * peer.SignedProposal , prop * peer.Proposal , chainID string , chaincodeID string ) (string , []byte , error ) {
136
+ return "vscc" , nil , nil
137
+ }
138
+
133
139
// ExecuteChaincode does nothing
134
- func (c * mockCcProviderImpl ) ExecuteChaincode (ctxt context.Context , cccid interface {}, args [][]byte ) (* peer.Response , * peer.ChaincodeEvent , error ) {
135
- if c .executeResultProvider != nil {
136
- return c .executeResultProvider .ExecuteChaincodeResult ()
140
+ func (c * MockCcProviderImpl ) ExecuteChaincode (ctxt context.Context , cccid interface {}, args [][]byte ) (* peer.Response , * peer.ChaincodeEvent , error ) {
141
+ if c .ExecuteResultProvider != nil {
142
+ return c .ExecuteResultProvider .ExecuteChaincodeResult ()
143
+ }
144
+ if c .ExecuteChaincodeResponse == nil {
145
+ return & peer.Response {Status : shim .OK }, nil , nil
146
+ } else {
147
+ return c .ExecuteChaincodeResponse , nil , nil
137
148
}
138
- return & peer.Response {Status : shim .OK }, nil , nil
139
149
}
140
150
141
151
// Execute executes the chaincode given context and spec (invocation or deploy)
142
- func (c * mockCcProviderImpl ) Execute (ctxt context.Context , cccid interface {}, spec interface {}) (* peer.Response , * peer.ChaincodeEvent , error ) {
152
+ func (c * MockCcProviderImpl ) Execute (ctxt context.Context , cccid interface {}, spec interface {}) (* peer.Response , * peer.ChaincodeEvent , error ) {
143
153
return nil , nil , nil
144
154
}
145
155
146
156
// ExecuteWithErrorFilter executes the chaincode given context and spec and returns payload
147
- func (c * mockCcProviderImpl ) ExecuteWithErrorFilter (ctxt context.Context , cccid interface {}, spec interface {}) ([]byte , * peer.ChaincodeEvent , error ) {
157
+ func (c * MockCcProviderImpl ) ExecuteWithErrorFilter (ctxt context.Context , cccid interface {}, spec interface {}) ([]byte , * peer.ChaincodeEvent , error ) {
148
158
return nil , nil , nil
149
159
}
150
160
151
161
// Stop stops the chaincode given context and deployment spec
152
- func (c * mockCcProviderImpl ) Stop (ctxt context.Context , cccid interface {}, spec * peer.ChaincodeDeploymentSpec ) error {
162
+ func (c * MockCcProviderImpl ) Stop (ctxt context.Context , cccid interface {}, spec * peer.ChaincodeDeploymentSpec ) error {
153
163
return nil
154
164
}
0 commit comments