go-zero/zrpc/internal/mock/depositserver.go
masonchen2014 cb8d9d413a
simplify timeoutinterceptor (#840)
Co-authored-by: chenmusheng <chenmusheng@laoyuegou.com>
2021-07-24 21:51:46 +08:00

23 lines
543 B
Go

package mock
import (
"context"
"time"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)
// DepositServer is used for mocking.
type DepositServer struct{}
// Deposit handles the deposit requests.
func (*DepositServer) Deposit(ctx context.Context, req *DepositRequest) (*DepositResponse, error) {
if req.GetAmount() < 0 {
return nil, status.Errorf(codes.InvalidArgument, "cannot deposit %v", req.GetAmount())
}
time.Sleep(time.Duration(req.GetAmount()) * time.Millisecond)
return &DepositResponse{Ok: true}, nil
}