github.com/anjalikarhana/fabric@v2.1.1+incompatible/internal/peer/common/mockclient.go (about)

     1  /*
     2  Copyright IBM Corp. 2016 All Rights Reserved.
     3  
     4  SPDX-License-Identifier: Apache-2.0
     5  */
     6  
     7  package common
     8  
     9  import (
    10  	"context"
    11  
    12  	cb "github.com/hyperledger/fabric-protos-go/common"
    13  	pb "github.com/hyperledger/fabric-protos-go/peer"
    14  	grpc "google.golang.org/grpc"
    15  )
    16  
    17  // GetMockEndorserClient return a endorser client return specified ProposalResponse and err(nil or error)
    18  func GetMockEndorserClient(response *pb.ProposalResponse, err error) pb.EndorserClient {
    19  	return &mockEndorserClient{
    20  		response: response,
    21  		err:      err,
    22  	}
    23  }
    24  
    25  type mockEndorserClient struct {
    26  	response *pb.ProposalResponse
    27  	err      error
    28  }
    29  
    30  func (m *mockEndorserClient) ProcessProposal(ctx context.Context, in *pb.SignedProposal, opts ...grpc.CallOption) (*pb.ProposalResponse, error) {
    31  	return m.response, m.err
    32  }
    33  
    34  func GetMockBroadcastClient(err error) BroadcastClient {
    35  	return &mockBroadcastClient{err: err}
    36  }
    37  
    38  // mockBroadcastClient return success immediately
    39  type mockBroadcastClient struct {
    40  	err error
    41  }
    42  
    43  func (m *mockBroadcastClient) Send(env *cb.Envelope) error {
    44  	return m.err
    45  }
    46  
    47  func (m *mockBroadcastClient) Close() error {
    48  	return nil
    49  }