add
This commit is contained in:
93
ccxt/test/base/test_handle_methods.py
Normal file
93
ccxt/test/base/test_handle_methods.py
Normal file
@@ -0,0 +1,93 @@
|
||||
import os
|
||||
import sys
|
||||
|
||||
root = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
|
||||
sys.path.append(root)
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
||||
# https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import ccxt # noqa: F402
|
||||
|
||||
def helper_test_handle_market_type_and_params():
|
||||
exchange = ccxt.Exchange({
|
||||
'id': 'sampleexchange',
|
||||
'options': {
|
||||
'defaultType': 'valueFromOptions',
|
||||
'fetchX': {
|
||||
'defaultType': 'valueFromMethodOptions',
|
||||
},
|
||||
},
|
||||
})
|
||||
initial_params = {
|
||||
'defaultType': 'valueFromParam',
|
||||
}
|
||||
market = exchange.safe_market('TEST1/TEST2')
|
||||
market['type'] = 'spot'
|
||||
#
|
||||
# ########### test different variations ###########
|
||||
#
|
||||
# case #1, should prevail: param
|
||||
#
|
||||
[market_type_1, params1] = exchange.handle_market_type_and_params('fetchX', market, initial_params, 'valueDefault')
|
||||
assert 'defaultType' in initial_params
|
||||
assert not ('defaultType' in params1)
|
||||
assert market_type_1 == 'valueFromParam'
|
||||
#
|
||||
# case #2, should prevail: market.type
|
||||
#
|
||||
[market_type_2, params2] = exchange.handle_market_type_and_params('fetchX', market, {}, 'valueDefault')
|
||||
assert market_type_2 == 'spot'
|
||||
#
|
||||
# case #3, should prevail: valueDefault
|
||||
#
|
||||
[market_type_3, params3] = exchange.handle_market_type_and_params('fetchX', None, {}, 'valueDefault')
|
||||
assert market_type_3 == 'valueDefault'
|
||||
#
|
||||
# case #4, should prevail: method options
|
||||
#
|
||||
[market_type_4, params4] = exchange.handle_market_type_and_params('fetchX', None, {})
|
||||
assert market_type_4 == 'valueFromMethodOptions'
|
||||
#
|
||||
# case #5, should prevail: options
|
||||
#
|
||||
[market_type_5, params5] = exchange.handle_market_type_and_params('fetchY', None, {}, None)
|
||||
assert market_type_5 == 'valueFromOptions'
|
||||
#
|
||||
# case #6, should prevail: spot (because hardcoded in base)
|
||||
#
|
||||
exchange.options['defaultType'] = None
|
||||
[market_type_6, params6] = exchange.handle_market_type_and_params('fetchY', None, {}, None)
|
||||
assert market_type_6 == 'spot'
|
||||
# fake assertion to avoid unused vars
|
||||
assert params1 is not None or params2 is not None or params3 is not None or params4 is not None or params5 is not None or params6 is not None
|
||||
|
||||
|
||||
def helper_test_handle_network_request():
|
||||
exchange = ccxt.Exchange({
|
||||
'id': 'sampleexchange',
|
||||
'options': {
|
||||
'networks': {
|
||||
'XYZ': 'Xyz',
|
||||
},
|
||||
},
|
||||
})
|
||||
exchange.currencies = exchange.create_safe_dictionary() # todo: initialize in C# base files
|
||||
currency_code = 'ETH' # todo: in future with complex cases
|
||||
# no-case
|
||||
[request1, params1] = exchange.handle_request_network({
|
||||
'network': 'XYZ',
|
||||
}, {}, 'chain_id', currency_code, False)
|
||||
assert not ('network' in params1)
|
||||
assert 'chain_id' in request1
|
||||
assert request1['chain_id'] == 'Xyz'
|
||||
|
||||
|
||||
def test_handle_methods():
|
||||
helper_test_handle_market_type_and_params()
|
||||
helper_test_handle_network_request()
|
||||
Reference in New Issue
Block a user