github.com/lingyao2333/mo-zero@v1.4.1/zrpc/internal/mock/depositserver.go (about) 1 package mock 2 3 import ( 4 "context" 5 "time" 6 7 "google.golang.org/grpc/codes" 8 "google.golang.org/grpc/status" 9 ) 10 11 // DepositServer is used for mocking. 12 type DepositServer struct{} 13 14 // Deposit handles the deposit requests. 15 func (*DepositServer) Deposit(ctx context.Context, req *DepositRequest) (*DepositResponse, error) { 16 if req.GetAmount() < 0 { 17 return nil, status.Errorf(codes.InvalidArgument, "cannot deposit %v", req.GetAmount()) 18 } 19 20 time.Sleep(time.Duration(req.GetAmount()) * time.Millisecond) 21 return &DepositResponse{Ok: true}, nil 22 }