Skip to content
This repository was archived by the owner on Apr 25, 2025. It is now read-only.

Commit 1491559

Browse files
committed
[FAB-8863]: Rename WithProposalProcessor to WithTargets
Change-Id: I784bf7f41a0c48d17eb28d1b7dad64d2a54eb890 Signed-off-by: Sandra Vrtikapa <sandra.vrtikapa@securekey.com>
1 parent cad7007 commit 1491559

File tree

8 files changed

+31
-33
lines changed

8 files changed

+31
-33
lines changed

pkg/client/channel/api.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ type Registration interface {
2929

3030
// opts allows the user to specify more advanced options
3131
type opts struct {
32-
ProposalProcessors []fab.ProposalProcessor // targets
33-
Timeout time.Duration
34-
Retry retry.Opts
32+
Targets []fab.Peer // targets
33+
Timeout time.Duration
34+
Retry retry.Opts
3535
}
3636

3737
//Option func for each Opts argument
@@ -62,10 +62,10 @@ func WithTimeout(timeout time.Duration) Option {
6262
}
6363
}
6464

65-
//WithProposalProcessor encapsulates ProposalProcessors to Option
66-
func WithProposalProcessor(proposalProcessors ...fab.ProposalProcessor) Option {
65+
//WithTargets encapsulates ProposalProcessors to Option
66+
func WithTargets(targets []fab.Peer) Option {
6767
return func(o *opts) error {
68-
o.ProposalProcessors = proposalProcessors
68+
o.Targets = targets
6969
return nil
7070
}
7171
}

pkg/client/channel/chclient.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ func (cc *Client) resolveRetry(ctx *invoke.RequestContext, o opts) bool {
139139
cc.greylist.Greylist(e)
140140

141141
// Reset context parameters
142-
ctx.Opts.ProposalProcessors = o.ProposalProcessors
142+
ctx.Opts.Targets = o.Targets
143143
ctx.Error = nil
144144
ctx.Response = invoke.Response{}
145145

pkg/client/channel/chclient_test.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -171,10 +171,8 @@ func TestQueryWithOptTarget(t *testing.T) {
171171

172172
peers := []fab.Peer{testPeer}
173173

174-
targets := peer.PeersToTxnProcessors(peers)
175-
176174
response, err := chClient.Query(Request{ChaincodeID: "testCC", Fcn: "invoke",
177-
Args: [][]byte{[]byte("query"), []byte("b")}}, WithProposalProcessor(targets...))
175+
Args: [][]byte{[]byte("query"), []byte("b")}}, WithTargets(peers))
178176
if err != nil {
179177
t.Fatalf("Failed to invoke test cc: %s", err)
180178
}
@@ -251,7 +249,7 @@ type customEndorsementHandler struct {
251249
}
252250

253251
func (h *customEndorsementHandler) Handle(requestContext *invoke.RequestContext, clientContext *invoke.ClientContext) {
254-
transactionProposalResponses, txnID, err := createAndSendTestTransactionProposal(h.transactor, &requestContext.Request, requestContext.Opts.ProposalProcessors)
252+
transactionProposalResponses, txnID, err := createAndSendTestTransactionProposal(h.transactor, &requestContext.Request, peer.PeersToTxnProcessors(requestContext.Opts.Targets))
255253

256254
requestContext.Response.TransactionID = txnID
257255

pkg/client/channel/invoke/api.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ import (
1818

1919
// Opts allows the user to specify more advanced options
2020
type Opts struct {
21-
ProposalProcessors []fab.ProposalProcessor // targets
22-
Timeout time.Duration
23-
Retry retry.Opts
21+
Targets []fab.Peer // targets
22+
Timeout time.Duration
23+
Retry retry.Opts
2424
}
2525

2626
// Request contains the parameters to execute transaction

pkg/client/channel/invoke/txnhandler.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,13 @@ type EndorsementHandler struct {
3030
//Handle for endorsing transactions
3131
func (e *EndorsementHandler) Handle(requestContext *RequestContext, clientContext *ClientContext) {
3232

33-
if len(requestContext.Opts.ProposalProcessors) == 0 {
33+
if len(requestContext.Opts.Targets) == 0 {
3434
requestContext.Error = status.New(status.ClientStatus, status.NoPeersFound.ToInt32(), "targets were not provided", nil)
3535
return
3636
}
3737

3838
// Endorse Tx
39-
transactionProposalResponses, proposal, err := createAndSendTransactionProposal(clientContext.Transactor, &requestContext.Request, requestContext.Opts.ProposalProcessors)
39+
transactionProposalResponses, proposal, err := createAndSendTransactionProposal(clientContext.Transactor, &requestContext.Request, peer.PeersToTxnProcessors(requestContext.Opts.Targets))
4040

4141
requestContext.Response.Proposal = proposal
4242
requestContext.Response.TransactionID = proposal.TxnID // TODO: still needed?
@@ -66,7 +66,7 @@ type ProposalProcessorHandler struct {
6666
func (h *ProposalProcessorHandler) Handle(requestContext *RequestContext, clientContext *ClientContext) {
6767
//Get proposal processor, if not supplied then use discovery service to get available peers as endorser
6868
//If selection service available then get endorser peers for this chaincode
69-
if len(requestContext.Opts.ProposalProcessors) == 0 {
69+
if len(requestContext.Opts.Targets) == 0 {
7070
// Use discovery service to figure out proposal processors
7171
peers, err := clientContext.Discovery.GetPeers()
7272
if err != nil {
@@ -81,7 +81,7 @@ func (h *ProposalProcessorHandler) Handle(requestContext *RequestContext, client
8181
return
8282
}
8383
}
84-
requestContext.Opts.ProposalProcessors = peer.PeersToTxnProcessors(endorsers)
84+
requestContext.Opts.Targets = endorsers
8585
}
8686

8787
//Delegate to next step if any

pkg/client/channel/invoke/txnhandler_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ func TestExecuteTxHandlerErrors(t *testing.T) {
153153
func TestEndorsementHandler(t *testing.T) {
154154
request := Request{ChaincodeID: "test", Fcn: "invoke", Args: [][]byte{[]byte("move"), []byte("a"), []byte("b"), []byte("1")}}
155155

156-
requestContext := prepareRequestContext(request, Opts{ProposalProcessors: []fab.ProposalProcessor{fcmocks.NewMockPeer("p2", "")}}, t)
156+
requestContext := prepareRequestContext(request, Opts{Targets: []fab.Peer{fcmocks.NewMockPeer("p2", "")}}, t)
157157
clientContext := setupChannelClientContext(nil, nil, nil, t)
158158

159159
handler := NewEndorsementHandler()
@@ -183,23 +183,23 @@ func TestProposalProcessorHandler(t *testing.T) {
183183
if requestContext.Error != nil {
184184
t.Fatalf("Got error: %s", requestContext.Error)
185185
}
186-
if len(requestContext.Opts.ProposalProcessors) != len(discoveryPeers) {
187-
t.Fatalf("Expecting %d proposal processors but got %d", len(discoveryPeers), len(requestContext.Opts.ProposalProcessors))
186+
if len(requestContext.Opts.Targets) != len(discoveryPeers) {
187+
t.Fatalf("Expecting %d proposal processors but got %d", len(discoveryPeers), len(requestContext.Opts.Targets))
188188
}
189-
if requestContext.Opts.ProposalProcessors[0] != peer1 || requestContext.Opts.ProposalProcessors[1] != peer2 {
189+
if requestContext.Opts.Targets[0] != peer1 || requestContext.Opts.Targets[1] != peer2 {
190190
t.Fatalf("Didn't get expected peers")
191191
}
192192

193193
// Directly pass in the proposal processors. In this case it should use those directly
194-
requestContext = prepareRequestContext(request, Opts{ProposalProcessors: []fab.ProposalProcessor{peer2}}, t)
194+
requestContext = prepareRequestContext(request, Opts{Targets: []fab.Peer{peer2}}, t)
195195
handler.Handle(requestContext, setupChannelClientContext(nil, nil, discoveryPeers, t))
196196
if requestContext.Error != nil {
197197
t.Fatalf("Got error: %s", requestContext.Error)
198198
}
199-
if len(requestContext.Opts.ProposalProcessors) != 1 {
200-
t.Fatalf("Expecting 1 proposal processor but got %d", len(requestContext.Opts.ProposalProcessors))
199+
if len(requestContext.Opts.Targets) != 1 {
200+
t.Fatalf("Expecting 1 proposal processor but got %d", len(requestContext.Opts.Targets))
201201
}
202-
if requestContext.Opts.ProposalProcessors[0] != peer2 {
202+
if requestContext.Opts.Targets[0] != peer2 {
203203
t.Fatalf("Didn't get expected peers")
204204
}
205205
}

pkg/client/common/selection/dynamicselection/ccpolicyprovider.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ func (dp *ccPolicyProvider) queryChaincode(ccID string, ccFcn string, ccArgs [][
149149
Args: ccArgs,
150150
}
151151

152-
resp, err := client.Query(request, channel.WithProposalProcessor(peer))
152+
resp, err := client.Query(request, channel.WithTargets([]fab.Peer{peer}))
153153
if err != nil {
154154
queryErrors = append(queryErrors, err.Error())
155155
continue

test/integration/orgs/multiple_orgs_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ func testWithOrg1(t *testing.T, sdk *fabsdk.FabricSDK) int {
176176
t.Fatalf("Failed to create new ledger client: %s", err)
177177
}
178178

179-
channelCfg, err := ledgerClient.QueryConfig(ledger.WithTargets(orgTestPeer0.(fab.Peer), orgTestPeer1.(fab.Peer)), ledger.WithMinTargets(2))
179+
channelCfg, err := ledgerClient.QueryConfig(ledger.WithTargets(orgTestPeer0, orgTestPeer1), ledger.WithMinTargets(2))
180180
if err != nil {
181181
t.Fatalf("QueryConfig return error: %v", err)
182182
}
@@ -188,7 +188,7 @@ func testWithOrg1(t *testing.T, sdk *fabsdk.FabricSDK) int {
188188
t.Fatalf("Expecting %s, got %s", expectedOrderer, channelCfg.Orderers()[0])
189189
}
190190

191-
ledgerInfoBefore, err := ledgerClient.QueryInfo(ledger.WithTargets(orgTestPeer0.(fab.Peer), orgTestPeer1.(fab.Peer)), ledger.WithMinTargets(2), ledger.WithMaxTargets(3))
191+
ledgerInfoBefore, err := ledgerClient.QueryInfo(ledger.WithTargets(orgTestPeer0, orgTestPeer1), ledger.WithMinTargets(2), ledger.WithMaxTargets(3))
192192
if err != nil {
193193
t.Fatalf("QueryInfo return error: %v", err)
194194
}
@@ -203,7 +203,7 @@ func testWithOrg1(t *testing.T, sdk *fabsdk.FabricSDK) int {
203203
}
204204

205205
// Org2 user moves funds on org2 peer
206-
response, err = chClientOrg2User.Execute(channel.Request{ChaincodeID: "exampleCC", Fcn: "invoke", Args: integration.ExampleCCTxArgs()}, channel.WithProposalProcessor(orgTestPeer1))
206+
response, err = chClientOrg2User.Execute(channel.Request{ChaincodeID: "exampleCC", Fcn: "invoke", Args: integration.ExampleCCTxArgs()}, channel.WithTargets([]fab.Peer{orgTestPeer1}))
207207
if err != nil {
208208
t.Fatalf("Failed to move funds: %s", err)
209209
}
@@ -267,13 +267,13 @@ func testWithOrg1(t *testing.T, sdk *fabsdk.FabricSDK) int {
267267
}
268268

269269
// Org2 user moves funds on org2 peer (cc policy fails since both Org1 and Org2 peers should participate)
270-
response, err = chClientOrg2User.Execute(channel.Request{ChaincodeID: "exampleCC", Fcn: "invoke", Args: integration.ExampleCCTxArgs()}, channel.WithProposalProcessor(orgTestPeer1))
270+
response, err = chClientOrg2User.Execute(channel.Request{ChaincodeID: "exampleCC", Fcn: "invoke", Args: integration.ExampleCCTxArgs()}, channel.WithTargets([]fab.Peer{orgTestPeer1}))
271271
if err == nil {
272272
t.Fatalf("Should have failed to move funds due to cc policy")
273273
}
274274

275275
// Org2 user moves funds (cc policy ok since we have provided peers for both Orgs)
276-
response, err = chClientOrg2User.Execute(channel.Request{ChaincodeID: "exampleCC", Fcn: "invoke", Args: integration.ExampleCCTxArgs()}, channel.WithProposalProcessor(orgTestPeer0, orgTestPeer1))
276+
response, err = chClientOrg2User.Execute(channel.Request{ChaincodeID: "exampleCC", Fcn: "invoke", Args: integration.ExampleCCTxArgs()}, channel.WithTargets([]fab.Peer{orgTestPeer0, orgTestPeer1}))
277277
if err != nil {
278278
t.Fatalf("Failed to move funds: %s", err)
279279
}
@@ -331,7 +331,7 @@ func verifyValue(t *testing.T, chClient *channel.Client, expected int) {
331331
var valueInt int
332332
for i := 0; i < pollRetries; i++ {
333333
// Query final value on org1 peer
334-
response, err := chClient.Query(channel.Request{ChaincodeID: "exampleCC", Fcn: "invoke", Args: integration.ExampleCCQueryArgs()}, channel.WithProposalProcessor(orgTestPeer0))
334+
response, err := chClient.Query(channel.Request{ChaincodeID: "exampleCC", Fcn: "invoke", Args: integration.ExampleCCQueryArgs()}, channel.WithTargets([]fab.Peer{orgTestPeer0}))
335335
if err != nil {
336336
t.Fatalf("Failed to query funds after transaction: %s", err)
337337
}

0 commit comments

Comments
 (0)