mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-13 23:16:45 +00:00
kraken: Add check for correct order type in batch requests (#810)
* kraken: add check for correct order type in batch requests * huboi: fix tests
This commit is contained in:
@@ -120,7 +120,7 @@ func TestFIndexPriceInfo(t *testing.T) {
|
||||
func TestFContractPriceLimitations(t *testing.T) {
|
||||
t.Parallel()
|
||||
_, err := h.FContractPriceLimitations(context.Background(),
|
||||
"BTC", "this_week", currency.Pair{})
|
||||
"BTC", "next_quarter", currency.Pair{})
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
@@ -129,7 +129,7 @@ func TestFContractPriceLimitations(t *testing.T) {
|
||||
func TestFContractOpenInterest(t *testing.T) {
|
||||
t.Parallel()
|
||||
_, err := h.FContractOpenInterest(context.Background(),
|
||||
"BTC", "this_week", currency.Pair{})
|
||||
"BTC", "next_quarter", currency.Pair{})
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
@@ -20,6 +20,8 @@ import (
|
||||
"github.com/thrasher-corp/gocryptotrader/exchanges/request"
|
||||
)
|
||||
|
||||
var errInvalidBatchOrderType = errors.New("invalid batch order type")
|
||||
|
||||
// GetFuturesOrderbook gets orderbook data for futures
|
||||
func (k *Kraken) GetFuturesOrderbook(ctx context.Context, symbol currency.Pair) (FuturesOrderbookData, error) {
|
||||
var resp FuturesOrderbookData
|
||||
@@ -71,6 +73,11 @@ func (k *Kraken) FuturesBatchOrder(ctx context.Context, data []PlaceBatchOrderDa
|
||||
if err != nil {
|
||||
return resp, err
|
||||
}
|
||||
if !common.StringDataCompare(validBatchOrderType, data[x].PlaceOrderType) {
|
||||
return resp, fmt.Errorf("%s %w",
|
||||
data[x].PlaceOrderType,
|
||||
errInvalidBatchOrderType)
|
||||
}
|
||||
data[x].Symbol = formattedPair.String()
|
||||
}
|
||||
req := make(map[string]interface{})
|
||||
|
||||
@@ -2,6 +2,7 @@ package kraken
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"log"
|
||||
"net/http"
|
||||
@@ -156,16 +157,23 @@ func TestWrapperGetOrderInfo(t *testing.T) {
|
||||
|
||||
func TestFuturesBatchOrder(t *testing.T) {
|
||||
t.Parallel()
|
||||
if !areTestAPIKeysSet() || !canManipulateRealOrders {
|
||||
t.Skip("skipping test: api keys not set or canManipulateRealOrders")
|
||||
}
|
||||
var data []PlaceBatchOrderData
|
||||
var tempData PlaceBatchOrderData
|
||||
tempData.PlaceOrderType = "cancel"
|
||||
tempData.PlaceOrderType = "meow"
|
||||
tempData.OrderID = "test123"
|
||||
tempData.Symbol = "pi_xbtusd"
|
||||
data = append(data, tempData)
|
||||
_, err := k.FuturesBatchOrder(context.Background(), data)
|
||||
if !errors.Is(err, errInvalidBatchOrderType) {
|
||||
t.Fatalf("received: '%v' but expected: '%v'", err, errInvalidBatchOrderType)
|
||||
}
|
||||
|
||||
if !areTestAPIKeysSet() || !canManipulateRealOrders {
|
||||
t.Skip("skipping test: api keys not set or canManipulateRealOrders")
|
||||
}
|
||||
|
||||
data[0].PlaceOrderType = "cancel"
|
||||
_, err = k.FuturesBatchOrder(context.Background(), data)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user