Fixed failing test_handle_protections

This commit is contained in:
Sam Germain 2021-10-02 03:58:02 -06:00
parent b3656ddfc9
commit 87ff65d31e
2 changed files with 6 additions and 7 deletions

View File

@ -947,7 +947,7 @@ class FreqtradeBot(LoggingMixin):
# if trailing stoploss is enabled we check if stoploss value has changed # if trailing stoploss is enabled we check if stoploss value has changed
# in which case we cancel stoploss order and put another one with new # in which case we cancel stoploss order and put another one with new
# value immediately # value immediately
self.handle_trailing_stoploss_on_exchange(trade, stoploss_order, side=trade.exit_side) self.handle_trailing_stoploss_on_exchange(trade, stoploss_order)
return False return False

View File

@ -446,7 +446,8 @@ def test_enter_positions_global_pairlock(default_conf, ticker, limit_buy_order,
assert log_has_re(message, caplog) assert log_has_re(message, caplog)
def test_handle_protections(mocker, default_conf, fee): @pytest.mark.parametrize('is_short', [False, True])
def test_handle_protections(mocker, default_conf, fee, is_short):
default_conf['protections'] = [ default_conf['protections'] = [
{"method": "CooldownPeriod", "stop_duration": 60}, {"method": "CooldownPeriod", "stop_duration": 60},
{ {
@ -461,7 +462,7 @@ def test_handle_protections(mocker, default_conf, fee):
freqtrade = get_patched_freqtradebot(mocker, default_conf) freqtrade = get_patched_freqtradebot(mocker, default_conf)
freqtrade.protections._protection_handlers[1].global_stop = MagicMock( freqtrade.protections._protection_handlers[1].global_stop = MagicMock(
return_value=(True, arrow.utcnow().shift(hours=1).datetime, "asdf")) return_value=(True, arrow.utcnow().shift(hours=1).datetime, "asdf"))
create_mock_trades(fee) create_mock_trades(fee, is_short)
freqtrade.handle_protections('ETC/BTC') freqtrade.handle_protections('ETC/BTC')
send_msg_mock = freqtrade.rpc.send_msg send_msg_mock = freqtrade.rpc.send_msg
assert send_msg_mock.call_count == 2 assert send_msg_mock.call_count == 2
@ -1420,8 +1421,7 @@ def test_handle_stoploss_on_exchange_trailing_error(mocker, default_conf, fee, c
return_value=stoploss_order_hanging) return_value=stoploss_order_hanging)
freqtrade.handle_trailing_stoploss_on_exchange( freqtrade.handle_trailing_stoploss_on_exchange(
trade, trade,
stoploss_order_hanging, stoploss_order_hanging
side=("buy" if is_short else "sell")
) )
assert log_has_re(r"Could not cancel stoploss order abcd for pair ETH/BTC.*", caplog) assert log_has_re(r"Could not cancel stoploss order abcd for pair ETH/BTC.*", caplog)
@ -1432,8 +1432,7 @@ def test_handle_stoploss_on_exchange_trailing_error(mocker, default_conf, fee, c
caplog.clear() caplog.clear()
cancel_mock = mocker.patch("freqtrade.exchange.Binance.cancel_stoploss_order", MagicMock()) cancel_mock = mocker.patch("freqtrade.exchange.Binance.cancel_stoploss_order", MagicMock())
mocker.patch("freqtrade.exchange.Binance.stoploss", side_effect=ExchangeError()) mocker.patch("freqtrade.exchange.Binance.stoploss", side_effect=ExchangeError())
freqtrade.handle_trailing_stoploss_on_exchange( freqtrade.handle_trailing_stoploss_on_exchange(trade, stoploss_order_hanging)
trade, stoploss_order_hanging, side=("buy" if is_short else "sell"))
assert cancel_mock.call_count == 1 assert cancel_mock.call_count == 1
assert log_has_re(r"Could not create trailing stoploss order for pair ETH/BTC\..*", caplog) assert log_has_re(r"Could not create trailing stoploss order for pair ETH/BTC\..*", caplog)