From aef0b5a47416fb4341b7e23374e8b36a7382c796 Mon Sep 17 00:00:00 2001 From: Ryan O'Hara-Reid Date: Mon, 26 Feb 2018 11:13:15 +1100 Subject: [PATCH] Fixed linter issues and 429 request error due to test procedures on GDAX exchange --- exchanges/gdax/gdax_test.go | 332 ++++++++++++------------------- exchanges/gdax/gdax_websocket.go | 6 +- exchanges/gdax/gdax_wrapper.go | 2 +- 3 files changed, 137 insertions(+), 203 deletions(-) diff --git a/exchanges/gdax/gdax_test.go b/exchanges/gdax/gdax_test.go index e4ec5d58..266458f4 100644 --- a/exchanges/gdax/gdax_test.go +++ b/exchanges/gdax/gdax_test.go @@ -96,205 +96,137 @@ func TestGetServerTime(t *testing.T) { } } -func TestGetAccounts(t *testing.T) { - t.Parallel() - _, err := g.GetAccounts() - if err == nil { - t.Error("Test failed - GetAccounts() error", err) - } -} - -func TestGetAccount(t *testing.T) { - t.Parallel() - _, err := g.GetAccount("234cb213-ac6f-4ed8-b7b6-e62512930945") - if err == nil { - t.Error("Test failed - GetAccount() error", err) - } -} - -func TestGetAccountHistory(t *testing.T) { - t.Parallel() - _, err := g.GetAccountHistory("234cb213-ac6f-4ed8-b7b6-e62512930945") - if err == nil { - t.Error("Test failed - GetAccountHistory() error", err) - } -} - -func TestGetHolds(t *testing.T) { - t.Parallel() - _, err := g.GetHolds("234cb213-ac6f-4ed8-b7b6-e62512930945") - if err == nil { - t.Error("Test failed - GetHolds() error", err) - } -} - -func TestPlaceLimitOrder(t *testing.T) { - t.Parallel() - _, err := g.PlaceLimitOrder("", 0, 0, "buy", "", "", "BTC-USD", "", false) - if err == nil { - t.Error("Test failed - PlaceLimitOrder() error", err) - } -} - -func TestPlaceMarketOrder(t *testing.T) { - t.Parallel() - _, err := g.PlaceMarketOrder("", 1, 0, "buy", "BTC-USD", "") - if err == nil { - t.Error("Test failed - PlaceMarketOrder() error", err) - } -} - -func TestCancelOrder(t *testing.T) { - t.Parallel() - err := g.CancelOrder("1337") - if err == nil { - t.Error("Test failed - CancelOrder() error", err) - } -} - -func TestCancelAllOrders(t *testing.T) { - t.Parallel() - _, err := g.CancelAllOrders("BTC-USD") - if err == nil { - t.Error("Test failed - CancelAllOrders() error", err) - } -} - -func TestGetOrders(t *testing.T) { - t.Parallel() - _, err := g.GetOrders([]string{"open", "done"}, "BTC-USD") - if err == nil { - t.Error("Test failed - GetOrders() error", err) - } -} - -func TestGetOrder(t *testing.T) { - t.Parallel() - _, err := g.GetOrder("1337") - if err == nil { - t.Error("Test failed - GetOrders() error", err) - } -} - -func TestGetFills(t *testing.T) { - t.Parallel() - _, err := g.GetFills("1337", "BTC-USD") - if err == nil { - t.Error("Test failed - GetFills() error", err) - } - _, err = g.GetFills("", "") - if err == nil { - t.Error("Test failed - GetFills() error", err) - } -} - -func TestGetFundingRecords(t *testing.T) { - t.Parallel() - _, err := g.GetFundingRecords("rejected") - if err == nil { - t.Error("Test failed - GetFundingRecords() error", err) - } -} - -// func TestRepayFunding(t *testing.T) { -// g.Verbose = true -// _, err := g.RepayFunding("1", "BTC") -// if err != nil { -// t.Error("Test failed - RepayFunding() error", err) -// } -// } - -func TestMarginTransfer(t *testing.T) { //invalid sig issue - t.Parallel() - _, err := g.MarginTransfer(1, "withdraw", "45fa9e3b-00ba-4631-b907-8a98cbdf21be", "BTC") - if err == nil { - t.Error("Test failed - MarginTransfer() error", err) - } -} - -func TestGetPosition(t *testing.T) { - t.Parallel() - _, err := g.GetPosition() - if err == nil { - t.Error("Test failed - GetPosition() error", err) - } -} - -func TestClosePosition(t *testing.T) { - t.Parallel() - _, err := g.ClosePosition(false) - if err == nil { - t.Error("Test failed - ClosePosition() error", err) - } -} - -func TestGetPayMethods(t *testing.T) { - t.Parallel() - _, err := g.GetPayMethods() - if err == nil { - t.Error("Test failed - GetPayMethods() error", err) - } -} - -func TestDepositViaPaymentMethod(t *testing.T) { - t.Parallel() - _, err := g.DepositViaPaymentMethod(1, "BTC", "1337") - if err == nil { - t.Error("Test failed - DepositViaPaymentMethod() error", err) - } -} - -func TestDepositViaCoinbase(t *testing.T) { - t.Parallel() - _, err := g.DepositViaCoinbase(1, "BTC", "1337") - if err == nil { - t.Error("Test failed - DepositViaCoinbase() error", err) - } -} - -func TestWithdrawViaPaymentMethod(t *testing.T) { - t.Parallel() - _, err := g.WithdrawViaPaymentMethod(1, "BTC", "1337") - if err == nil { - t.Error("Test failed - WithdrawViaPaymentMethod() error", err) - } -} - -// func TestWithdrawViaCoinbase(t *testing.T) { // No Route found error -// _, err := g.WithdrawViaCoinbase(1, "BTC", "c13cd0fc-72ca-55e9-843b-b84ef628c198") -// if err != nil { -// t.Error("Test failed - WithdrawViaCoinbase() error", err) -// } -// } - -func TestWithdrawCrypto(t *testing.T) { - t.Parallel() - _, err := g.WithdrawCrypto(1, "BTC", "1337") - if err == nil { - t.Error("Test failed - WithdrawViaCoinbase() error", err) - } -} - -func TestGetCoinbaseAccounts(t *testing.T) { - t.Parallel() - _, err := g.GetCoinbaseAccounts() - if err == nil { - t.Error("Test failed - GetCoinbaseAccounts() error", err) - } -} - -func TestGetReportStatus(t *testing.T) { - t.Parallel() - _, err := g.GetReportStatus("1337") - if err == nil { - t.Error("Test failed - GetReportStatus() error", err) - } -} - -func TestGetTrailingVolume(t *testing.T) { - t.Parallel() - _, err := g.GetTrailingVolume() - if err == nil { - t.Error("Test failed - GetTrailingVolume() error", err) +func TestAuthRequests(t *testing.T) { + + if g.APIKey != "" && g.APISecret != "" && g.ClientID != "" { + + _, err := g.GetAccounts() + if err == nil { + t.Error("Test failed - GetAccounts() error", err) + } + + _, err = g.GetAccount("234cb213-ac6f-4ed8-b7b6-e62512930945") + if err == nil { + t.Error("Test failed - GetAccount() error", err) + } + + _, err = g.GetAccountHistory("234cb213-ac6f-4ed8-b7b6-e62512930945") + if err == nil { + t.Error("Test failed - GetAccountHistory() error", err) + } + + _, err = g.GetHolds("234cb213-ac6f-4ed8-b7b6-e62512930945") + if err == nil { + t.Error("Test failed - GetHolds() error", err) + } + + _, err = g.PlaceLimitOrder("", 0, 0, "buy", "", "", "BTC-USD", "", false) + if err == nil { + t.Error("Test failed - PlaceLimitOrder() error", err) + } + + _, err = g.PlaceMarketOrder("", 1, 0, "buy", "BTC-USD", "") + if err == nil { + t.Error("Test failed - PlaceMarketOrder() error", err) + } + + err = g.CancelOrder("1337") + if err == nil { + t.Error("Test failed - CancelOrder() error", err) + } + + _, err = g.CancelAllOrders("BTC-USD") + if err == nil { + t.Error("Test failed - CancelAllOrders() error", err) + } + + _, err = g.GetOrders([]string{"open", "done"}, "BTC-USD") + if err == nil { + t.Error("Test failed - GetOrders() error", err) + } + + _, err = g.GetOrder("1337") + if err == nil { + t.Error("Test failed - GetOrders() error", err) + } + + _, err = g.GetFills("1337", "BTC-USD") + if err == nil { + t.Error("Test failed - GetFills() error", err) + } + _, err = g.GetFills("", "") + if err == nil { + t.Error("Test failed - GetFills() error", err) + } + + _, err = g.GetFundingRecords("rejected") + if err == nil { + t.Error("Test failed - GetFundingRecords() error", err) + } + + // _, err := g.RepayFunding("1", "BTC") + // if err != nil { + // t.Error("Test failed - RepayFunding() error", err) + // } + + _, err = g.MarginTransfer(1, "withdraw", "45fa9e3b-00ba-4631-b907-8a98cbdf21be", "BTC") + if err == nil { + t.Error("Test failed - MarginTransfer() error", err) + } + + _, err = g.GetPosition() + if err == nil { + t.Error("Test failed - GetPosition() error", err) + } + + _, err = g.ClosePosition(false) + if err == nil { + t.Error("Test failed - ClosePosition() error", err) + } + + _, err = g.GetPayMethods() + if err == nil { + t.Error("Test failed - GetPayMethods() error", err) + } + + _, err = g.DepositViaPaymentMethod(1, "BTC", "1337") + if err == nil { + t.Error("Test failed - DepositViaPaymentMethod() error", err) + } + + _, err = g.DepositViaCoinbase(1, "BTC", "1337") + if err == nil { + t.Error("Test failed - DepositViaCoinbase() error", err) + } + + _, err = g.WithdrawViaPaymentMethod(1, "BTC", "1337") + if err == nil { + t.Error("Test failed - WithdrawViaPaymentMethod() error", err) + } + + // _, err := g.WithdrawViaCoinbase(1, "BTC", "c13cd0fc-72ca-55e9-843b-b84ef628c198") + // if err != nil { + // t.Error("Test failed - WithdrawViaCoinbase() error", err) + // } + + _, err = g.WithdrawCrypto(1, "BTC", "1337") + if err == nil { + t.Error("Test failed - WithdrawViaCoinbase() error", err) + } + + _, err = g.GetCoinbaseAccounts() + if err == nil { + t.Error("Test failed - GetCoinbaseAccounts() error", err) + } + + _, err = g.GetReportStatus("1337") + if err == nil { + t.Error("Test failed - GetReportStatus() error", err) + } + + _, err = g.GetTrailingVolume() + if err == nil { + t.Error("Test failed - GetTrailingVolume() error", err) + } } } diff --git a/exchanges/gdax/gdax_websocket.go b/exchanges/gdax/gdax_websocket.go index 423b2dcb..12507895 100644 --- a/exchanges/gdax/gdax_websocket.go +++ b/exchanges/gdax/gdax_websocket.go @@ -9,9 +9,10 @@ import ( ) const ( - GDAX_WEBSOCKET_URL = "wss://ws-feed.gdax.com" + gdaxWebsocketURL = "wss://ws-feed.gdax.com" ) +// WebsocketSubscribe subscribes to a websocket connection func (g *GDAX) WebsocketSubscribe(product string, conn *websocket.Conn) error { subscribe := WebsocketSubscribe{"subscribe", product} json, err := common.JSONEncode(subscribe) @@ -27,10 +28,11 @@ func (g *GDAX) WebsocketSubscribe(product string, conn *websocket.Conn) error { return nil } +// WebsocketClient initiates a websocket client func (g *GDAX) WebsocketClient() { for g.Enabled && g.Websocket { var Dialer websocket.Dialer - conn, _, err := Dialer.Dial(GDAX_WEBSOCKET_URL, http.Header{}) + conn, _, err := Dialer.Dial(gdaxWebsocketURL, http.Header{}) if err != nil { log.Printf("%s Unable to connect to Websocket. Error: %s\n", g.GetName(), err) diff --git a/exchanges/gdax/gdax_wrapper.go b/exchanges/gdax/gdax_wrapper.go index dfde1c69..2edbc563 100644 --- a/exchanges/gdax/gdax_wrapper.go +++ b/exchanges/gdax/gdax_wrapper.go @@ -19,7 +19,7 @@ func (g *GDAX) Start() { // Run implements the GDAX wrapper func (g *GDAX) Run() { if g.Verbose { - log.Printf("%s Websocket: %s. (url: %s).\n", g.GetName(), common.IsEnabled(g.Websocket), GDAX_WEBSOCKET_URL) + log.Printf("%s Websocket: %s. (url: %s).\n", g.GetName(), common.IsEnabled(g.Websocket), gdaxWebsocketURL) log.Printf("%s polling delay: %ds.\n", g.GetName(), g.RESTPollingDelay) log.Printf("%s %d currencies enabled: %s.\n", g.GetName(), len(g.EnabledPairs), g.EnabledPairs) }