cancel_order: handle InvalidOrder exception
This commit is contained in:
parent
baeeaa777d
commit
aa213a3640
@ -289,6 +289,10 @@ def cancel_order(order_id: str, pair: str) -> None:
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
return _API.cancel_order(order_id, pair)
|
return _API.cancel_order(order_id, pair)
|
||||||
|
except ccxt.InvalidOrder as e:
|
||||||
|
raise DependencyException(
|
||||||
|
'Could not cancel order. Message: {}'.format(e)
|
||||||
|
)
|
||||||
except (ccxt.NetworkError, ccxt.ExchangeError) as e:
|
except (ccxt.NetworkError, ccxt.ExchangeError) as e:
|
||||||
raise TemporaryError(
|
raise TemporaryError(
|
||||||
'Could not cancel order due to {}. Message: {}'.format(
|
'Could not cancel order due to {}. Message: {}'.format(
|
||||||
|
@ -262,7 +262,7 @@ def test_get_balances_prod(default_conf, mocker):
|
|||||||
assert get_balances()['1ST']['total'] == 10.0
|
assert get_balances()['1ST']['total'] == 10.0
|
||||||
assert get_balances()['1ST']['used'] == 0.0
|
assert get_balances()['1ST']['used'] == 0.0
|
||||||
|
|
||||||
with pytest.raises(OperationalException):
|
with pytest.raises(TemporaryError):
|
||||||
api_mock.fetch_balance = MagicMock(side_effect=ccxt.NetworkError)
|
api_mock.fetch_balance = MagicMock(side_effect=ccxt.NetworkError)
|
||||||
mocker.patch('freqtrade.exchange._API', api_mock)
|
mocker.patch('freqtrade.exchange._API', api_mock)
|
||||||
get_balances()
|
get_balances()
|
||||||
@ -312,7 +312,7 @@ def test_get_ticker(default_conf, mocker):
|
|||||||
assert ticker['bid'] == 0.5
|
assert ticker['bid'] == 0.5
|
||||||
assert ticker['ask'] == 1
|
assert ticker['ask'] == 1
|
||||||
|
|
||||||
with pytest.raises(OperationalException): # test retrier
|
with pytest.raises(TemporaryError): # test retrier
|
||||||
api_mock.fetch_ticker = MagicMock(side_effect=ccxt.NetworkError)
|
api_mock.fetch_ticker = MagicMock(side_effect=ccxt.NetworkError)
|
||||||
mocker.patch('freqtrade.exchange._API', api_mock)
|
mocker.patch('freqtrade.exchange._API', api_mock)
|
||||||
get_ticker(pair='ETH/BTC', refresh=True)
|
get_ticker(pair='ETH/BTC', refresh=True)
|
||||||
@ -370,7 +370,7 @@ def test_get_ticker_history(default_conf, mocker):
|
|||||||
assert ticks[0][4] == 9
|
assert ticks[0][4] == 9
|
||||||
assert ticks[0][5] == 10
|
assert ticks[0][5] == 10
|
||||||
|
|
||||||
with pytest.raises(OperationalException): # test retrier
|
with pytest.raises(TemporaryError): # test retrier
|
||||||
api_mock.fetch_ohlcv = MagicMock(side_effect=ccxt.NetworkError)
|
api_mock.fetch_ohlcv = MagicMock(side_effect=ccxt.NetworkError)
|
||||||
mocker.patch('freqtrade.exchange._API', api_mock)
|
mocker.patch('freqtrade.exchange._API', api_mock)
|
||||||
# new symbol to get around cache
|
# new symbol to get around cache
|
||||||
@ -399,13 +399,13 @@ def test_cancel_order(default_conf, mocker):
|
|||||||
mocker.patch('freqtrade.exchange._API', api_mock)
|
mocker.patch('freqtrade.exchange._API', api_mock)
|
||||||
assert cancel_order(order_id='_', pair='TKN/BTC') == 123
|
assert cancel_order(order_id='_', pair='TKN/BTC') == 123
|
||||||
|
|
||||||
with pytest.raises(OperationalException):
|
with pytest.raises(TemporaryError):
|
||||||
api_mock.cancel_order = MagicMock(side_effect=ccxt.NetworkError)
|
api_mock.cancel_order = MagicMock(side_effect=ccxt.NetworkError)
|
||||||
mocker.patch('freqtrade.exchange._API', api_mock)
|
mocker.patch('freqtrade.exchange._API', api_mock)
|
||||||
cancel_order(order_id='_', pair='TKN/BTC')
|
cancel_order(order_id='_', pair='TKN/BTC')
|
||||||
assert api_mock.cancel_order.call_count == exchange.API_RETRY_COUNT + 1
|
assert api_mock.cancel_order.call_count == exchange.API_RETRY_COUNT + 1
|
||||||
|
|
||||||
with pytest.raises(OperationalException):
|
with pytest.raises(DependencyException):
|
||||||
api_mock.cancel_order = MagicMock(side_effect=ccxt.InvalidOrder)
|
api_mock.cancel_order = MagicMock(side_effect=ccxt.InvalidOrder)
|
||||||
mocker.patch('freqtrade.exchange._API', api_mock)
|
mocker.patch('freqtrade.exchange._API', api_mock)
|
||||||
cancel_order(order_id='_', pair='TKN/BTC')
|
cancel_order(order_id='_', pair='TKN/BTC')
|
||||||
@ -434,13 +434,13 @@ def test_get_order(default_conf, mocker):
|
|||||||
mocker.patch('freqtrade.exchange._API', api_mock)
|
mocker.patch('freqtrade.exchange._API', api_mock)
|
||||||
assert exchange.get_order('X', 'TKN/BTC') == 456
|
assert exchange.get_order('X', 'TKN/BTC') == 456
|
||||||
|
|
||||||
with pytest.raises(OperationalException):
|
with pytest.raises(TemporaryError):
|
||||||
api_mock.fetch_order = MagicMock(side_effect=ccxt.NetworkError)
|
api_mock.fetch_order = MagicMock(side_effect=ccxt.NetworkError)
|
||||||
mocker.patch('freqtrade.exchange._API', api_mock)
|
mocker.patch('freqtrade.exchange._API', api_mock)
|
||||||
exchange.get_order(order_id='_', pair='TKN/BTC')
|
exchange.get_order(order_id='_', pair='TKN/BTC')
|
||||||
assert api_mock.fetch_order.call_count == exchange.API_RETRY_COUNT + 1
|
assert api_mock.fetch_order.call_count == exchange.API_RETRY_COUNT + 1
|
||||||
|
|
||||||
with pytest.raises(OperationalException):
|
with pytest.raises(DependencyException):
|
||||||
api_mock.fetch_order = MagicMock(side_effect=ccxt.InvalidOrder)
|
api_mock.fetch_order = MagicMock(side_effect=ccxt.InvalidOrder)
|
||||||
mocker.patch('freqtrade.exchange._API', api_mock)
|
mocker.patch('freqtrade.exchange._API', api_mock)
|
||||||
exchange.get_order(order_id='_', pair='TKN/BTC')
|
exchange.get_order(order_id='_', pair='TKN/BTC')
|
||||||
|
Loading…
Reference in New Issue
Block a user