github.com/Axway/agent-sdk@v1.1.101/pkg/watchmanager/mockstream.go (about)

     1  package watchmanager
     2  
     3  import (
     4  	"context"
     5  
     6  	"google.golang.org/grpc/metadata"
     7  
     8  	"github.com/Axway/agent-sdk/pkg/watchmanager/proto"
     9  	"google.golang.org/grpc"
    10  )
    11  
    12  type mockWatchClient struct {
    13  	stream *mockStream
    14  	err    error
    15  }
    16  
    17  func (m mockWatchClient) Subscribe(_ context.Context, _ ...grpc.CallOption) (proto.Watch_SubscribeClient, error) {
    18  	return m.stream, m.err
    19  }
    20  
    21  type mockConn struct {
    22  	stream *mockStream
    23  }
    24  
    25  func (m mockConn) Invoke(_ context.Context, _ string, _ interface{}, _ interface{}, _ ...grpc.CallOption) error {
    26  	return nil
    27  }
    28  
    29  func (m mockConn) NewStream(
    30  	_ context.Context,
    31  	_ *grpc.StreamDesc,
    32  	_ string,
    33  	_ ...grpc.CallOption,
    34  ) (grpc.ClientStream, error) {
    35  	return m.stream, nil
    36  }
    37  
    38  type mockStream struct {
    39  	event   *proto.Event
    40  	err     error
    41  	context context.Context
    42  }
    43  
    44  func (m mockStream) Send(_ *proto.Request) error {
    45  	return m.err
    46  }
    47  
    48  func (m mockStream) Recv() (*proto.Event, error) {
    49  	return m.event, m.err
    50  }
    51  
    52  func (m mockStream) Header() (metadata.MD, error) {
    53  	return metadata.MD{}, nil
    54  }
    55  
    56  func (m mockStream) Trailer() metadata.MD {
    57  	return metadata.MD{}
    58  }
    59  
    60  func (m mockStream) CloseSend() error {
    61  	return nil
    62  }
    63  
    64  func (m mockStream) Context() context.Context {
    65  	return m.context
    66  }
    67  
    68  func (m mockStream) SendMsg(_ interface{}) error {
    69  	return nil
    70  }
    71  
    72  func (m mockStream) RecvMsg(_ interface{}) error {
    73  	return nil
    74  }
    75  
    76  func newMockWatchClient(stream *mockStream, err error) newWatchClientFunc {
    77  	return func(_ grpc.ClientConnInterface) proto.WatchClient {
    78  		return &mockWatchClient{
    79  			stream: stream,
    80  			err:    err,
    81  		}
    82  	}
    83  }