github.com/frankrap/okex-api@v1.0.4/spot_rest_api_test.go (about)

     1  package okex
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func TestGetSpotAccounts(t *testing.T) {
    11  	c := NewTestClient()
    12  	ac, err := c.GetSpotAccounts()
    13  
    14  	fmt.Printf("%+v, %+v", ac, err)
    15  
    16  	assert.True(t, err == nil)
    17  	jstr, _ := Struct2JsonString(ac)
    18  	println(jstr)
    19  }
    20  
    21  func TestGetSpotAccountsCurrency(t *testing.T) {
    22  	c := NewTestClient()
    23  	ac, err := c.GetSpotAccountsCurrency("BTC")
    24  	assert.True(t, err == nil)
    25  	jstr, _ := Struct2JsonString(ac)
    26  	println(jstr)
    27  }
    28  
    29  func TestGetSpotAccountsCurrencyLeger(t *testing.T) {
    30  	c := NewTestClient()
    31  	ac, err := c.GetSpotAccountsCurrencyLeger("btc", nil)
    32  	assert.True(t, err == nil)
    33  	jstr, _ := Struct2JsonString(ac)
    34  	println(jstr)
    35  
    36  	options := map[string]string{}
    37  	options["from"] = "1"
    38  	options["to"] = "2"
    39  	options["limit"] = "100"
    40  
    41  	ac2, err2 := c.GetSpotAccountsCurrencyLeger("btc", &options)
    42  	assert.True(t, ac2 != nil && err2 == nil)
    43  }
    44  
    45  func TestGetSpotOrders(t *testing.T) {
    46  	c := NewTestClient()
    47  	ac, err := c.GetSpotOrders("filled", "BTC-USDT", nil)
    48  	assert.True(t, err == nil)
    49  	jstr, _ := Struct2JsonString(ac)
    50  	println(jstr)
    51  
    52  	// Fore. 20190305. TODO: {"message":"System error"} returned by following request.
    53  	// Url: http://coinmainweb.new.docker.okex.com/api/spot/v3/fills?instrument_id=BTC-USDT&order_id=2365709152770048
    54  	filledOrderId := (*ac)[0]["order_id"].(string)
    55  	sf, err := c.GetSpotFills(filledOrderId, "BTC-USDT", nil)
    56  	assert.True(t, sf != nil && err == nil)
    57  }
    58  
    59  func TestGetSpotOrdersPending(t *testing.T) {
    60  	c := NewTestClient()
    61  	ac, err := c.GetSpotOrdersPending(nil)
    62  	assert.True(t, err == nil)
    63  	jstr, _ := Struct2JsonString(ac)
    64  	println(jstr)
    65  
    66  	options := NewParams()
    67  	options["instrument_id"] = "BTC-USDT"
    68  	ac, err = c.GetSpotOrdersPending(&options)
    69  	assert.True(t, err == nil)
    70  	jstr, _ = Struct2JsonString(ac)
    71  	println(jstr)
    72  
    73  	testOrderId := (*ac)[0]["order_id"]
    74  	_, err = c.GetSpotOrdersById("BTC-USDT", testOrderId.(string))
    75  	assert.True(t, err == nil)
    76  }
    77  
    78  func TestGetSpotInstruments(t *testing.T) {
    79  	c := NewTestClient()
    80  	ac, err := c.GetSpotInstruments()
    81  	assert.True(t, err == nil)
    82  	jstr, _ := Struct2JsonString(ac)
    83  	println(jstr)
    84  }
    85  
    86  func TestGetSpotInstrumentBook(t *testing.T) {
    87  	c := NewTestClient()
    88  	ac, err := c.GetSpotInstrumentBook("LTC-USDT", nil)
    89  	assert.True(t, err == nil)
    90  	jstr, _ := Struct2JsonString(ac)
    91  	println(jstr)
    92  }
    93  
    94  func TestGetSpotInstrumentsTicker(t *testing.T) {
    95  	c := NewTestClient()
    96  	ac, err := c.GetSpotInstrumentsTicker()
    97  	assert.True(t, err == nil)
    98  	jstr, _ := Struct2JsonString(ac)
    99  	println(jstr)
   100  }
   101  
   102  func TestGetSpotInstrumentTicker(t *testing.T) {
   103  	c := NewTestClient()
   104  	ac, err := c.GetSpotInstrumentTicker("LTC-USDT")
   105  	assert.True(t, err == nil)
   106  	jstr, _ := Struct2JsonString(ac)
   107  	println(jstr)
   108  }
   109  
   110  func TestGetSpotInstrumentTrade(t *testing.T) {
   111  	c := NewTestClient()
   112  	_, ac, err := c.GetSpotInstrumentTrade("BTC-USDT", nil)
   113  	assert.True(t, err == nil)
   114  	jstr, _ := Struct2JsonString(ac)
   115  	println(jstr)
   116  
   117  	options := map[string]string{}
   118  	options["from"] = "1"
   119  	options["to"] = "2"
   120  	options["limit"] = "100"
   121  
   122  	_, ac2, err := c.GetSpotInstrumentTrade("BTC-USDT", &options)
   123  	assert.True(t, err == nil)
   124  	jstr, _ = Struct2JsonString(ac2)
   125  	println(jstr)
   126  }
   127  
   128  func TestGetSpotInstrumentCandles(t *testing.T) {
   129  	c := NewTestClient()
   130  	_, ac, err := c.GetSpotInstrumentCandles("BTC-USDT", nil)
   131  	assert.True(t, err == nil)
   132  	jstr, _ := Struct2JsonString(ac)
   133  	println(jstr)
   134  }
   135  
   136  func TestPostSpotOrders(t *testing.T) {
   137  	c := NewTestClient()
   138  
   139  	optionals := NewParams()
   140  	optionals["type"] = "limit"
   141  	optionals["price"] = "100"
   142  	optionals["size"] = "0.01"
   143  
   144  	_, r0, err := c.PostSpotOrders("sell", "btc-usdt", &optionals)
   145  	assert.True(t, err == nil)
   146  	jstr, _ := Struct2JsonString(r0)
   147  	println(jstr)
   148  
   149  	orderId := r0.OrderID
   150  	_, r, err := c.PostSpotCancelOrders("btc-usdt", orderId)
   151  	assert.True(t, r != nil && err == nil)
   152  	jstr, _ = Struct2JsonString(r)
   153  	println(jstr)
   154  
   155  }
   156  
   157  func TestClient_PostSpotBatchOrders(t *testing.T) {
   158  	c := NewTestClient()
   159  
   160  	orderInfos := []map[string]string{
   161  		map[string]string{"client_oid": "w20180728w", "instrument_id": "btc-usdt", "side": "sell", "type": "limit", "size": "0.001", "price": "10001", "margin_trading ": "1"},
   162  		map[string]string{"client_oid": "r20180728r", "instrument_id": "btc-usdt", "side": "sell", "type": "limit", " size ": "0.001", "notional": "10002", "margin_trading ": "1"},
   163  	}
   164  
   165  	_, r, err := c.PostSpotBatchOrders(&orderInfos)
   166  	assert.True(t, r != nil && err == nil)
   167  	jstr, _ := Struct2JsonString(r)
   168  	println(jstr)
   169  }
   170  
   171  func TestClient_PostSpotCancelBatchOrders(t *testing.T) {
   172  	c := NewTestClient()
   173  
   174  	orderInfos := []map[string]interface{}{
   175  		map[string]interface{}{"instrument_id": "btc-usdt", "client_oid": "16ee593327162368"},
   176  		map[string]interface{}{"instrument_id": "ltc-usdt", "client_oid": "243464oo234465"},
   177  	}
   178  
   179  	_, r, err := c.PostSpotCancelBatchOrders(&orderInfos)
   180  	assert.True(t, r != nil && err == nil)
   181  	jstr, _ := Struct2JsonString(r)
   182  	println(jstr)
   183  }