From ac820feb86f7b46d5239dfe0e85033cbb3fe5c67 Mon Sep 17 00:00:00 2001 From: Luke Rogerson Date: Thu, 7 Dec 2023 17:11:39 +0000 Subject: [PATCH] Error usage refactoring (#53) --- data/redisrepo/cancel_orders_for_user.go | 2 +- data/redisrepo/cancel_orders_for_user_test.go | 6 +++--- data/redisrepo/find_order_by_id.go | 4 ++-- data/redisrepo/find_order_by_id_test.go | 4 ++-- data/redisrepo/get_best_price_for.go | 2 +- data/redisrepo/get_best_price_for_test.go | 4 ++-- data/redisrepo/get_user_by_api_key.go | 2 +- data/redisrepo/get_user_by_api_key_test.go | 2 +- data/redisrepo/get_user_by_id.go | 2 +- data/redisrepo/get_user_by_id_test.go | 2 +- data/redisrepo/remove_order.go | 3 ++- data/redisrepo/remove_order_test.go | 2 +- models/errors.go | 7 ++----- service/auction.go | 4 ++-- service/cancel_order.go | 2 +- service/cancel_order_test.go | 2 +- service/cancel_orders_for_user.go | 2 +- service/cancel_orders_for_user_test.go | 4 ++-- service/get_best_price_for.go | 2 +- service/get_order_by_client_oid.go | 2 +- service/get_order_by_client_oid_test.go | 2 +- service/get_order_by_id.go | 2 +- service/process_order.go | 2 +- serviceuser/get_user_by_api_key.go | 2 +- serviceuser/get_user_by_id_test.go | 6 +++--- transport/middleware/validate_user.go | 2 +- transport/middleware/validate_user_test.go | 2 +- transport/rest/cancel_order.go | 2 +- transport/rest/cancel_order_test.go | 4 ++-- transport/rest/cancel_orders_for_user.go | 2 +- transport/rest/cancel_orders_for_user_test.go | 2 +- 31 files changed, 43 insertions(+), 45 deletions(-) diff --git a/data/redisrepo/cancel_orders_for_user.go b/data/redisrepo/cancel_orders_for_user.go index cfa413e..0eaf475 100644 --- a/data/redisrepo/cancel_orders_for_user.go +++ b/data/redisrepo/cancel_orders_for_user.go @@ -22,7 +22,7 @@ func (r *redisRepository) CancelOrdersForUser(ctx context.Context, userId uuid.U if len(orderIdStrs) == 0 { logctx.Warn(ctx, "no orders found for user", logger.String("userId", userId.String())) - return nil, models.ErrNoOrdersFound + return nil, models.ErrNotFound } // Convert string IDs to UUIDs diff --git a/data/redisrepo/cancel_orders_for_user_test.go b/data/redisrepo/cancel_orders_for_user_test.go index 1b32a7b..a32aead 100644 --- a/data/redisrepo/cancel_orders_for_user_test.go +++ b/data/redisrepo/cancel_orders_for_user_test.go @@ -79,7 +79,7 @@ func TestRedisRepository_CancelAllOrdersForUser(t *testing.T) { assert.ErrorContains(t, err, "failed to get order IDs for user") }) - t.Run("should return `ErrNoOrdersFound` error if no orders are found for the user", func(t *testing.T) { + t.Run("should return `ErrNotFound` error if no orders are found for the user", func(t *testing.T) { db, mock := redismock.NewClientMock() repo := &redisRepository{ @@ -90,7 +90,7 @@ func TestRedisRepository_CancelAllOrdersForUser(t *testing.T) { orderIds, err := repo.CancelOrdersForUser(ctx, mocks.UserId) assert.Empty(t, orderIds) - assert.ErrorIs(t, err, models.ErrNoOrdersFound) + assert.ErrorIs(t, err, models.ErrNotFound) }) t.Run("should exit with error if failed to parse order ID", func(t *testing.T) { @@ -113,7 +113,7 @@ func TestRedisRepository_CancelAllOrdersForUser(t *testing.T) { } mock.ExpectZRange(CreateUserOrdersKey(mocks.UserId), 0, -1).SetVal([]string{mocks.OrderId.String(), orderTwo.Id.String()}) - mock.ExpectHGetAll(CreateOrderIDKey(orderTwo.Id)).SetErr(models.ErrOrderNotFound) // order not found - break out of loop iteration + mock.ExpectHGetAll(CreateOrderIDKey(orderTwo.Id)).SetErr(models.ErrNotFound) // order not found - break out of loop iteration orderIds, err := repo.CancelOrdersForUser(ctx, mocks.UserId) assert.Empty(t, orderIds) diff --git a/data/redisrepo/find_order_by_id.go b/data/redisrepo/find_order_by_id.go index 35f30aa..882393b 100644 --- a/data/redisrepo/find_order_by_id.go +++ b/data/redisrepo/find_order_by_id.go @@ -21,7 +21,7 @@ func (r *redisRepository) FindOrderById(ctx context.Context, id uuid.UUID, isCli orderIdStr, err := r.client.Get(ctx, CreateClientOIDKey(id)).Result() if err != nil { if err == redis.Nil { - return nil, models.ErrOrderNotFound + return nil, models.ErrNotFound } logctx.Error(ctx, "could not get order ID by clientOId", logger.Error(err)) return nil, err @@ -44,7 +44,7 @@ func (r *redisRepository) FindOrderById(ctx context.Context, id uuid.UUID, isCli } if len(orderMap) == 0 { - return nil, models.ErrOrderNotFound + return nil, models.ErrNotFound } order := &models.Order{} diff --git a/data/redisrepo/find_order_by_id_test.go b/data/redisrepo/find_order_by_id_test.go index fb9e273..bf6e8e1 100644 --- a/data/redisrepo/find_order_by_id_test.go +++ b/data/redisrepo/find_order_by_id_test.go @@ -65,7 +65,7 @@ func TestRedisRepository_FindOrderById(t *testing.T) { mock.ExpectHGetAll(CreateOrderIDKey(orderID)).SetVal(map[string]string{}) foundOrder, err := repo.FindOrderById(ctx, nonExistentOrderID, false) - assert.Error(t, err, models.ErrOrderNotFound.Error()) + assert.Error(t, err, models.ErrNotFound.Error()) assert.Nil(t, foundOrder) }) @@ -74,7 +74,7 @@ func TestRedisRepository_FindOrderById(t *testing.T) { mock.ExpectGet(CreateClientOIDKey(nonExistentClientOId)).RedisNil() foundOrder, err := repo.FindOrderById(ctx, nonExistentClientOId, true) - assert.Error(t, err, models.ErrOrderNotFound.Error()) + assert.Error(t, err, models.ErrNotFound.Error()) assert.Nil(t, foundOrder) }) diff --git a/data/redisrepo/get_best_price_for.go b/data/redisrepo/get_best_price_for.go index c61b900..0d6ab8b 100644 --- a/data/redisrepo/get_best_price_for.go +++ b/data/redisrepo/get_best_price_for.go @@ -38,7 +38,7 @@ func (r *redisRepository) GetBestPriceFor(ctx context.Context, symbol models.Sym } if len(orderIDs) == 0 { - return models.Order{}, models.ErrOrderNotFound + return models.Order{}, models.ErrNotFound } orderIDStr := orderIDs[0] diff --git a/data/redisrepo/get_best_price_for_test.go b/data/redisrepo/get_best_price_for_test.go index b3ffc05..388a587 100644 --- a/data/redisrepo/get_best_price_for_test.go +++ b/data/redisrepo/get_best_price_for_test.go @@ -63,7 +63,7 @@ func TestRedisRepository_GetBestPriceFor(t *testing.T) { mock.ExpectZRevRange(buyPricesKey, 0, 0).SetVal([]string{}) order, err := repo.GetBestPriceFor(ctx, symbol, models.BUY) - assert.Error(t, err, models.ErrOrderNotFound, "error should be ErrOrderNotFound") + assert.Error(t, err, models.ErrNotFound, "error should be ErrNotFound") assert.Equal(t, models.Order{}, order, "should be zero") }) @@ -84,7 +84,7 @@ func TestRedisRepository_GetBestPriceFor(t *testing.T) { mock.ExpectZRange(sellPricesKey, 0, 0).SetVal([]string{}) order, err := repo.GetBestPriceFor(ctx, symbol, models.SELL) - assert.Error(t, err, models.ErrOrderNotFound, "error should be ErrOrderNotFound") + assert.Error(t, err, models.ErrNotFound, "error should be ErrNotFound") assert.Equal(t, models.Order{}, order, "should be zero") }) diff --git a/data/redisrepo/get_user_by_api_key.go b/data/redisrepo/get_user_by_api_key.go index 6671958..9d51282 100644 --- a/data/redisrepo/get_user_by_api_key.go +++ b/data/redisrepo/get_user_by_api_key.go @@ -23,7 +23,7 @@ func (r *redisRepository) GetUserByApiKey(ctx context.Context, apiKey string) (* if len(fields) == 0 { logctx.Warn(ctx, "user not found by api key") - return nil, models.ErrUserNotFound + return nil, models.ErrNotFound } userId, err := uuid.Parse(fields["id"]) diff --git a/data/redisrepo/get_user_by_api_key_test.go b/data/redisrepo/get_user_by_api_key_test.go index 108bb28..799dd1e 100644 --- a/data/redisrepo/get_user_by_api_key_test.go +++ b/data/redisrepo/get_user_by_api_key_test.go @@ -54,7 +54,7 @@ func TestRedisRepository_GetUserByPublicKey(t *testing.T) { user, err := repo.GetUserByApiKey(ctx, mockApiKey) assert.Nil(t, user) - assert.ErrorIs(t, err, models.ErrUserNotFound) + assert.ErrorIs(t, err, models.ErrNotFound) }) t.Run("should return error on unexpected error getting user by api key", func(t *testing.T) { diff --git a/data/redisrepo/get_user_by_id.go b/data/redisrepo/get_user_by_id.go index 1612d59..9180e2b 100644 --- a/data/redisrepo/get_user_by_id.go +++ b/data/redisrepo/get_user_by_id.go @@ -22,7 +22,7 @@ func (r *redisRepository) GetUserById(ctx context.Context, userId uuid.UUID) (*m if len(fields) == 0 { logctx.Error(ctx, "user not found by ID", logger.String("userId", userId.String())) - return nil, models.ErrUserNotFound + return nil, models.ErrNotFound } userType, err := models.StrToUserType(fields["type"]) diff --git a/data/redisrepo/get_user_by_id_test.go b/data/redisrepo/get_user_by_id_test.go index c284733..f6877f2 100644 --- a/data/redisrepo/get_user_by_id_test.go +++ b/data/redisrepo/get_user_by_id_test.go @@ -52,7 +52,7 @@ func TestRedisRepository_GetUserById(t *testing.T) { _, err := repo.GetUserById(ctx, mocks.UserId) assert.Error(t, err) - assert.Equal(t, err, models.ErrUserNotFound) + assert.Equal(t, err, models.ErrNotFound) }) t.Run("should return error on unexpected error getting user by ID", func(t *testing.T) { diff --git a/data/redisrepo/remove_order.go b/data/redisrepo/remove_order.go index 5b318bf..0124204 100644 --- a/data/redisrepo/remove_order.go +++ b/data/redisrepo/remove_order.go @@ -2,6 +2,7 @@ package redisrepo import ( "context" + "fmt" "github.com/orbs-network/order-book/models" "github.com/orbs-network/order-book/utils/logger" @@ -43,7 +44,7 @@ func (r *redisRepository) RemoveOrder(ctx context.Context, order models.Order) e if err != nil { logctx.Error(ctx, "failed to remove order from Redis", logger.Error(err), logger.String("orderId", order.Id.String())) - return models.ErrTransactionFailed + return fmt.Errorf("failed to remove order from Redis: %w", err) } // --- END TRANSACTION --- diff --git a/data/redisrepo/remove_order_test.go b/data/redisrepo/remove_order_test.go index 18f4711..9d6f60d 100644 --- a/data/redisrepo/remove_order_test.go +++ b/data/redisrepo/remove_order_test.go @@ -53,7 +53,7 @@ func TestRedisRepository_RemoveOrder(t *testing.T) { err := repo.RemoveOrder(ctx, order) - assert.ErrorIs(t, err, models.ErrTransactionFailed) + assert.ErrorContains(t, err, "failed to remove order") assert.NoError(t, mock.ExpectationsWereMet()) }) diff --git a/models/errors.go b/models/errors.go index 12c526a..2305050 100644 --- a/models/errors.go +++ b/models/errors.go @@ -2,21 +2,18 @@ package models import "errors" +var ErrNotFound = errors.New("entity not found") var ErrOrderAlreadyExists = errors.New("order already exists") -var ErrOrderNotFound = errors.New("order not found") -var ErrNoOrdersFound = errors.New("no orders found") var ErrUnexpectedError = errors.New("unexpected error") var ErrMarshalError = errors.New("marshal error") var ErrUserAlreadyExists = errors.New("user already exists") -var ErrUserNotFound = errors.New("user not found") var ErrNoUserInContext = errors.New("no user in context") var ErrUnauthorized = errors.New("user not allowed to perform this action") var ErrOrderNotOpen = errors.New("order must be status open to perform this action") -var ErrTransactionFailed = errors.New("transaction failed") var ErrInsufficientLiquity = errors.New("not enough liquidity in book to satisfy amountIn") var ErrAuctionInvalid = errors.New("orders in the auction can not fill any longer") var ErrOrderPending = errors.New("order is pending") var ErrInvalidInput = errors.New("invalid input") // store generic errors -var ErrValAlreadyInSet = errors.New("the value is already a memeber of the set") +var ErrValAlreadyInSet = errors.New("the value is already a member of the set") diff --git a/service/auction.go b/service/auction.go index f535b91..f7aaf80 100644 --- a/service/auction.go +++ b/service/auction.go @@ -79,7 +79,7 @@ func (s *Service) ConfirmAuction(ctx context.Context, auctionId uuid.UUID) (Conf logctx.Warn(ctx, "Remove Auction", logger.Error(err)) } - return ConfirmAuctionRes{}, models.ErrOrderNotFound + return ConfirmAuctionRes{}, models.ErrNotFound } else if !validateOrderFrag(frag, order) { // cancel auction _ = s.orderBookStore.RemoveAuction(ctx, auctionId) @@ -190,7 +190,7 @@ func (s *Service) AuctionMined(ctx context.Context, auctionId uuid.UUID) error { logctx.Error(ctx, err.Error()) } // return empty - return models.ErrOrderNotFound + return models.ErrNotFound } else if !validatePendingFrag(frag, order) { // cancel auction err = s.orderBookStore.RemoveAuction(ctx, auctionId) // PANIC - shouldn't happen diff --git a/service/cancel_order.go b/service/cancel_order.go index 099fb93..f3fd7ef 100644 --- a/service/cancel_order.go +++ b/service/cancel_order.go @@ -40,7 +40,7 @@ func (s *Service) CancelOrder(ctx context.Context, input CancelOrderInput) (canc if order == nil { logctx.Warn(ctx, "order not found", logger.String("id", input.Id.String()), logger.Bool("isClientOId", input.IsClientOId)) - return nil, models.ErrOrderNotFound + return nil, models.ErrNotFound } if order.SizePending.GreaterThan(decimal.Zero) { diff --git a/service/cancel_order_test.go b/service/cancel_order_test.go index a6e55ba..9cccfe3 100644 --- a/service/cancel_order_test.go +++ b/service/cancel_order_test.go @@ -32,7 +32,7 @@ func TestService_CancelOrder(t *testing.T) { }{ {name: "unexpected error when finding order by orderId - returns error", isClientOId: false, err: assert.AnError, expectedOrderId: nil, expectedErr: assert.AnError}, {name: "unexpected error when finding order by clientOId - returns error", isClientOId: true, err: assert.AnError, expectedOrderId: nil, expectedErr: assert.AnError}, - {name: "order not found - returns `ErrOrderNotFound` error", isClientOId: false, order: nil, err: nil, expectedOrderId: nil, expectedErr: models.ErrOrderNotFound}, + {name: "order not found - returns `ErrNotFound` error", isClientOId: false, order: nil, err: nil, expectedOrderId: nil, expectedErr: models.ErrNotFound}, {name: "user trying to cancel another user's order - returns `ErrUnauthorized` error", isClientOId: false, order: &models.Order{UserId: uuid.MustParse("00000000-0000-0000-0000-000000000009"), Status: models.STATUS_OPEN}, expectedOrderId: nil, expectedErr: models.ErrUnauthorized}, {name: "cancelling order not possible when order is pending", isClientOId: false, order: &models.Order{UserId: userId, SizePending: decimal.NewFromFloat(254), SizeFilled: decimal.NewFromFloat(32323.32)}, expectedOrderId: nil, expectedErr: models.ErrOrderPending}, {name: "unexpected error when removing order - returns error", isClientOId: false, order: order, err: assert.AnError, expectedOrderId: nil, expectedErr: assert.AnError}, diff --git a/service/cancel_orders_for_user.go b/service/cancel_orders_for_user.go index 19acb78..cf8a2da 100644 --- a/service/cancel_orders_for_user.go +++ b/service/cancel_orders_for_user.go @@ -14,7 +14,7 @@ func (s *Service) CancelOrdersForUser(ctx context.Context, userId uuid.UUID) (or orderIds, err = s.orderBookStore.CancelOrdersForUser(ctx, userId) - if err == models.ErrNoOrdersFound { + if err == models.ErrNotFound { logctx.Info(ctx, "no orders found for user", logger.String("userId", userId.String())) return []uuid.UUID{}, err } diff --git a/service/cancel_orders_for_user_test.go b/service/cancel_orders_for_user_test.go index f78634a..f19a8fc 100644 --- a/service/cancel_orders_for_user_test.go +++ b/service/cancel_orders_for_user_test.go @@ -25,13 +25,13 @@ func TestService_CancelOrdersForUser(t *testing.T) { }) t.Run("should return error if no orders found for user", func(t *testing.T) { - store := &mocks.MockOrderBookStore{User: &mocks.User, Orders: []models.Order{}, Error: models.ErrNoOrdersFound} + store := &mocks.MockOrderBookStore{User: &mocks.User, Orders: []models.Order{}, Error: models.ErrNotFound} s, _ := service.New(store, mockBcClient) orderIds, err := s.CancelOrdersForUser(ctx, mocks.UserId) assert.Empty(t, orderIds) - assert.ErrorIs(t, err, models.ErrNoOrdersFound) + assert.ErrorIs(t, err, models.ErrNotFound) }) t.Run("should return error on unexpected error", func(t *testing.T) { diff --git a/service/get_best_price_for.go b/service/get_best_price_for.go index 5110ea5..d6c5071 100644 --- a/service/get_best_price_for.go +++ b/service/get_best_price_for.go @@ -12,7 +12,7 @@ import ( func (s *Service) GetBestPriceFor(ctx context.Context, symbol models.Symbol, side models.Side) (decimal.Decimal, error) { order, err := s.orderBookStore.GetBestPriceFor(ctx, symbol, side) - if err == models.ErrOrderNotFound { + if err == models.ErrNotFound { logctx.Info(ctx, fmt.Sprintf("No orders found for %s %q", side, symbol)) return decimal.Zero, nil } diff --git a/service/get_order_by_client_oid.go b/service/get_order_by_client_oid.go index 0009064..03e1e84 100644 --- a/service/get_order_by_client_oid.go +++ b/service/get_order_by_client_oid.go @@ -12,7 +12,7 @@ import ( func (s *Service) GetOrderByClientOId(ctx context.Context, clientOId uuid.UUID) (*models.Order, error) { order, err := s.orderBookStore.FindOrderById(ctx, clientOId, true) - if err == models.ErrOrderNotFound { + if err == models.ErrNotFound { logctx.Info(ctx, "order not found", logger.String("clientOId", clientOId.String())) return nil, nil } diff --git a/service/get_order_by_client_oid_test.go b/service/get_order_by_client_oid_test.go index 3697bfd..a55d6c0 100644 --- a/service/get_order_by_client_oid_test.go +++ b/service/get_order_by_client_oid_test.go @@ -30,7 +30,7 @@ func TestService_GetOrderByClientOId(t *testing.T) { }) t.Run("order not found - should return nil", func(t *testing.T) { - svc, _ := service.New(&mocks.MockOrderBookStore{Error: models.ErrOrderNotFound}, mockBcClient) + svc, _ := service.New(&mocks.MockOrderBookStore{Error: models.ErrNotFound}, mockBcClient) order, err := svc.GetOrderByClientOId(ctx, clientOId) diff --git a/service/get_order_by_id.go b/service/get_order_by_id.go index 419f36c..ce10fe3 100644 --- a/service/get_order_by_id.go +++ b/service/get_order_by_id.go @@ -12,7 +12,7 @@ import ( func (s *Service) GetOrderById(ctx context.Context, orderId uuid.UUID) (*models.Order, error) { order, err := s.orderBookStore.FindOrderById(ctx, orderId, false) - if err == models.ErrOrderNotFound { + if err == models.ErrNotFound { logctx.Info(ctx, "order not found", logger.String("orderId", orderId.String())) return nil, nil } diff --git a/service/process_order.go b/service/process_order.go index 6414021..858dfc3 100644 --- a/service/process_order.go +++ b/service/process_order.go @@ -29,7 +29,7 @@ func (s *Service) ProcessOrder(ctx context.Context, input ProcessOrderInput) (mo existingOrder, err := s.orderBookStore.FindOrderById(ctx, input.ClientOrderID, true) - if err != nil && err != models.ErrOrderNotFound { + if err != nil && err != models.ErrNotFound { logctx.Error(ctx, "unexpected error when finding order by clientOrderId", logger.Error(err)) return models.Order{}, models.ErrUnexpectedError } diff --git a/serviceuser/get_user_by_api_key.go b/serviceuser/get_user_by_api_key.go index a2b9f96..95a5756 100644 --- a/serviceuser/get_user_by_api_key.go +++ b/serviceuser/get_user_by_api_key.go @@ -13,7 +13,7 @@ func (s *Service) GetUserByApiKey(ctx context.Context, apiKey string) (*models.U user, err := s.userStore.GetUserByApiKey(ctx, apiKey) - if err == models.ErrUserNotFound { + if err == models.ErrNotFound { logctx.Warn(ctx, "user not found", logger.Error(err)) return nil, err } diff --git a/serviceuser/get_user_by_id_test.go b/serviceuser/get_user_by_id_test.go index 96bb9f9..386f03c 100644 --- a/serviceuser/get_user_by_id_test.go +++ b/serviceuser/get_user_by_id_test.go @@ -21,12 +21,12 @@ func TestServiceUser_GetUserById(t *testing.T) { assert.Equal(t, &mocks.User, user) }) - t.Run("should return `ErrUserNotFound` error if user not found", func(t *testing.T) { - userSvc, _ := New(&mocks.MockUserStore{Error: models.ErrUserNotFound}) + t.Run("should return `ErrNotFound` error if user not found", func(t *testing.T) { + userSvc, _ := New(&mocks.MockUserStore{Error: models.ErrNotFound}) user, err := userSvc.GetUserById(ctx, mocks.UserId) - assert.ErrorIs(t, err, models.ErrUserNotFound) + assert.ErrorIs(t, err, models.ErrNotFound) assert.Nil(t, user) }) diff --git a/transport/middleware/validate_user.go b/transport/middleware/validate_user.go index f430f24..a97b6e6 100644 --- a/transport/middleware/validate_user.go +++ b/transport/middleware/validate_user.go @@ -29,7 +29,7 @@ func ValidateUserMiddleware(getUserByApiKey GetUserByApiKeyFunc) func(http.Handl user, err := getUserByApiKey(r.Context(), key) if err != nil { - if err == models.ErrUserNotFound { + if err == models.ErrNotFound { logctx.Warn(r.Context(), "user not found by api key") http.Error(w, "Unauthorized", http.StatusUnauthorized) } else { diff --git a/transport/middleware/validate_user_test.go b/transport/middleware/validate_user_test.go index 2d4ffb7..9df91a1 100644 --- a/transport/middleware/validate_user_test.go +++ b/transport/middleware/validate_user_test.go @@ -38,7 +38,7 @@ func TestValidateUserMiddleware(t *testing.T) { { name: "should return error if user not found", apiKey: validApiKey, - getUserFunc: func(ctx context.Context, apiKey string) (*models.User, error) { return nil, models.ErrUserNotFound }, + getUserFunc: func(ctx context.Context, apiKey string) (*models.User, error) { return nil, models.ErrNotFound }, expectedStatus: http.StatusUnauthorized, expectedBody: "Unauthorized\n", }, diff --git a/transport/rest/cancel_order.go b/transport/rest/cancel_order.go index 147d942..e30436c 100644 --- a/transport/rest/cancel_order.go +++ b/transport/rest/cancel_order.go @@ -93,7 +93,7 @@ func (h *Handler) handleCancelOrder(input hInput) { UserId: input.userId, }) - if err == models.ErrOrderNotFound { + if err == models.ErrNotFound { logctx.Warn(input.ctx, "order not found", logger.String("id", input.id.String())) http.Error(input.w, "Order not found", http.StatusNotFound) return diff --git a/transport/rest/cancel_order_test.go b/transport/rest/cancel_order_test.go index 007f4ac..ef6faae 100644 --- a/transport/rest/cancel_order_test.go +++ b/transport/rest/cancel_order_test.go @@ -54,7 +54,7 @@ func TestHandler_CancelOrderByOrderId(t *testing.T) { }, { "order not found", - &mocks.MockOrderBookService{Error: models.ErrOrderNotFound}, + &mocks.MockOrderBookService{Error: models.ErrNotFound}, fmt.Sprintf("/order/%s", orderId.String()), http.StatusNotFound, "Order not found\n", @@ -165,7 +165,7 @@ func TestHandler_CancelOrderByClientOId(t *testing.T) { }, { "order not found", - &mocks.MockOrderBookService{Error: models.ErrOrderNotFound}, + &mocks.MockOrderBookService{Error: models.ErrNotFound}, fmt.Sprintf("/order/client-order/%s", clientOId.String()), http.StatusNotFound, "Order not found\n", diff --git a/transport/rest/cancel_orders_for_user.go b/transport/rest/cancel_orders_for_user.go index ff30de5..30614fe 100644 --- a/transport/rest/cancel_orders_for_user.go +++ b/transport/rest/cancel_orders_for_user.go @@ -27,7 +27,7 @@ func (h *Handler) CancelOrdersForUser(w http.ResponseWriter, r *http.Request) { logctx.Info(ctx, "user trying to cancel all their orders", logger.String("userId", user.Id.String())) orderIds, err := h.svc.CancelOrdersForUser(ctx, user.Id) - if err == models.ErrNoOrdersFound { + if err == models.ErrNotFound { logctx.Info(ctx, "no orders found for user", logger.String("userId", user.Id.String())) http.Error(w, "No orders found", http.StatusNotFound) return diff --git a/transport/rest/cancel_orders_for_user_test.go b/transport/rest/cancel_orders_for_user_test.go index 649ad79..5b90351 100644 --- a/transport/rest/cancel_orders_for_user_test.go +++ b/transport/rest/cancel_orders_for_user_test.go @@ -45,7 +45,7 @@ func TestHandler_CancelOrdersForUser(t *testing.T) { }{ { "no orders found for user", - &mocks.MockOrderBookService{Error: models.ErrNoOrdersFound}, + &mocks.MockOrderBookService{Error: models.ErrNotFound}, http.StatusNotFound, "No orders found\n", },