Fix remaining tests using log_has

This commit is contained in:
Matthias
2019-08-11 20:17:39 +02:00
parent dc5719e1f4
commit a636dda07d
6 changed files with 114 additions and 152 deletions

View File

@@ -63,7 +63,7 @@ def test_cleanup(mocker, default_conf, caplog) -> None:
mocker.patch('freqtrade.persistence.cleanup', mock_cleanup)
freqtrade = get_patched_freqtradebot(mocker, default_conf)
freqtrade.cleanup()
assert log_has('Cleaning up modules ...', caplog.record_tuples)
assert log_has('Cleaning up modules ...', caplog)
assert mock_cleanup.call_count == 1
@@ -76,7 +76,7 @@ def test_worker_running(mocker, default_conf, caplog) -> None:
state = worker._worker(old_state=None)
assert state is State.RUNNING
assert log_has('Changing state to: RUNNING', caplog.record_tuples)
assert log_has('Changing state to: RUNNING', caplog)
assert mock_throttle.call_count == 1
# Check strategy is loaded, and received a dataprovider object
assert worker.freqtrade.strategy
@@ -93,7 +93,7 @@ def test_worker_stopped(mocker, default_conf, caplog) -> None:
worker.state = State.STOPPED
state = worker._worker(old_state=State.RUNNING)
assert state is State.STOPPED
assert log_has('Changing state to: STOPPED', caplog.record_tuples)
assert log_has('Changing state to: STOPPED', caplog)
assert mock_throttle.call_count == 0
assert mock_sleep.call_count == 1
@@ -111,7 +111,7 @@ def test_throttle(mocker, default_conf, caplog) -> None:
assert result == 42
assert end - start > 0.1
assert log_has('Throttling throttled_func for 0.10 seconds', caplog.record_tuples)
assert log_has('Throttling throttled_func for 0.10 seconds', caplog)
result = worker._throttle(throttled_func, min_secs=-1)
assert result == 42
@@ -262,7 +262,7 @@ def test_edge_overrides_stoploss(limit_buy_order, fee, markets, caplog, mocker,
# stoploss shoud be hit
assert freqtrade.handle_trade(trade) is True
assert log_has('executed sell, reason: SellType.STOP_LOSS', caplog.record_tuples)
assert log_has('executed sell, reason: SellType.STOP_LOSS', caplog)
assert trade.sell_reason == SellType.STOP_LOSS.value
@@ -582,8 +582,7 @@ def test_create_trade_no_pairs_let(default_conf, ticker, limit_buy_order, fee,
assert freqtrade.create_trade()
assert not freqtrade.create_trade()
assert log_has("No currency pair in whitelist, but checking to sell open trades.",
caplog.record_tuples)
assert log_has("No currency pair in whitelist, but checking to sell open trades.", caplog)
def test_create_trade_no_pairs_in_whitelist(default_conf, ticker, limit_buy_order, fee,
@@ -602,7 +601,7 @@ def test_create_trade_no_pairs_in_whitelist(default_conf, ticker, limit_buy_orde
patch_get_signal(freqtrade)
assert not freqtrade.create_trade()
assert log_has("Whitelist is empty.", caplog.record_tuples)
assert log_has("Whitelist is empty.", caplog)
def test_create_trade_no_signal(default_conf, fee, mocker) -> None:
@@ -657,8 +656,7 @@ def test_process_trade_creation(default_conf, ticker, limit_buy_order,
assert trade.amount == 90.99181073703367
assert log_has(
'Buy signal found: about create a new trade with stake_amount: 0.001 ...',
caplog.record_tuples
'Buy signal found: about create a new trade with stake_amount: 0.001 ...', caplog
)
@@ -1025,7 +1023,7 @@ def test_handle_stoploss_on_exchange(mocker, default_conf, fee, caplog,
})
mocker.patch('freqtrade.exchange.Exchange.get_order', stoploss_order_hit)
assert freqtrade.handle_stoploss_on_exchange(trade) is True
assert log_has('STOP_LOSS_LIMIT is hit for {}.'.format(trade), caplog.record_tuples)
assert log_has('STOP_LOSS_LIMIT is hit for {}.'.format(trade), caplog)
assert trade.stoploss_order_id is None
assert trade.is_open is False
@@ -1034,7 +1032,7 @@ def test_handle_stoploss_on_exchange(mocker, default_conf, fee, caplog,
side_effect=DependencyException()
)
freqtrade.handle_stoploss_on_exchange(trade)
assert log_has('Unable to place a stoploss order on exchange: ', caplog.record_tuples)
assert log_has('Unable to place a stoploss order on exchange: ', caplog)
# Fifth case: get_order returns InvalidOrder
# It should try to add stoploss order
@@ -1196,8 +1194,7 @@ def test_handle_stoploss_on_exchange_trailing_error(mocker, default_conf, fee, c
mocker.patch('freqtrade.exchange.Exchange.cancel_order', side_effect=InvalidOrderException())
mocker.patch('freqtrade.exchange.Exchange.get_order', stoploss_order_hanging)
freqtrade.handle_trailing_stoploss_on_exchange(trade, stoploss_order_hanging)
assert log_has_re(r"Could not cancel stoploss order abcd for pair ETH/BTC.*",
caplog.record_tuples)
assert log_has_re(r"Could not cancel stoploss order abcd for pair ETH/BTC.*", caplog)
# Still try to create order
assert stoploss_limit.call_count == 1
@@ -1208,8 +1205,7 @@ def test_handle_stoploss_on_exchange_trailing_error(mocker, default_conf, fee, c
mocker.patch("freqtrade.exchange.Exchange.stoploss_limit", side_effect=DependencyException())
freqtrade.handle_trailing_stoploss_on_exchange(trade, stoploss_order_hanging)
assert cancel_mock.call_count == 1
assert log_has_re(r"Could create trailing stoploss order for pair ETH/BTC\..*",
caplog.record_tuples)
assert log_has_re(r"Could create trailing stoploss order for pair ETH/BTC\..*", caplog)
def test_tsl_on_exchange_compatible_with_edge(mocker, edge_conf, fee, caplog,
@@ -1340,7 +1336,7 @@ def test_process_maybe_execute_buy_exception(mocker, default_conf, caplog) -> No
MagicMock(side_effect=DependencyException)
)
freqtrade.process_maybe_execute_buy()
log_has('Unable to create trade:', caplog.record_tuples)
assert log_has('Unable to create trade: ', caplog)
def test_process_maybe_execute_sell(mocker, default_conf, limit_buy_order, caplog) -> None:
@@ -1358,8 +1354,7 @@ def test_process_maybe_execute_sell(mocker, default_conf, limit_buy_order, caplo
assert not freqtrade.process_maybe_execute_sell(trade)
# Test amount not modified by fee-logic
assert not log_has(
'Applying fee to amount for Trade {} from 90.99181073 to 90.81'.format(trade),
caplog.record_tuples
'Applying fee to amount for Trade {} from 90.99181073 to 90.81'.format(trade), caplog
)
mocker.patch('freqtrade.freqtradebot.FreqtradeBot.get_real_amount', return_value=90.81)
@@ -1382,7 +1377,7 @@ def test_process_maybe_execute_sell_exception(mocker, default_conf,
side_effect=DependencyException()
)
freqtrade.process_maybe_execute_sell(trade)
assert log_has('Unable to sell trade: ', caplog.record_tuples)
assert log_has('Unable to sell trade: ', caplog)
def test_update_trade_state(mocker, default_conf, limit_buy_order, caplog) -> None:
@@ -1401,7 +1396,7 @@ def test_update_trade_state(mocker, default_conf, limit_buy_order, caplog) -> No
trade.open_fee = 0.001
freqtrade.update_trade_state(trade)
# Test amount not modified by fee-logic
assert not log_has_re(r'Applying fee to .*', caplog.record_tuples)
assert not log_has_re(r'Applying fee to .*', caplog)
assert trade.open_order_id is None
assert trade.amount == limit_buy_order['amount']
@@ -1418,7 +1413,7 @@ def test_update_trade_state(mocker, default_conf, limit_buy_order, caplog) -> No
# Assert we call handle_trade() if trade is feasible for execution
freqtrade.update_trade_state(trade)
assert log_has_re('Found open order for.*', caplog.record_tuples)
assert log_has_re('Found open order for.*', caplog)
def test_update_trade_state_withorderdict(default_conf, trades_for_order, limit_buy_order, mocker):
@@ -1457,7 +1452,7 @@ def test_update_trade_state_exception(mocker, default_conf,
side_effect=OperationalException()
)
freqtrade.update_trade_state(trade)
assert log_has('Could not update trade amount: ', caplog.record_tuples)
assert log_has('Could not update trade amount: ', caplog)
def test_update_trade_state_orderexception(mocker, default_conf, caplog) -> None:
@@ -1473,7 +1468,7 @@ def test_update_trade_state_orderexception(mocker, default_conf, caplog) -> None
grm_mock = mocker.patch("freqtrade.freqtradebot.FreqtradeBot.get_real_amount", MagicMock())
freqtrade.update_trade_state(trade)
assert grm_mock.call_count == 0
assert log_has(f'Unable to fetch order {trade.open_order_id}: ', caplog.record_tuples)
assert log_has(f'Unable to fetch order {trade.open_order_id}: ', caplog)
def test_update_trade_state_sell(default_conf, trades_for_order, limit_sell_order, mocker):
@@ -1632,7 +1627,7 @@ def test_handle_trade_roi(default_conf, ticker, limit_buy_order,
# if ROI is reached we must sell
patch_get_signal(freqtrade, value=(False, True))
assert freqtrade.handle_trade(trade)
assert log_has('Required profit reached. Selling..', caplog.record_tuples)
assert log_has('Required profit reached. Selling..', caplog)
def test_handle_trade_experimental(
@@ -1662,7 +1657,7 @@ def test_handle_trade_experimental(
patch_get_signal(freqtrade, value=(False, True))
assert freqtrade.handle_trade(trade)
assert log_has('Sell signal received. Selling..', caplog.record_tuples)
assert log_has('Sell signal received. Selling..', caplog)
def test_close_trade(default_conf, ticker, limit_buy_order, limit_sell_order,
@@ -1768,7 +1763,7 @@ def test_check_handle_cancelled_buy(default_conf, ticker, limit_buy_order_old,
trades = Trade.query.filter(Trade.open_order_id.is_(trade_buy.open_order_id)).all()
nb_trades = len(trades)
assert nb_trades == 0
assert log_has_re("Buy order canceled on Exchange for Trade.*", caplog.record_tuples)
assert log_has_re("Buy order canceled on Exchange for Trade.*", caplog)
def test_check_handle_timedout_buy_exception(default_conf, ticker, limit_buy_order_old,
@@ -1881,7 +1876,7 @@ def test_check_handle_cancelled_sell(default_conf, ticker, limit_sell_order_old,
assert cancel_order_mock.call_count == 0
assert rpc_mock.call_count == 1
assert trade_sell.is_open is True
assert log_has_re("Sell order canceled on exchange for Trade.*", caplog.record_tuples)
assert log_has_re("Sell order canceled on exchange for Trade.*", caplog)
def test_check_handle_timedout_partial(default_conf, ticker, limit_buy_order_old_partial,
@@ -1959,7 +1954,7 @@ def test_check_handle_timedout_exception(default_conf, ticker, mocker, caplog) -
freqtrade.check_handle_timedout()
assert log_has_re(r'Cannot query order for Trade\(id=1, pair=ETH/BTC, amount=90.99181073, '
r'open_rate=0.00001099, open_since=10 hours ago\) due to Traceback \(most '
r'recent call last\):\n.*', caplog.record_tuples)
r'recent call last\):\n.*', caplog)
def test_handle_timedout_limit_buy(mocker, default_conf) -> None:
@@ -2183,7 +2178,7 @@ def test_execute_sell_sloe_cancel_exception(mocker, default_conf, ticker, fee,
freqtrade.execute_sell(trade=trade, limit=1234,
sell_reason=SellType.STOP_LOSS)
assert sellmock.call_count == 1
assert log_has('Could not cancel stoploss order abcd', caplog.record_tuples)
assert log_has('Could not cancel stoploss order abcd', caplog)
def test_execute_sell_with_stoploss_on_exchange(default_conf,
@@ -2609,7 +2604,7 @@ def test_trailing_stop_loss(default_conf, limit_buy_order, fee, markets, caplog,
assert freqtrade.handle_trade(trade) is True
assert log_has(
f'HIT STOP: current price at 0.000012, stop loss is 0.000015, '
f'initial stop loss was at 0.000010, trade opened at 0.000011', caplog.record_tuples)
f'initial stop loss was at 0.000010, trade opened at 0.000011', caplog)
assert trade.sell_reason == SellType.TRAILING_STOP_LOSS.value
@@ -2651,9 +2646,8 @@ def test_trailing_stop_loss_positive(default_conf, limit_buy_order, fee, markets
}))
# stop-loss not reached, adjusted stoploss
assert freqtrade.handle_trade(trade) is False
assert log_has(f'using positive stop loss: 0.01 offset: 0 profit: 0.2666%',
caplog.record_tuples)
assert log_has(f'adjusted stop loss', caplog.record_tuples)
assert log_has(f'using positive stop loss: 0.01 offset: 0 profit: 0.2666%', caplog)
assert log_has(f'adjusted stop loss', caplog)
assert trade.stop_loss == 0.0000138501
mocker.patch('freqtrade.exchange.Exchange.get_ticker',
@@ -2667,7 +2661,7 @@ def test_trailing_stop_loss_positive(default_conf, limit_buy_order, fee, markets
assert log_has(
f'HIT STOP: current price at {buy_price + 0.000002:.6f}, '
f'stop loss is {trade.stop_loss:.6f}, '
f'initial stop loss was at 0.000010, trade opened at 0.000011', caplog.record_tuples)
f'initial stop loss was at 0.000010, trade opened at 0.000011', caplog)
def test_trailing_stop_loss_offset(default_conf, limit_buy_order, fee,
@@ -2710,9 +2704,8 @@ def test_trailing_stop_loss_offset(default_conf, limit_buy_order, fee,
}))
# stop-loss not reached, adjusted stoploss
assert freqtrade.handle_trade(trade) is False
assert log_has(f'using positive stop loss: 0.01 offset: 0.011 profit: 0.2666%',
caplog.record_tuples)
assert log_has(f'adjusted stop loss', caplog.record_tuples)
assert log_has(f'using positive stop loss: 0.01 offset: 0.011 profit: 0.2666%', caplog)
assert log_has(f'adjusted stop loss', caplog)
assert trade.stop_loss == 0.0000138501
mocker.patch('freqtrade.exchange.Exchange.get_ticker',
@@ -2726,7 +2719,7 @@ def test_trailing_stop_loss_offset(default_conf, limit_buy_order, fee,
assert log_has(
f'HIT STOP: current price at {buy_price + 0.000002:.6f}, '
f'stop loss is {trade.stop_loss:.6f}, '
f'initial stop loss was at 0.000010, trade opened at 0.000011', caplog.record_tuples)
f'initial stop loss was at 0.000010, trade opened at 0.000011', caplog)
assert trade.sell_reason == SellType.TRAILING_STOP_LOSS.value
@@ -2777,7 +2770,7 @@ def test_tsl_only_offset_reached(default_conf, limit_buy_order, fee,
# stop-loss should not be adjusted as offset is not reached yet
assert freqtrade.handle_trade(trade) is False
assert not log_has(f'adjusted stop loss', caplog.record_tuples)
assert not log_has(f'adjusted stop loss', caplog)
assert trade.stop_loss == 0.0000098910
# price rises above the offset (rises 12% when the offset is 5.5%)
@@ -2789,9 +2782,8 @@ def test_tsl_only_offset_reached(default_conf, limit_buy_order, fee,
}))
assert freqtrade.handle_trade(trade) is False
assert log_has(f'using positive stop loss: 0.05 offset: 0.055 profit: 0.1218%',
caplog.record_tuples)
assert log_has(f'adjusted stop loss', caplog.record_tuples)
assert log_has(f'using positive stop loss: 0.05 offset: 0.055 profit: 0.1218%', caplog)
assert log_has(f'adjusted stop loss', caplog)
assert trade.stop_loss == 0.0000117705
@@ -2850,7 +2842,7 @@ def test_get_real_amount_quote(default_conf, trades_for_order, buy_order_fee, ca
assert freqtrade.get_real_amount(trade, buy_order_fee) == amount - (amount * 0.001)
assert log_has('Applying fee on amount for Trade(id=None, pair=LTC/ETH, amount=8.00000000, '
'open_rate=0.24544100, open_since=closed) (from 8.0 to 7.992) from Trades',
caplog.record_tuples)
caplog)
def test_get_real_amount_no_trade(default_conf, buy_order_fee, caplog, mocker):
@@ -2873,7 +2865,7 @@ def test_get_real_amount_no_trade(default_conf, buy_order_fee, caplog, mocker):
assert freqtrade.get_real_amount(trade, buy_order_fee) == amount
assert log_has('Applying fee on amount for Trade(id=None, pair=LTC/ETH, amount=8.00000000, '
'open_rate=0.24544100, open_since=closed) failed: myTrade-Dict empty found',
caplog.record_tuples)
caplog)
def test_get_real_amount_stake(default_conf, trades_for_order, buy_order_fee, mocker):
@@ -2962,7 +2954,7 @@ def test_get_real_amount_multi(default_conf, trades_for_order2, buy_order_fee, c
assert freqtrade.get_real_amount(trade, buy_order_fee) == amount - (amount * 0.001)
assert log_has('Applying fee on amount for Trade(id=None, pair=LTC/ETH, amount=8.00000000, '
'open_rate=0.24544100, open_since=closed) (from 8.0 to 7.992) from Trades',
caplog.record_tuples)
caplog)
def test_get_real_amount_fromorder(default_conf, trades_for_order, buy_order_fee, caplog, mocker):
@@ -2988,7 +2980,7 @@ def test_get_real_amount_fromorder(default_conf, trades_for_order, buy_order_fee
assert freqtrade.get_real_amount(trade, limit_buy_order) == amount - 0.004
assert log_has('Applying fee on amount for Trade(id=None, pair=LTC/ETH, amount=8.00000000, '
'open_rate=0.24544100, open_since=closed) (from 8.0 to 7.996) from Order',
caplog.record_tuples)
caplog)
def test_get_real_amount_invalid_order(default_conf, trades_for_order, buy_order_fee, mocker):