Fixed issue with okex (#164)

This commit is contained in:
Ryan O'Hara-Reid
2018-08-03 16:10:47 +10:00
committed by Adrian Gallagher
parent e3c98b9078
commit ecac1e124c
2 changed files with 14 additions and 15 deletions

View File

@@ -426,13 +426,12 @@ func (o *OKEX) GetContractCandlestickData(symbol, typeInput, contractType string
}
// GetContractHoldingsNumber returns current number of holdings
func (o *OKEX) GetContractHoldingsNumber(symbol, contractType string) (map[string]float64, error) {
holdingsNumber := make(map[string]float64)
if err := o.CheckSymbol(symbol); err != nil {
return holdingsNumber, err
func (o *OKEX) GetContractHoldingsNumber(symbol, contractType string) (number float64, contract string, err error) {
if err = o.CheckSymbol(symbol); err != nil {
return number, contract, err
}
if err := o.CheckContractType(contractType); err != nil {
return holdingsNumber, err
if err = o.CheckContractType(contractType); err != nil {
return number, contract, err
}
values := url.Values{}
@@ -442,23 +441,23 @@ func (o *OKEX) GetContractHoldingsNumber(symbol, contractType string) (map[strin
path := fmt.Sprintf("%s%s%s.do?%s", apiURL, apiVersion, contractFutureHoldAmount, values.Encode())
var resp interface{}
if err := o.SendHTTPRequest(path, &resp); err != nil {
return holdingsNumber, err
if err = o.SendHTTPRequest(path, &resp); err != nil {
return number, contract, err
}
if reflect.TypeOf(resp).String() == returnTypeOne {
errorMap := resp.(map[string]interface{})
return holdingsNumber, o.GetErrorCode(errorMap["error_code"].(float64))
return number, contract, o.GetErrorCode(errorMap["error_code"].(float64))
}
for _, holdings := range resp.([]interface{}) {
if reflect.TypeOf(holdings).String() == returnTypeOne {
holdingMap := holdings.(map[string]interface{})
holdingsNumber["amount"] = holdingMap["amount"].(float64)
holdingsNumber["contract_name"] = holdingMap["amount"].(float64)
number = holdingMap["amount"].(float64)
contract = holdingMap["contract_name"].(string)
}
}
return holdingsNumber, nil
return
}
// GetContractlimit returns upper and lower price limit

View File

@@ -126,15 +126,15 @@ func TestGetContractCandlestickData(t *testing.T) {
func TestGetContractHoldingsNumber(t *testing.T) {
t.Parallel()
_, err := o.GetContractHoldingsNumber("btc_usd", "this_week")
_, _, err := o.GetContractHoldingsNumber("btc_usd", "this_week")
if err != nil {
t.Error("Test failed - okex GetContractHoldingsNumber() error", err)
}
_, err = o.GetContractHoldingsNumber("btc_bla", "this_week")
_, _, err = o.GetContractHoldingsNumber("btc_bla", "this_week")
if err == nil {
t.Error("Test failed - okex GetContractHoldingsNumber() error", err)
}
_, err = o.GetContractHoldingsNumber("btc_usd", "this_bla")
_, _, err = o.GetContractHoldingsNumber("btc_usd", "this_bla")
if err == nil {
t.Error("Test failed - okex GetContractHoldingsNumber() error", err)
}