From 2565c6497f53671de7bb8d914aeb5d3bb48f3b89 Mon Sep 17 00:00:00 2001 From: Ryan O'Hara-Reid Date: Fri, 7 Apr 2017 15:21:25 +1000 Subject: [PATCH] Added test module for Smsglobal.go --- smsglobal/smsglobal_tests/config_example.dat | 287 +++++++++++++++++++ smsglobal/smsglobal_tests/smsglobal_test.go | 56 ++++ 2 files changed, 343 insertions(+) create mode 100644 smsglobal/smsglobal_tests/config_example.dat create mode 100644 smsglobal/smsglobal_tests/smsglobal_test.go diff --git a/smsglobal/smsglobal_tests/config_example.dat b/smsglobal/smsglobal_tests/config_example.dat new file mode 100644 index 00000000..973ffa04 --- /dev/null +++ b/smsglobal/smsglobal_tests/config_example.dat @@ -0,0 +1,287 @@ +{ + "Name": "Skynet", + "EncryptConfig": 0, + "Cryptocurrencies": "BTC,LTC,ETH,XRP,NMC,NVC,PPC,XBT,DOGE,DASH", + "PortfolioAddresses": { + "Addresses": [ + { + "Address": "1JCe8z4jJVNXSjohjM4i9Hh813dLCNx2Sy", + "CoinType": "BTC", + "Balance": 124178.0002442 + }, + { + "Address": "3Nxwenay9Z8Lc9JBiywExpnEFiLp6Afp8v", + "CoinType": "BTC", + "Balance": 103439.83659727 + }, + { + "Address": "LgY8ahfHRhvjVQC1zJnBhFMG5pCTMuKRqh", + "CoinType": "LTC", + "Balance": 3.00000005e+06 + }, + { + "Address": "0xb794f5ea0ba39494ce839613fffba74279579268", + "CoinType": "ETH", + "Balance": 5.774999820458524e+06 + } + ] + }, + "SMSGlobal": { + "Enabled": false, + "Username": "Username", + "Password": "Password", + "Contacts": [ + { + "Name": "Bob", + "Number": "12345", + "Enabled": false + } + ] + }, + "Webserver": { + "Enabled": false, + "AdminUsername": "admin", + "AdminPassword": "Password", + "ListenAddress": ":9050" + }, + "Exchanges": [ + { + "Name": "ANX", + "Enabled": true, + "Verbose": false, + "Websocket": false, + "RESTPollingDelay": 10, + "AuthenticatedAPISupport": false, + "APIKey": "Key", + "APISecret": "Secret", + "ClientID": "", + "AvailablePairs": "BTCUSD,BTCHKD,BTCEUR,BTCCAD,BTCAUD,BTCSGD,BTCJPY,BTCGBP,BTCNZD,LTCBTC,DOGEBTC,STRBTC,XRPBTC", + "EnabledPairs": "BTCUSD,BTCHKD,BTCEUR,BTCCAD,BTCAUD,BTCSGD,BTCJPY,BTCGBP,BTCNZD,LTCBTC,DOGEBTC,STRBTC,XRPBTC", + "BaseCurrencies": "USD,HKD,EUR,CAD,AUD,SGD,JPY,GBP,NZD" + }, + { + "Name": "Bitfinex", + "Enabled": true, + "Verbose": false, + "Websocket": false, + "RESTPollingDelay": 10, + "AuthenticatedAPISupport": false, + "APIKey": "Key", + "APISecret": "Secret", + "ClientID": "", + "AvailablePairs": "BTCUSD,LTCUSD,LTCBTC,ETHUSD,ETHBTC,ETCBTC,ETCUSD,BFXUSD,BFXBTC,RRTUSD,RRTBTC,ZECUSD,ZECBTC,XMRUSD,XMRBTC,DSHUSD,DSHBTC", + "EnabledPairs": "BTCUSD,LTCUSD,LTCBTC,ETHUSD,ETHBTC", + "BaseCurrencies": "USD" + }, + { + "Name": "Bitstamp", + "Enabled": true, + "Verbose": false, + "Websocket": false, + "RESTPollingDelay": 10, + "AuthenticatedAPISupport": false, + "APIKey": "Key", + "APISecret": "Secret", + "ClientID": "ClientID", + "AvailablePairs": "BTCUSD,BTCEUR,EURUSD,XRPUSD,XRPEUR", + "EnabledPairs": "BTCUSD,BTCEUR,EURUSD,XRPUSD,XRPEUR", + "BaseCurrencies": "USD,EUR" + }, + { + "Name": "BTCC", + "Enabled": true, + "Verbose": false, + "Websocket": false, + "RESTPollingDelay": 10, + "AuthenticatedAPISupport": false, + "APIKey": "Key", + "APISecret": "Secret", + "ClientID": "", + "AvailablePairs": "BTCCNY,LTCCNY,LTCBTC", + "EnabledPairs": "BTCCNY,LTCCNY,LTCBTC", + "BaseCurrencies": "CNY" + }, + { + "Name": "BTCE", + "Enabled": true, + "Verbose": false, + "Websocket": false, + "RESTPollingDelay": 10, + "AuthenticatedAPISupport": false, + "APIKey": "Key", + "APISecret": "Secret", + "ClientID": "", + "AvailablePairs": "BTCUSD,BTCRUR,BTCEUR,LTCBTC,LTCUSD,LTCRUR,LTCEUR,NMCBTC,NMCUSD,NVCBTC,NVCUSD,USDRUR,EURUSD,EURRUR,PPCBTC,PPCUSD", + "EnabledPairs": "BTCUSD,BTCRUR,BTCEUR,LTCBTC,LTCUSD,LTCRUR,LTCEUR,NMCBTC,NMCUSD,NVCBTC,NVCUSD,USDRUR,EURUSD,EURRUR,PPCBTC,PPCUSD", + "BaseCurrencies": "USD,RUR,EUR" + }, + { + "Name": "BTC Markets", + "Enabled": true, + "Verbose": false, + "Websocket": false, + "RESTPollingDelay": 10, + "AuthenticatedAPISupport": false, + "APIKey": "Key", + "APISecret": "Secret", + "ClientID": "", + "AvailablePairs": "LTC,BTC", + "EnabledPairs": "LTC,BTC", + "BaseCurrencies": "AUD" + }, + { + "Name": "GDAX", + "Enabled": true, + "Verbose": false, + "Websocket": false, + "RESTPollingDelay": 10, + "AuthenticatedAPISupport": false, + "APIKey": "Key", + "APISecret": "Secret", + "ClientID": "ClientID", + "AvailablePairs": "BTCGBP,BTCEUR,ETHUSD,ETHBTC,LTCUSD,LTCBTC,BTCUSD", + "EnabledPairs": "BTCUSD,BTCGBP,BTCEUR", + "BaseCurrencies": "USD,GBP,EUR" + }, + { + "Name": "Gemini", + "Enabled": true, + "Verbose": false, + "Websocket": false, + "RESTPollingDelay": 10, + "AuthenticatedAPISupport": false, + "APIKey": "Key", + "APISecret": "Secret", + "ClientID": "", + "AvailablePairs": "BTCUSD,ETHBTC,ETHUSD", + "EnabledPairs": "BTCUSD", + "BaseCurrencies": "USD" + }, + { + "Name": "Huobi", + "Enabled": true, + "Verbose": false, + "Websocket": false, + "RESTPollingDelay": 10, + "AuthenticatedAPISupport": false, + "APIKey": "Key", + "APISecret": "Secret", + "ClientID": "", + "AvailablePairs": "BTCCNY,LTCCNY", + "EnabledPairs": "BTCCNY,LTCCNY", + "BaseCurrencies": "CNY" + }, + { + "Name": "ITBIT", + "Enabled": true, + "Verbose": false, + "Websocket": false, + "RESTPollingDelay": 10, + "AuthenticatedAPISupport": false, + "APIKey": "Key", + "APISecret": "Secret", + "ClientID": "ClientID", + "AvailablePairs": "XBTUSD,XBTSGD,XBTEUR", + "EnabledPairs": "XBTUSD,XBTSGD,XBTEUR", + "BaseCurrencies": "USD,SGD,EUR" + }, + { + "Name": "Kraken", + "Enabled": true, + "Verbose": false, + "Websocket": false, + "RESTPollingDelay": 10, + "AuthenticatedAPISupport": false, + "APIKey": "Key", + "APISecret": "Secret", + "ClientID": "", + "AvailablePairs": "ETCUSD,ICNETH,REPXBT,ZECXBT,ETHXBT,ETHXBT.d,ETHGBP,LTCXBT,XBTGBP.d,XDGXBT,XMRUSD,ZECUSD,ETCETH,ETHJPY,XBTCAD.d,XBTJPY.d,XBTUSD.d,XLMXBT,XLMEUR,XLMUSD,XMREUR,ETCXBT,ETHCAD.d,ETHEUR.d,ETHJPY.d,XBTEUR.d,ETHEUR,ETHGBP.d,ICNXBT,LTCEUR,REPEUR,XBTGBP,XBTJPY,ETHUSD,ETHUSD.d,LTCUSD,REPETH,XBTUSD,XMRXBT,ETCEUR,ETHCAD,REPUSD,XBTCAD,XBTEUR,XRPXBT,ZECEUR", + "EnabledPairs": "ETCUSD,XBTUSD,ETHUSD", + "BaseCurrencies": "EUR,USD,CAD,GBP,JPY" + }, + { + "Name": "LakeBTC", + "Enabled": true, + "Verbose": false, + "Websocket": false, + "RESTPollingDelay": 10, + "AuthenticatedAPISupport": false, + "APIKey": "Key", + "APISecret": "Secret", + "ClientID": "", + "AvailablePairs": "BTCUSD,BTCEUR,USDHKD,AUDUSD,BTCGBP,BTCNZD,USDJPY,BTCSGD,BTCNGN,EURUSD,USDSGD,NZDUSD,USDNGN,USDCHF,BTCJPY,BTCAUD,BTCCAD,BTCCHF,GBPUSD,USDCAD", + "EnabledPairs": "BTCUSD,BTCAUD", + "BaseCurrencies": "USD,EUR,HKD,AUD,GBP,NZD,JPY,SGD,NGN,CHF,CAD" + }, + { + "Name": "Liqui", + "Enabled": true, + "Verbose": false, + "Websocket": false, + "RESTPollingDelay": 10, + "AuthenticatedAPISupport": false, + "APIKey": "Key", + "APISecret": "Secret", + "ClientID": "", + "AvailablePairs": "TIME_BTC,ETH_BTC,GNT_BTC,WAVES_BTC,ICN_BTC,1ST_BTC,WINGS_BTC,MLN_BTC,ROUND_BTC,VSL_BTC,LTC_BTC,DCT_BTC,INCNT_BTC,PLU_BTC,DASH_BTC", + "EnabledPairs": "ETH_BTC,LTC_BTC,DASH_BTC", + "BaseCurrencies": "USD" + }, + { + "Name": "LocalBitcoins", + "Enabled": true, + "Verbose": false, + "Websocket": false, + "RESTPollingDelay": 10, + "AuthenticatedAPISupport": false, + "APIKey": "Key", + "APISecret": "Secret", + "ClientID": "", + "AvailablePairs": "BTCARS,BTCAUD,BTCBRL,BTCCAD,BTCCHF,BTCCZK,BTCDKK,BTCEUR,BTCGBP,BTCHKD,BTCILS,BTCINR,BTCMXN,BTCNOK,BTCNZD,BTCPLN,BTCRUB,BTCSEK,BTCSGD,BTCTHB,BTCUSD,BTCZAR", + "EnabledPairs": "BTCARS,BTCAUD,BTCBRL,BTCCAD,BTCCHF,BTCCZK,BTCDKK,BTCEUR,BTCGBP,BTCHKD,BTCILS,BTCINR,BTCMXN,BTCNOK,BTCNZD,BTCPLN,BTCRUB,BTCSEK,BTCSGD,BTCTHB,BTCUSD,BTCZAR", + "BaseCurrencies": "ARS,AUD,BRL,CAD,CHF,CZK,DKK,EUR,GBP,HKD,ILS,INR,MXN,NOK,NZD,PLN,RUB,SEK,SGD,THB,USD,ZAR" + }, + { + "Name": "OKCOIN China", + "Enabled": true, + "Verbose": false, + "Websocket": false, + "RESTPollingDelay": 10, + "AuthenticatedAPISupport": false, + "APIKey": "Key", + "APISecret": "Secret", + "ClientID": "", + "AvailablePairs": "BTCCNY,LTCCNY", + "EnabledPairs": "BTCCNY,LTCCNY", + "BaseCurrencies": "CNY" + }, + { + "Name": "OKCOIN International", + "Enabled": true, + "Verbose": false, + "Websocket": false, + "RESTPollingDelay": 10, + "AuthenticatedAPISupport": false, + "APIKey": "Key", + "APISecret": "Secret", + "ClientID": "", + "AvailablePairs": "BTCUSD,LTCUSD", + "EnabledPairs": "BTCUSD,LTCUSD", + "BaseCurrencies": "USD" + }, + { + "Name": "Poloniex", + "Enabled": true, + "Verbose": false, + "Websocket": false, + "RESTPollingDelay": 10, + "AuthenticatedAPISupport": false, + "APIKey": "Key", + "APISecret": "Secret", + "ClientID": "", + "AvailablePairs": "BTC_XUSD,BTC_FCT,BTC_MMNXT,BTC_NMC,BTC_BITUSD,BTC_RDD,BTC_XMR,BTC_XST,BTC_DSH,BTC_MAID,BTC_DGB,BTC_NEOS,BTC_BLK,BTC_NAUT,BTC_NBT,BTC_XCP,BTC_STR,BTC_BTCD,BTC_GRC,BTC_HUC,BTC_BBR,BTC_XDN,BTC_INDEX,BTC_IOC,BTC_SWARM,BTC_EMC2,BTC_MCN,BTC_NOXT,BTC_MINT,BTC_PTS,BTC_SC,BTC_GEO,BTC_XRP,BTC_FLO,BTC_BITS,BTC_HYP,BTC_XCR,BTC_LTBC,BTC_SYS,BTC_GMC,BTC_ETH,BTC_SYNC,BTC_GAP,BTC_BCN,BTC_C2,BTC_PINK,BTC_FIBRE,BTC_POT,BTC_QTL,BTC_SDC,BTC_XC,BTC_DASH,BTC_SILK,BTC_CLAM,BTC_NAV,BTC_PIGGY,BTC_BCY,BTC_MIL,BTC_XCN,BTC_YACC,BTC_BTS,BTC_QBK,BTC_SJCX,BTC_LQD,BTC_BURST,BTC_RIC,BTC_VRC,BTC_LTC,BTC_XPB,BTC_GRS,BTC_XCH,BTC_ARCH,BTC_QORA,BTC_HZ,BTC_NSR,BTC_XPM,BTC_BITCNY,BTC_EXE,BTC_XMG,BTC_BTC,BTC_BTM,BTC_NOBL,BTC_NXT,BTC_DOGE,BTC_CURE,BTC_MNTA,BTC_ADN,BTC_EXP,BTC_VTC,BTC_FLDC,BTC_MRS,BTC_MYR,BTC_OMNI,BTC_VNL,BTC_USDT,BTC_NOTE,BTC_WDC,BTC_BELA,BTC_VIA,BTC_CGA,BTC_DIEM,BTC_IFC,BTC_XDP,BTC_BLOCK,BTC_MMC,BTC_1CR,BTC_UNITY,BTC_XBC,BTC_GEMZ,BTC_FLT,BTC_PPC,BTC_XEM,BTC_RBY,BTC_CNMT,BTC_ABY,XMR_XDN,XMR_IFC,XMR_DIEM,XMR_BBR,XMR_DSH,XMR_BCN,XMR_LTC,XMR_MAID,XMR_DASH,XMR_BTCD,XMR_HYP,XMR_BLK,XMR_QORA,XMR_MNTA,XMR_NXT,USDT_BTC,USDT_ETH,USDT_XRP,USDT_DASH,USDT_LTC,USDT_NXT,USDT_XMR,USDT_STR", + "EnabledPairs": "BTC_LTC,BTC_ETH,BTC_DOGE,BTC_DASH,BTC_XRP", + "BaseCurrencies": "USD" + } + ] +} \ No newline at end of file diff --git a/smsglobal/smsglobal_tests/smsglobal_test.go b/smsglobal/smsglobal_tests/smsglobal_test.go new file mode 100644 index 00000000..413a7544 --- /dev/null +++ b/smsglobal/smsglobal_tests/smsglobal_test.go @@ -0,0 +1,56 @@ +package test + +import ( + "testing" + + "github.com/thrasher-/gocryptotrader/config" + "github.com/thrasher-/gocryptotrader/smsglobal" +) + +func TestGetEnabledSMSContacts(t *testing.T) { + cfg := config.GetConfig() + err := cfg.LoadConfig() + if err != nil { + t.Errorf("Test Failed. GetEnabledSMSContacts: \nFunction return is incorrect with, %s.", err) + } + + numberOfContacts := smsglobal.GetEnabledSMSContacts(cfg.SMS) + if numberOfContacts != 1 { + t.Errorf("Test Failed. GetEnabledSMSContacts: \nFunction return is incorrect with, %d.", numberOfContacts) + } +} + +func TestSMSSendToAll(t *testing.T) { + cfg := config.GetConfig() + err := cfg.LoadConfig() + if err != nil { + t.Errorf("Test Failed. SMSSendToAll: \nFunction return is incorrect with, %s.", err) + } + + smsglobal.SMSSendToAll("Test", *cfg) //+60sec reply issue without account details +} + +func TestSMSGetNumberByName(t *testing.T) { + cfg := config.GetConfig() + err := cfg.LoadConfig() + if err != nil { + t.Errorf("Test Failed. SMSGetNumberByName: \nFunction return is incorrect with, %s.", err) + } + number := smsglobal.SMSGetNumberByName("POLYESTERGIRL", cfg.SMS) + if number == "" { + t.Log("Isssues bra!") + } +} + +func TestSMSNotify(t *testing.T) { + cfg := config.GetConfig() + err := cfg.LoadConfig() + if err != nil { + t.Errorf("Test Failed. SMSNotify: \nFunction return is incorrect with, %s.", err) + } + + err2 := smsglobal.SMSNotify("POLYESTERGIRL", "Test", *cfg) + if err2 == nil { + t.Error("Test Failed. SMSNotify: \nError: ", err2) + } +}