depositserver.go 543 B

12345678910111213141516171819202122
  1. package mock
  2. import (
  3. "context"
  4. "time"
  5. "google.golang.org/grpc/codes"
  6. "google.golang.org/grpc/status"
  7. )
  8. // DepositServer is used for mocking.
  9. type DepositServer struct{}
  10. // Deposit handles the deposit requests.
  11. func (*DepositServer) Deposit(ctx context.Context, req *DepositRequest) (*DepositResponse, error) {
  12. if req.GetAmount() < 0 {
  13. return nil, status.Errorf(codes.InvalidArgument, "cannot deposit %v", req.GetAmount())
  14. }
  15. time.Sleep(time.Duration(req.GetAmount()) * time.Millisecond)
  16. return &DepositResponse{Ok: true}, nil
  17. }