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 }