Skip to content

Commit a1c892d

Browse files
committed
[FAB-8517] Enable "peer channel fetch" against peer
This CR enables the "peer channel fetch" command to be called against a peer's deliver service. Change-Id: I172b43b24101ed7c6a040fda4fcb47c9dbfb1690 Signed-off-by: Will Lahti <wtlahti@us.ibm.com>
1 parent ca3ef64 commit a1c892d

29 files changed

+1214
-451
lines changed

integration/runner/peer.go

+13
Original file line numberDiff line numberDiff line change
@@ -192,3 +192,16 @@ func (p *Peer) InvokeChaincode(name string, channel string, args string, orderer
192192

193193
return r
194194
}
195+
196+
func (p *Peer) SetLogLevel(moduleRegExp string, level string) *ginkgomon.Runner {
197+
cmd := exec.Command(p.Path, "logging", "setlevel", moduleRegExp, level)
198+
p.setupEnvironment(cmd)
199+
200+
r := ginkgomon.New(ginkgomon.Config{
201+
Name: "logging",
202+
AnsiColorCode: "4;38m",
203+
Command: cmd,
204+
})
205+
206+
return r
207+
}

integration/runner/peer_test.go

+22-1
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,6 @@ var _ = Describe("Peer", func() {
163163
fetchRun.MSPConfigPath = filepath.Join(cryptoDir, "peerOrganizations", "org1.example.com", "users", "Admin@org1.example.com", "msp")
164164
fRunner := fetchRun.FetchChannel("mychan", filepath.Join(tempDir, "mychan.block"), "0", "127.0.0.1:8050")
165165
execute(fRunner)
166-
time.Sleep(5 * time.Second)
167166
Expect(ordererRunner.Err()).To(gbytes.Say(`\Q[channel: mychan] Done delivering \E`))
168167
Expect(fRunner.Err()).To(gbytes.Say("Received block: 0"))
169168

@@ -244,5 +243,27 @@ var _ = Describe("Peer", func() {
244243
invkeRunner := invokeChan.InvokeChaincode("mytest", "mychan", `{"Args":["invoke","a","b","10"]}`, "127.0.0.1:8050")
245244
execute(invkeRunner)
246245
Expect(invkeRunner.Err()).To(gbytes.Say("Chaincode invoke successful. result: status:200"))
246+
247+
By("setting the log level for deliver to debug")
248+
logRun := components.Peer()
249+
logRun.ConfigDir = tempDir
250+
logRun.MSPConfigPath = filepath.Join(cryptoDir, "peerOrganizations", "org1.example.com", "users", "Admin@org1.example.com", "msp")
251+
lRunner := logRun.SetLogLevel("common/deliver", "debug")
252+
execute(lRunner)
253+
Expect(lRunner.Err()).To(gbytes.Say("Log level set for peer modules matching regular expression 'common/deliver': DEBUG"))
254+
255+
By("fetching the latest block from the peer")
256+
fetchRun = components.Peer()
257+
fetchRun.ConfigDir = tempDir
258+
fetchRun.MSPConfigPath = filepath.Join(cryptoDir, "peerOrganizations", "org1.example.com", "users", "Admin@org1.example.com", "msp")
259+
fRunner = fetchRun.FetchChannel("mychan", filepath.Join(tempDir, "newest_block.pb"), "newest", "")
260+
execute(fRunner)
261+
Expect(peerRunner.Err()).To(gbytes.Say(`\Q[channel: mychan] Done delivering \E`))
262+
Expect(fRunner.Err()).To(gbytes.Say("Received block: "))
263+
264+
By("setting the log level for deliver to back to info")
265+
lRunner = logRun.SetLogLevel("common/deliver", "info")
266+
execute(lRunner)
267+
Expect(lRunner.Err()).To(gbytes.Say("Log level set for peer modules matching regular expression 'common/deliver': INFO"))
247268
})
248269
})

peer/chaincode/api/api.go

-11
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,10 @@ SPDX-License-Identifier: Apache-2.0
77
package api
88

99
import (
10-
"context"
11-
1210
pcommon "github.com/hyperledger/fabric/protos/common"
1311
pb "github.com/hyperledger/fabric/protos/peer"
14-
"google.golang.org/grpc"
1512
)
1613

17-
//go:generate counterfeiter -o ../mock/deliverclient.go -fake-name DeliverClient . DeliverClient
18-
19-
// DeliverClient defines the interface for a peer's deliver service
20-
type DeliverClient interface {
21-
Deliver(ctx context.Context, opts ...grpc.CallOption) (Deliver, error)
22-
DeliverFiltered(ctx context.Context, opts ...grpc.CallOption) (Deliver, error)
23-
}
24-
2514
//go:generate counterfeiter -o ../mock/deliver.go -fake-name Deliver . Deliver
2615

2716
// Deliver defines the interface for delivering blocks

peer/chaincode/common.go

+9-8
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,9 @@ import (
2424
"github.com/hyperledger/fabric/core/chaincode/shim"
2525
"github.com/hyperledger/fabric/core/container"
2626
"github.com/hyperledger/fabric/msp"
27-
"github.com/hyperledger/fabric/peer/chaincode/api"
27+
ccapi "github.com/hyperledger/fabric/peer/chaincode/api"
2828
"github.com/hyperledger/fabric/peer/common"
29+
"github.com/hyperledger/fabric/peer/common/api"
2930
pcommon "github.com/hyperledger/fabric/protos/common"
3031
ab "github.com/hyperledger/fabric/protos/orderer"
3132
pb "github.com/hyperledger/fabric/protos/peer"
@@ -354,7 +355,7 @@ func validatePeerConnectionParameters(cmdName string) error {
354355
// ChaincodeCmdFactory holds the clients used by ChaincodeCmd
355356
type ChaincodeCmdFactory struct {
356357
EndorserClients []pb.EndorserClient
357-
DeliverClients []api.DeliverClient
358+
DeliverClients []api.PeerDeliverClient
358359
Certificate tls.Certificate
359360
Signer msp.SigningIdentity
360361
BroadcastClient common.BroadcastClient
@@ -364,7 +365,7 @@ type ChaincodeCmdFactory struct {
364365
func InitCmdFactory(cmdName string, isEndorserRequired, isOrdererRequired bool) (*ChaincodeCmdFactory, error) {
365366
var err error
366367
var endorserClients []pb.EndorserClient
367-
var deliverClients []api.DeliverClient
368+
var deliverClients []api.PeerDeliverClient
368369
if isEndorserRequired {
369370
if err = validatePeerConnectionParameters(cmdName); err != nil {
370371
return nil, errors.WithMessage(err, "error validating peer connection parameters")
@@ -379,7 +380,7 @@ func InitCmdFactory(cmdName string, isEndorserRequired, isOrdererRequired bool)
379380
return nil, errors.WithMessage(err, fmt.Sprintf("error getting endorser client for %s", cmdName))
380381
}
381382
endorserClients = append(endorserClients, endorserClient)
382-
deliverClient, err := common.GetDeliverClientFnc(address, tlsRootCertFile)
383+
deliverClient, err := common.GetPeerDeliverClientFnc(address, tlsRootCertFile)
383384
if err != nil {
384385
return nil, errors.WithMessage(err, fmt.Sprintf("error getting deliver client for %s", cmdName))
385386
}
@@ -451,7 +452,7 @@ func ChaincodeInvokeOrQuery(
451452
signer msp.SigningIdentity,
452453
certificate tls.Certificate,
453454
endorserClients []pb.EndorserClient,
454-
deliverClients []api.DeliverClient,
455+
deliverClients []api.PeerDeliverClient,
455456
bc common.BroadcastClient,
456457
) (*pb.ProposalResponse, error) {
457458
// Build the ChaincodeInvocationSpec message
@@ -564,12 +565,12 @@ type deliverGroup struct {
564565
// deliverClient holds the client/connection related to a specific
565566
// peer. The address is included for logging purposes
566567
type deliverClient struct {
567-
Client api.DeliverClient
568-
Connection api.Deliver
568+
Client api.PeerDeliverClient
569+
Connection ccapi.Deliver
569570
Address string
570571
}
571572

572-
func newDeliverGroup(deliverClients []api.DeliverClient, peerAddresses []string, certificate tls.Certificate, channelID string, txid string) *deliverGroup {
573+
func newDeliverGroup(deliverClients []api.PeerDeliverClient, peerAddresses []string, certificate tls.Certificate, channelID string, txid string) *deliverGroup {
573574
clients := make([]*deliverClient, len(deliverClients))
574575
for i, client := range deliverClients {
575576
dc := &deliverClient{

peer/chaincode/common_test.go

+12-6
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,10 @@ import (
2222
"github.com/hyperledger/fabric/common/tools/configtxgen/encoder"
2323
genesisconfig "github.com/hyperledger/fabric/common/tools/configtxgen/localconfig"
2424
"github.com/hyperledger/fabric/core/config/configtest"
25-
"github.com/hyperledger/fabric/peer/chaincode/api"
2625
"github.com/hyperledger/fabric/peer/chaincode/mock"
2726
"github.com/hyperledger/fabric/peer/common"
27+
"github.com/hyperledger/fabric/peer/common/api"
28+
cmock "github.com/hyperledger/fabric/peer/common/mock"
2829
common2 "github.com/hyperledger/fabric/protos/common"
2930
pb "github.com/hyperledger/fabric/protos/peer"
3031
"github.com/hyperledger/fabric/protos/utils"
@@ -371,7 +372,7 @@ func TestDeliverGroupConnect(t *testing.T) {
371372
g.Expect(err).To(BeNil())
372373

373374
// failure - DeliverFiltered returns error
374-
mockDC := &mock.DeliverClient{}
375+
mockDC := &cmock.PeerDeliverClient{}
375376
mockDC.DeliverFilteredReturns(nil, errors.New("icecream"))
376377
mockDeliverClients = []*deliverClient{
377378
{
@@ -388,10 +389,13 @@ func TestDeliverGroupConnect(t *testing.T) {
388389
TxID: "txid0",
389390
}
390391
err = dg.Connect(context.Background())
392+
g.Expect(err.Error()).To(ContainSubstring("error connecting to deliver filtered"))
391393
g.Expect(err.Error()).To(ContainSubstring("icecream"))
392394

393395
// failure - Send returns error
394-
mockDC.DeliverFilteredReturns(nil, errors.New("blah"))
396+
mockD := &mock.Deliver{}
397+
mockD.SendReturns(errors.New("blah"))
398+
mockDC.DeliverFilteredReturns(mockD, nil)
395399
mockDeliverClients = []*deliverClient{
396400
{
397401
Client: mockDC,
@@ -407,6 +411,7 @@ func TestDeliverGroupConnect(t *testing.T) {
407411
TxID: "txid0",
408412
}
409413
err = dg.Connect(context.Background())
414+
g.Expect(err.Error()).To(ContainSubstring("error sending deliver seek info"))
410415
g.Expect(err.Error()).To(ContainSubstring("blah"))
411416

412417
// failure - deliver registration timeout
@@ -476,6 +481,7 @@ func TestDeliverGroupWait(t *testing.T) {
476481
TxID: "txid0",
477482
}
478483
err = dg.Wait(context.Background())
484+
g.Expect(err.Error()).To(ContainSubstring("error receiving from deliver filtered"))
479485
g.Expect(err.Error()).To(ContainSubstring("avocado"))
480486

481487
// failure - Recv returns unexpected type
@@ -564,7 +570,7 @@ func TestChaincodeInvokeOrQuery_waitForEvent(t *testing.T) {
564570
}
565571
mockDCTwoBlocks := getMockDeliverClientRespondsWithFilteredBlocks(filteredBlocks)
566572
mockDC := getMockDeliverClientResponseWithTxID("txid0")
567-
mockDeliverClients := []api.DeliverClient{mockDCTwoBlocks, mockDC}
573+
mockDeliverClients := []api.PeerDeliverClient{mockDCTwoBlocks, mockDC}
568574

569575
_, err = ChaincodeInvokeOrQuery(
570576
&pb.ChaincodeSpec{},
@@ -582,7 +588,7 @@ func TestChaincodeInvokeOrQuery_waitForEvent(t *testing.T) {
582588
// failure - one of the deliver clients returns error
583589
mockDCErr := getMockDeliverClientWithErr("moist")
584590
mockDC = getMockDeliverClient()
585-
mockDeliverClients = []api.DeliverClient{mockDCErr, mockDC}
591+
mockDeliverClients = []api.PeerDeliverClient{mockDCErr, mockDC}
586592

587593
_, err = ChaincodeInvokeOrQuery(
588594
&pb.ChaincodeSpec{},
@@ -603,7 +609,7 @@ func TestChaincodeInvokeOrQuery_waitForEvent(t *testing.T) {
603609
mockDC = getMockDeliverClientResponseWithTxID("garbage")
604610
delayChan := make(chan struct{})
605611
mockDCDelay := getMockDeliverClientRespondAfterDelay(delayChan)
606-
mockDeliverClients = []api.DeliverClient{mockDC, mockDCDelay}
612+
mockDeliverClients = []api.PeerDeliverClient{mockDC, mockDCDelay}
607613
waitForEventTimeout = 10 * time.Millisecond
608614

609615
_, err = ChaincodeInvokeOrQuery(

peer/chaincode/invoke_test.go

+40-28
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,11 @@ import (
1616
"github.com/hyperledger/fabric/common/flogging"
1717
"github.com/hyperledger/fabric/common/util"
1818
"github.com/hyperledger/fabric/msp"
19-
"github.com/hyperledger/fabric/peer/chaincode/api"
19+
ccapi "github.com/hyperledger/fabric/peer/chaincode/api"
2020
"github.com/hyperledger/fabric/peer/chaincode/mock"
2121
"github.com/hyperledger/fabric/peer/common"
22+
"github.com/hyperledger/fabric/peer/common/api"
23+
cmock "github.com/hyperledger/fabric/peer/common/mock"
2224
cb "github.com/hyperledger/fabric/protos/common"
2325
pb "github.com/hyperledger/fabric/protos/peer"
2426
"github.com/hyperledger/fabric/protos/utils"
@@ -65,12 +67,14 @@ func TestInvokeCmd(t *testing.T) {
6567
getBroadcastClient := common.GetBroadcastClientFnc
6668
getDefaultSigner := common.GetDefaultSignerFnc
6769
getDeliverClient := common.GetDeliverClientFnc
70+
getPeerDeliverClient := common.GetPeerDeliverClientFnc
6871
defer func() {
6972
common.GetEndorserClientFnc = getEndorserClient
7073
common.GetOrdererEndpointOfChainFnc = getOrdererEndpointOfChain
7174
common.GetBroadcastClientFnc = getBroadcastClient
7275
common.GetDefaultSignerFnc = getDefaultSigner
7376
common.GetDeliverClientFnc = getDeliverClient
77+
common.GetPeerDeliverClientFnc = getPeerDeliverClient
7478
}()
7579
common.GetEndorserClientFnc = func(string, string) (pb.EndorserClient, error) {
7680
return mockCF.EndorserClients[0], nil
@@ -95,18 +99,26 @@ func TestInvokeCmd(t *testing.T) {
9599

96100
// Error case 3: getDeliverClient returns error
97101
t.Logf("Start error case 3: getDeliverClient returns error")
98-
common.GetDeliverClientFnc = func(string, string) (api.DeliverClient, error) {
102+
common.GetDeliverClientFnc = func(string, string) (pb.Deliver_DeliverClient, error) {
99103
return nil, errors.New("error")
100104
}
101105
err = cmd.Execute()
102106
assert.Error(t, err)
103107

104-
// Error case 4: getDefaultSignerFnc returns error
105-
t.Logf("Start error case 4: getDefaultSignerFnc returns error")
108+
// Error case 4 : getPeerDeliverClient returns error
109+
t.Logf("Start error case 4: getPeerDeliverClient returns error")
110+
common.GetPeerDeliverClientFnc = func(string, string) (api.PeerDeliverClient, error) {
111+
return nil, errors.New("error")
112+
}
113+
err = cmd.Execute()
114+
assert.Error(t, err)
115+
116+
// Error case 5: getDefaultSignerFnc returns error
117+
t.Logf("Start error case 5: getDefaultSignerFnc returns error")
106118
common.GetEndorserClientFnc = func(string, string) (pb.EndorserClient, error) {
107119
return mockCF.EndorserClients[0], nil
108120
}
109-
common.GetDeliverClientFnc = func(string, string) (api.DeliverClient, error) {
121+
common.GetPeerDeliverClientFnc = func(string, string) (api.PeerDeliverClient, error) {
110122
return mockCF.DeliverClients[0], nil
111123
}
112124
common.GetDefaultSignerFnc = func() (msp.SigningIdentity, error) {
@@ -116,8 +128,8 @@ func TestInvokeCmd(t *testing.T) {
116128
assert.Error(t, err)
117129
common.GetDefaultSignerFnc = common.GetDefaultSigner
118130

119-
// Error case 5: getOrdererEndpointOfChainFnc returns error
120-
t.Logf("Start error case 5: getOrdererEndpointOfChainFnc returns error")
131+
// Error case 6: getOrdererEndpointOfChainFnc returns error
132+
t.Logf("Start error case 6: getOrdererEndpointOfChainFnc returns error")
121133
common.GetEndorserClientFnc = func(string, string) (pb.EndorserClient, error) {
122134
return mockCF.EndorserClients[0], nil
123135
}
@@ -127,8 +139,8 @@ func TestInvokeCmd(t *testing.T) {
127139
err = cmd.Execute()
128140
assert.Error(t, err)
129141

130-
// Error case 6: getBroadcastClient returns error
131-
t.Logf("Start error case 6: getBroadcastClient returns error")
142+
// Error case 7: getBroadcastClient returns error
143+
t.Logf("Start error case 7: getBroadcastClient returns error")
132144
common.GetOrdererEndpointOfChainFnc = func(chainID string, signer msp.SigningIdentity, endorserClient pb.EndorserClient) ([]string, error) {
133145
return []string{"localhost:9999"}, nil
134146
}
@@ -204,7 +216,7 @@ func getMockChaincodeCmdFactory() (*ChaincodeCmdFactory, error) {
204216
mockEndorserClients := []pb.EndorserClient{common.GetMockEndorserClient(mockResponse, nil), common.GetMockEndorserClient(mockResponse, nil)}
205217
mockBroadcastClient := common.GetMockBroadcastClient(nil)
206218
mockDC := getMockDeliverClient()
207-
mockDeliverClients := []api.DeliverClient{mockDC, mockDC}
219+
mockDeliverClients := []api.PeerDeliverClient{mockDC, mockDC}
208220
mockCF := &ChaincodeCmdFactory{
209221
EndorserClients: mockEndorserClients,
210222
Signer: signer,
@@ -225,7 +237,7 @@ func getMockChaincodeCmdFactoryWithErr() (*ChaincodeCmdFactory, error) {
225237
errMsg := "invoke error"
226238
mockEndorserClients := []pb.EndorserClient{common.GetMockEndorserClient(nil, errors.New(errMsg))}
227239
mockBroadcastClient := common.GetMockBroadcastClient(nil)
228-
mockDeliverClients := []api.DeliverClient{getMockDeliverClient()}
240+
mockDeliverClients := []api.PeerDeliverClient{getMockDeliverClient()}
229241
mockCF := &ChaincodeCmdFactory{
230242
EndorserClients: mockEndorserClients,
231243
Signer: signer,
@@ -261,7 +273,7 @@ func getMockChaincodeCmdFactoryEndorsementFailure(ccRespStatus int32, ccRespPayl
261273

262274
mockEndorserClients := []pb.EndorserClient{common.GetMockEndorserClient(mockRespFailure, nil)}
263275
mockBroadcastClient := common.GetMockBroadcastClient(nil)
264-
mockDeliverClients := []api.DeliverClient{getMockDeliverClient()}
276+
mockDeliverClients := []api.PeerDeliverClient{getMockDeliverClient()}
265277
mockCF := &ChaincodeCmdFactory{
266278
EndorserClients: mockEndorserClients,
267279
Signer: signer,
@@ -280,13 +292,13 @@ func createCIS() *pb.ChaincodeInvocationSpec {
280292
}
281293

282294
// creates a mock deliver client with a response that contains txid0
283-
func getMockDeliverClient() *mock.DeliverClient {
295+
func getMockDeliverClient() *cmock.PeerDeliverClient {
284296
return getMockDeliverClientResponseWithTxID("txid0")
285297
}
286298

287-
func getMockDeliverClientResponseWithTxID(txID string) *mock.DeliverClient {
288-
mockDC := &mock.DeliverClient{}
289-
mockDC.DeliverFilteredStub = func(ctx context.Context, opts ...grpc.CallOption) (api.Deliver, error) {
299+
func getMockDeliverClientResponseWithTxID(txID string) *cmock.PeerDeliverClient {
300+
mockDC := &cmock.PeerDeliverClient{}
301+
mockDC.DeliverFilteredStub = func(ctx context.Context, opts ...grpc.CallOption) (ccapi.Deliver, error) {
290302
return getMockDeliverConnectionResponseWithTxID(txID), nil
291303
}
292304
// mockDC.DeliverReturns(nil, fmt.Errorf("not implemented!!"))
@@ -305,9 +317,9 @@ func getMockDeliverConnectionResponseWithTxID(txID string) *mock.Deliver {
305317
return mockDF
306318
}
307319

308-
func getMockDeliverClientRespondsWithFilteredBlocks(fb []*pb.FilteredBlock) *mock.DeliverClient {
309-
mockDC := &mock.DeliverClient{}
310-
mockDC.DeliverFilteredStub = func(ctx context.Context, opts ...grpc.CallOption) (api.Deliver, error) {
320+
func getMockDeliverClientRespondsWithFilteredBlocks(fb []*pb.FilteredBlock) *cmock.PeerDeliverClient {
321+
mockDC := &cmock.PeerDeliverClient{}
322+
mockDC.DeliverFilteredStub = func(ctx context.Context, opts ...grpc.CallOption) (ccapi.Deliver, error) {
311323
mockDF := &mock.Deliver{}
312324
for i, f := range fb {
313325
resp := &pb.DeliverResponse{
@@ -322,9 +334,9 @@ func getMockDeliverClientRespondsWithFilteredBlocks(fb []*pb.FilteredBlock) *moc
322334
return mockDC
323335
}
324336

325-
func getMockDeliverClientRegisterAfterDelay(delayChan chan struct{}) *mock.DeliverClient {
326-
mockDC := &mock.DeliverClient{}
327-
mockDC.DeliverFilteredStub = func(ctx context.Context, opts ...grpc.CallOption) (api.Deliver, error) {
337+
func getMockDeliverClientRegisterAfterDelay(delayChan chan struct{}) *cmock.PeerDeliverClient {
338+
mockDC := &cmock.PeerDeliverClient{}
339+
mockDC.DeliverFilteredStub = func(ctx context.Context, opts ...grpc.CallOption) (ccapi.Deliver, error) {
328340
mockDF := &mock.Deliver{}
329341
mockDF.SendStub = func(*cb.Envelope) error {
330342
<-delayChan
@@ -335,9 +347,9 @@ func getMockDeliverClientRegisterAfterDelay(delayChan chan struct{}) *mock.Deliv
335347
return mockDC
336348
}
337349

338-
func getMockDeliverClientRespondAfterDelay(delayChan chan struct{}) *mock.DeliverClient {
339-
mockDC := &mock.DeliverClient{}
340-
mockDC.DeliverFilteredStub = func(ctx context.Context, opts ...grpc.CallOption) (api.Deliver, error) {
350+
func getMockDeliverClientRespondAfterDelay(delayChan chan struct{}) *cmock.PeerDeliverClient {
351+
mockDC := &cmock.PeerDeliverClient{}
352+
mockDC.DeliverFilteredStub = func(ctx context.Context, opts ...grpc.CallOption) (ccapi.Deliver, error) {
341353
mockDF := &mock.Deliver{}
342354
mockDF.RecvStub = func() (*pb.DeliverResponse, error) {
343355
<-delayChan
@@ -353,9 +365,9 @@ func getMockDeliverClientRespondAfterDelay(delayChan chan struct{}) *mock.Delive
353365
return mockDC
354366
}
355367

356-
func getMockDeliverClientWithErr(errMsg string) *mock.DeliverClient {
357-
mockDC := &mock.DeliverClient{}
358-
mockDC.DeliverFilteredStub = func(ctx context.Context, opts ...grpc.CallOption) (api.Deliver, error) {
368+
func getMockDeliverClientWithErr(errMsg string) *cmock.PeerDeliverClient {
369+
mockDC := &cmock.PeerDeliverClient{}
370+
mockDC.DeliverFilteredStub = func(ctx context.Context, opts ...grpc.CallOption) (ccapi.Deliver, error) {
359371
return nil, fmt.Errorf(errMsg)
360372
}
361373
return mockDC

0 commit comments

Comments
 (0)