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  }