diff --git a/config/config_test.go b/config/config_test.go index f31c5abd..3ca3aeac 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -5,7 +5,7 @@ import ( ) func TestGetConfigEnabledExchanges(t *testing.T) { - defaultEnabledExchanges := 17 + defaultEnabledExchanges := 18 GetConfigEnabledExchanges := GetConfig() err := GetConfigEnabledExchanges.LoadConfig(ConfigTestFile) if err != nil { diff --git a/exchanges/anx/anx_test.go b/exchanges/anx/anx_test.go index 70ad4fd8..c5ede53e 100644 --- a/exchanges/anx/anx_test.go +++ b/exchanges/anx/anx_test.go @@ -35,6 +35,7 @@ func TestSetDefaults(t *testing.T) { func TestSetup(t *testing.T) { setup := ANX{} + setup.Name = "ANX" anxSetupConfig := config.GetConfig() anxSetupConfig.LoadConfig("../../testdata/configtest.dat") anxConfig, err := anxSetupConfig.GetExchangeConfig("ANX") @@ -49,7 +50,7 @@ func TestSetup(t *testing.T) { if setup.AuthenticatedAPISupport != false { t.Error("Test Failed - ANX Setup() incorrect values set") } - if len(setup.APIKey) <= 0 { + if len(setup.APIKey) != 0 { t.Error("Test Failed - ANX Setup() incorrect values set") } if len(setup.APISecret) != 0 { diff --git a/exchanges/bitfinex/bitfinex_test.go b/exchanges/bitfinex/bitfinex_test.go index 5bffc8ec..03363c5d 100644 --- a/exchanges/bitfinex/bitfinex_test.go +++ b/exchanges/bitfinex/bitfinex_test.go @@ -8,7 +8,6 @@ import ( "github.com/thrasher-/gocryptotrader/common" "github.com/thrasher-/gocryptotrader/config" - "github.com/thrasher-/gocryptotrader/currency" ) // Please supply your own keys here to do better tests @@ -30,24 +29,21 @@ func TestSetDefaults(t *testing.T) { } func TestSetup(t *testing.T) { - testConfig := config.ExchangeConfig{ - Enabled: true, - AuthenticatedAPISupport: true, - APIKey: testAPIKey, - APISecret: testAPISecret, - RESTPollingDelay: time.Duration(10), - Verbose: false, - Websocket: true, - BaseCurrencies: currency.DefaultCurrencies, - AvailablePairs: currency.MakecurrencyPairs(currency.DefaultCurrencies), - EnabledPairs: currency.MakecurrencyPairs(currency.DefaultCurrencies), + setup := Bitfinex{} + setup.Name = "Bitfinex" + cfg := config.GetConfig() + cfg.LoadConfig("../../testdata/configtest.dat") + bfxConfig, err := cfg.GetExchangeConfig("Bitfinex") + if err != nil { + t.Error("Test Failed - Bitfinex Setup() init error") } + setup.Setup(bfxConfig) - b.Setup(testConfig) + b.SetDefaults() + b.Setup(bfxConfig) - if !b.Enabled || !b.AuthenticatedAPISupport || b.APIKey != testAPIKey || - b.APISecret != testAPISecret || b.RESTPollingDelay != time.Duration(10) || - b.Verbose || !b.Websocket || len(b.BaseCurrencies) < 1 || + if !b.Enabled || b.AuthenticatedAPISupport || b.RESTPollingDelay != time.Duration(10) || + b.Verbose || b.Websocket || len(b.BaseCurrencies) < 1 || len(b.AvailablePairs) < 1 || len(b.EnabledPairs) < 1 { t.Error("Test Failed - Bitfinex Setup values not set correctly") } diff --git a/exchanges/bitstamp/bitstamp_test.go b/exchanges/bitstamp/bitstamp_test.go index e7133de2..ce298211 100644 --- a/exchanges/bitstamp/bitstamp_test.go +++ b/exchanges/bitstamp/bitstamp_test.go @@ -3,6 +3,7 @@ package bitstamp import ( "net/url" "testing" + "time" "github.com/thrasher-/gocryptotrader/config" ) @@ -39,18 +40,29 @@ func TestSetDefaults(t *testing.T) { func TestSetup(t *testing.T) { t.Parallel() b := Bitstamp{} - conf := config.ExchangeConfig{ - Name: "bla", - Enabled: true, - AuthenticatedAPISupport: true, + b.Name = "Bitstamp" + cfg := config.GetConfig() + cfg.LoadConfig("../../testdata/configtest.dat") + bConfig, err := cfg.GetExchangeConfig("Bitstamp") + if err != nil { + t.Error("Test Failed - Bitstamp Setup() init error") } - b.Setup(conf) - if b.Name != "bla" && b.Enabled != true && b.AuthenticatedAPISupport != true { - t.Error("Test Failed - Setup() error") + b.SetDefaults() + b.Setup(bConfig) + + if !b.IsEnabled() || b.AuthenticatedAPISupport || b.RESTPollingDelay != time.Duration(10) || + b.Verbose || b.Websocket || len(b.BaseCurrencies) < 1 || + len(b.AvailablePairs) < 1 || len(b.EnabledPairs) < 1 { + t.Error("Test Failed - Bitstamp Setup values not set correctly") + } + + bConfig.Enabled = false + b.Setup(bConfig) + + if b.IsEnabled() { + t.Error("Test failed - Bitstamp TestSetup incorrect value") } - conf.Enabled = false - b.Setup(conf) } func TestGetFee(t *testing.T) { diff --git a/exchanges/bittrex/bittrex_test.go b/exchanges/bittrex/bittrex_test.go index 32f7786f..99e5e209 100644 --- a/exchanges/bittrex/bittrex_test.go +++ b/exchanges/bittrex/bittrex_test.go @@ -2,6 +2,7 @@ package bittrex import ( "testing" + "time" "github.com/thrasher-/gocryptotrader/config" ) @@ -23,20 +24,29 @@ func TestSetDefaults(t *testing.T) { func TestSetup(t *testing.T) { t.Parallel() - exch := config.ExchangeConfig{ - Name: "Bittrex", - APIKey: apiKey, - } - exch.Enabled = true b := Bittrex{} - b.Setup(exch) - if b.APIKey != apiKey { - t.Error("Test Failed - Bittrex - Setup() error") + b.Name = "Bittrex" + cfg := config.GetConfig() + cfg.LoadConfig("../../testdata/configtest.dat") + bConfig, err := cfg.GetExchangeConfig("Bittrex") + if err != nil { + t.Error("Test Failed - Bittrex Setup() init error") } - exch.Enabled = false - b.Setup(exch) + + b.SetDefaults() + b.Setup(bConfig) + + if !b.IsEnabled() || b.AuthenticatedAPISupport || b.RESTPollingDelay != time.Duration(10) || + b.Verbose || b.Websocket || len(b.BaseCurrencies) < 1 || + len(b.AvailablePairs) < 1 || len(b.EnabledPairs) < 1 { + t.Error("Test Failed - Bittrex Setup values not set correctly") + } + + bConfig.Enabled = false + b.Setup(bConfig) + if b.IsEnabled() { - t.Error("Test Failed - Bittrex - Setup() error") + t.Error("Test failed - Bittrex TestSetup incorrect value") } } diff --git a/exchanges/btcc/btcc_test.go b/exchanges/btcc/btcc_test.go index aca0c326..6108fcc8 100644 --- a/exchanges/btcc/btcc_test.go +++ b/exchanges/btcc/btcc_test.go @@ -20,17 +20,31 @@ func TestSetDefaults(t *testing.T) { } func TestSetup(t *testing.T) { - conf := config.ExchangeConfig{ - Enabled: true, + t.Parallel() + b := BTCC{} + b.Name = "BTCC" + cfg := config.GetConfig() + cfg.LoadConfig("../../testdata/configtest.dat") + bConfig, err := cfg.GetExchangeConfig("BTCC") + if err != nil { + t.Error("Test Failed - BTCC Setup() init error") } - b.Setup(conf) - conf = config.ExchangeConfig{ - Enabled: false, - APIKey: apiKey, - APISecret: apiSecret, + b.SetDefaults() + b.Setup(bConfig) + + if !b.IsEnabled() || b.AuthenticatedAPISupport || b.RESTPollingDelay != time.Duration(10) || + b.Verbose || b.Websocket || len(b.BaseCurrencies) < 1 || + len(b.AvailablePairs) < 1 || len(b.EnabledPairs) < 1 { + t.Error("Test Failed - BTCC Setup values not set correctly") + } + + bConfig.Enabled = false + b.Setup(bConfig) + + if b.IsEnabled() { + t.Error("Test failed - BTCC TestSetup incorrect value") } - b.Setup(conf) } func TestGetFee(t *testing.T) { diff --git a/exchanges/btcmarkets/btcmarkets_test.go b/exchanges/btcmarkets/btcmarkets_test.go index ca7ded8b..bc0e9776 100644 --- a/exchanges/btcmarkets/btcmarkets_test.go +++ b/exchanges/btcmarkets/btcmarkets_test.go @@ -3,6 +3,7 @@ package btcmarkets import ( "net/url" "testing" + "time" "github.com/thrasher-/gocryptotrader/config" ) @@ -20,16 +21,31 @@ func TestSetDefaults(t *testing.T) { } func TestSetup(t *testing.T) { - conf := config.ExchangeConfig{} - bm.Setup(conf) - - conf = config.ExchangeConfig{ - APIKey: apiKey, - APISecret: apiSecret, - Enabled: true, - AuthenticatedAPISupport: true, + t.Parallel() + b := BTCMarkets{} + b.Name = "BTC Markets" + cfg := config.GetConfig() + cfg.LoadConfig("../../testdata/configtest.dat") + bConfig, err := cfg.GetExchangeConfig("BTC Markets") + if err != nil { + t.Error("Test Failed - BTC Markets Setup() init error") + } + + b.SetDefaults() + b.Setup(bConfig) + + if !b.IsEnabled() || b.AuthenticatedAPISupport || b.RESTPollingDelay != time.Duration(10) || + b.Verbose || b.Websocket || len(b.BaseCurrencies) < 1 || + len(b.AvailablePairs) < 1 || len(b.EnabledPairs) < 1 { + t.Error("Test Failed - BTC Markets Setup values not set correctly") + } + + bConfig.Enabled = false + b.Setup(bConfig) + + if b.IsEnabled() { + t.Error("Test failed - BTC Markets TestSetup incorrect value") } - bm.Setup(conf) } func TestGetFee(t *testing.T) { diff --git a/testdata/configtest.dat b/testdata/configtest.dat index 731df5bc..48c98e84 100644 --- a/testdata/configtest.dat +++ b/testdata/configtest.dat @@ -113,6 +113,27 @@ "Uppercase": true } }, + { + "Name": "Bittrex", + "Enabled": true, + "Verbose": false, + "Websocket": false, + "RESTPollingDelay": 10, + "AuthenticatedAPISupport": false, + "APIKey": "Key", + "APISecret": "Secret", + "AvailablePairs": "BTC-LTC,BTC-DOGE,BTC-VTC,BTC-PPC,BTC-FTC,BTC-RDD,BTC-NXT,BTC-DASH,BTC-POT,BTC-BLK,BTC-EMC2,BTC-XMY,BTC-AUR,BTC-EFL,BTC-GLD,BTC-SLR,BTC-PTC,BTC-GRS,BTC-NLG,BTC-RBY,BTC-XWC,BTC-MONA,BTC-THC,BTC-ENRG,BTC-ERC,BTC-VRC,BTC-CURE,BTC-XBB,BTC-XMR,BTC-CLOAK,BTC-START,BTC-KORE,BTC-XDN,BTC-TRUST,BTC-NAV,BTC-XST,BTC-BTCD,BTC-VIA,BTC-UNO,BTC-PINK,BTC-IOC,BTC-CANN,BTC-SYS,BTC-NEOS,BTC-DGB,BTC-BURST,BTC-EXCL,BTC-SWIFT,BTC-DOPE,BTC-BLOCK,BTC-ABY,BTC-BYC,BTC-XMG,BTC-BLITZ,BTC-BAY,BTC-BTS,BTC-FAIR,BTC-SPR,BTC-VTR,BTC-XRP,BTC-GAME,BTC-COVAL,BTC-NXS,BTC-XCP,BTC-BITB,BTC-GEO,BTC-FLDC,BTC-GRC,BTC-FLO,BTC-NBT,BTC-MUE,BTC-XEM,BTC-CLAM,BTC-DMD,BTC-GAM,BTC-SPHR,BTC-OK,BTC-SNRG,BTC-PKB,BTC-CPC,BTC-AEON,BTC-ETH,BTC-GCR,BTC-TX,BTC-BCY,BTC-EXP,BTC-INFX,BTC-OMNI,BTC-AMP,BTC-AGRS,BTC-XLM,BTC-BTA,USDT-BTC,BTC-CLUB,BTC-VOX,BTC-EMC,BTC-FCT,BTC-MAID,BTC-EGC,BTC-SLS,BTC-RADS,BTC-DCR,BTC-SAFEX,BTC-BSD,BTC-XVG,BTC-PIVX,BTC-XVC,BTC-MEME,BTC-STEEM,BTC-2GIVE,BTC-LSK,BTC-PDC,BTC-BRK,BTC-DGD,ETH-DGD,BTC-WAVES,BTC-RISE,BTC-LBC,BTC-SBD,BTC-BRX,BTC-DRACO,BTC-ETC,ETH-ETC,BTC-STRAT,BTC-UNB,BTC-SYNX,BTC-TRIG,BTC-EBST,BTC-VRM,BTC-SEQ,BTC-XAUR,BTC-SNGLS,BTC-REP,BTC-SHIFT,BTC-ARDR,BTC-XZC,BTC-NEO,BTC-ZEC,BTC-ZCL,BTC-IOP,BTC-DAR,BTC-GOLOS,BTC-HKG,BTC-UBQ,BTC-KMD,BTC-GBG,BTC-SIB,BTC-ION,BTC-LMC,BTC-QWARK,BTC-CRW,BTC-SWT,BTC-TIME,BTC-MLN,BTC-ARK,BTC-DYN,BTC-TKS,BTC-MUSIC,BTC-DTB,BTC-INCNT,BTC-GBYTE,BTC-GNT,BTC-NXC,BTC-EDG,BTC-LGD,BTC-TRST,ETH-GNT,ETH-REP,USDT-ETH,ETH-WINGS,BTC-WINGS,BTC-RLC,BTC-GNO,BTC-GUP,BTC-LUN,ETH-GUP,ETH-RLC,ETH-LUN,ETH-SNGLS,ETH-GNO,BTC-APX,BTC-TKN,ETH-TKN,BTC-HMQ,ETH-HMQ,BTC-ANT,ETH-TRST,ETH-ANT,BTC-SC,ETH-BAT,BTC-BAT,BTC-ZEN,BTC-1ST,BTC-QRL,ETH-1ST,ETH-QRL,BTC-CRB,ETH-CRB,ETH-LGD,BTC-PTOY,ETH-PTOY,BTC-MYST,ETH-MYST,BTC-CFI,ETH-CFI,BTC-BNT,ETH-BNT,BTC-NMR,ETH-NMR,ETH-TIME,ETH-LTC,ETH-XRP,BTC-SNT,ETH-SNT,BTC-DCT,BTC-XEL,BTC-MCO,ETH-MCO,BTC-ADT,ETH-ADT,BTC-FUN,ETH-FUN,BTC-PAY,ETH-PAY,BTC-MTL,ETH-MTL,BTC-STORJ,ETH-STORJ,BTC-ADX,ETH-ADX,ETH-DASH,ETH-SC,ETH-ZEC,USDT-ZEC,USDT-LTC,USDT-ETC,USDT-XRP,BTC-OMG,ETH-OMG,BTC-CVC,ETH-CVC,BTC-PART,BTC-QTUM,ETH-QTUM,ETH-XMR,ETH-XEM,ETH-XLM,ETH-NEO,USDT-XMR,USDT-DASH,ETH-BCC,USDT-BCC,BTC-BCC,USDT-NEO,ETH-WAVES,ETH-STRAT,ETH-DGB,ETH-FCT,ETH-BTS", + "EnabledPairs": "USDT-BTC", + "BaseCurrencies": "USD", + "ConfigCurrencyPairFormat": { + "Uppercase": true, + "Delimiter": "-" + }, + "RequestCurrencyPairFormat": { + "Uppercase": true, + "Delimiter": "-" + } + }, { "Name": "BTCC", "Enabled": true,