package sms import ( "context" "google.golang.org/grpc" ) type SMSSendHandlerFunc func(ctx context.Context, in *SendSMSRequest, opts ...grpc.CallOption) (*SMSDetailsResponse, error) func NewSMSMock(handler SMSSendHandlerFunc) SMSMock { return SMSMock{ SMSSendHandler: handler, } } func NewSMSMockSuccess() SMSMock { return SMSMock{ SMSSendHandler: func(ctx context.Context, in *SendSMSRequest, opts ...grpc.CallOption) (*SMSDetailsResponse, error) { return nil, nil }, } } type SMSMock struct { SMSSendHandler SMSSendHandlerFunc UnimplementedSMSServiceServer queueResponse *SMSQueueResponse queueResponseError error } func (m *SMSMock) HandleSMSSend(ctx context.Context, in *SendSMSRequest, opts ...grpc.CallOption) (*SMSDetailsResponse, error) { return m.SMSSendHandler(ctx, in, opts...) } // HandleSMSQueue implements sms.SMSServiceClient. func (m *SMSMock) HandleSMSQueue(ctx context.Context, in *SendSMSRequest, opts ...grpc.CallOption) (*SMSQueueResponse, error) { return m.queueResponse, m.queueResponseError } func (m *SMSMock) SetHandleSMSQueueResponse(response *SMSQueueResponse, err error) { m.queueResponse = response m.queueResponseError = err } func (m *SMSMock) HandleGetProducts(ctx context.Context, in *GetAvailableProductsRequest, opts ...grpc.CallOption) (*GetAvailableProductsResponse, error) { return nil, nil } func (m *SMSMock) HandleChangeRatePlan(ctx context.Context, in *ChangeRatePlanRequest, opts ...grpc.CallOption) (*ChangeRatePlanResponse, error) { return nil, nil } func (m *SMSMock) HandleCustomAttributes(ctx context.Context, in *CustomAtributesRequest, opts ...grpc.CallOption) (*CustomAtributeResponse, error) { return nil, nil } func (m *SMSMock) HandleDeviceDetails(ctx context.Context, in *DeviceDetailsRequest, opts ...grpc.CallOption) (*DeviceDetailsResponse, error) { return nil, nil }