Remove arrow from test_persistence

This commit is contained in:
Matthias
2023-05-14 17:55:24 +02:00
parent 3a4d103bc8
commit 9421ca2628
2 changed files with 50 additions and 51 deletions
+23 -24
View File
@@ -2,7 +2,6 @@
from datetime import datetime, timedelta, timezone from datetime import datetime, timedelta, timezone
from types import FunctionType from types import FunctionType
import arrow
import pytest import pytest
from sqlalchemy import select from sqlalchemy import select
@@ -10,7 +9,7 @@ from freqtrade.constants import CUSTOM_TAG_MAX_LENGTH, DATETIME_PRINT_FORMAT
from freqtrade.enums import TradingMode from freqtrade.enums import TradingMode
from freqtrade.exceptions import DependencyException from freqtrade.exceptions import DependencyException
from freqtrade.persistence import LocalTrade, Order, Trade, init_db from freqtrade.persistence import LocalTrade, Order, Trade, init_db
from freqtrade.util.datetime_helpers import dt_now from freqtrade.util import dt_now
from tests.conftest import create_mock_trades, create_mock_trades_with_leverage, log_has, log_has_re from tests.conftest import create_mock_trades, create_mock_trades_with_leverage, log_has, log_has_re
@@ -1327,7 +1326,7 @@ def test_to_json(fee):
amount_requested=123.0, amount_requested=123.0,
fee_open=fee.return_value, fee_open=fee.return_value,
fee_close=fee.return_value, fee_close=fee.return_value,
open_date=arrow.utcnow().shift(hours=-2).datetime, open_date=dt_now() - timedelta(hours=2),
open_rate=0.123, open_rate=0.123,
exchange='binance', exchange='binance',
enter_tag=None, enter_tag=None,
@@ -1412,8 +1411,8 @@ def test_to_json(fee):
amount_requested=101.0, amount_requested=101.0,
fee_open=fee.return_value, fee_open=fee.return_value,
fee_close=fee.return_value, fee_close=fee.return_value,
open_date=arrow.utcnow().shift(hours=-2).datetime, open_date=dt_now() - timedelta(hours=2),
close_date=arrow.utcnow().shift(hours=-1).datetime, close_date=dt_now() - timedelta(hours=1),
open_rate=0.123, open_rate=0.123,
close_rate=0.125, close_rate=0.125,
enter_tag='buys_signal_001', enter_tag='buys_signal_001',
@@ -1497,7 +1496,7 @@ def test_stoploss_reinitialization(default_conf, fee):
pair='ADA/USDT', pair='ADA/USDT',
stake_amount=30.0, stake_amount=30.0,
fee_open=fee.return_value, fee_open=fee.return_value,
open_date=arrow.utcnow().shift(hours=-2).datetime, open_date=dt_now() - timedelta(hours=2),
amount=30.0, amount=30.0,
fee_close=fee.return_value, fee_close=fee.return_value,
exchange='binance', exchange='binance',
@@ -1558,7 +1557,7 @@ def test_stoploss_reinitialization_leverage(default_conf, fee):
pair='ADA/USDT', pair='ADA/USDT',
stake_amount=30.0, stake_amount=30.0,
fee_open=fee.return_value, fee_open=fee.return_value,
open_date=arrow.utcnow().shift(hours=-2).datetime, open_date=dt_now() - timedelta(hours=2),
amount=30.0, amount=30.0,
fee_close=fee.return_value, fee_close=fee.return_value,
exchange='binance', exchange='binance',
@@ -1620,7 +1619,7 @@ def test_stoploss_reinitialization_short(default_conf, fee):
pair='ADA/USDT', pair='ADA/USDT',
stake_amount=0.001, stake_amount=0.001,
fee_open=fee.return_value, fee_open=fee.return_value,
open_date=arrow.utcnow().shift(hours=-2).datetime, open_date=dt_now() - timedelta(hours=2),
amount=10, amount=10,
fee_close=fee.return_value, fee_close=fee.return_value,
exchange='binance', exchange='binance',
@@ -1679,7 +1678,7 @@ def test_update_fee(fee):
pair='ADA/USDT', pair='ADA/USDT',
stake_amount=30.0, stake_amount=30.0,
fee_open=fee.return_value, fee_open=fee.return_value,
open_date=arrow.utcnow().shift(hours=-2).datetime, open_date=dt_now() - timedelta(hours=2),
amount=30.0, amount=30.0,
fee_close=fee.return_value, fee_close=fee.return_value,
exchange='binance', exchange='binance',
@@ -1718,7 +1717,7 @@ def test_fee_updated(fee):
pair='ADA/USDT', pair='ADA/USDT',
stake_amount=30.0, stake_amount=30.0,
fee_open=fee.return_value, fee_open=fee.return_value,
open_date=arrow.utcnow().shift(hours=-2).datetime, open_date=dt_now() - timedelta(hours=2),
amount=30.0, amount=30.0,
fee_close=fee.return_value, fee_close=fee.return_value,
exchange='binance', exchange='binance',
@@ -2093,7 +2092,7 @@ def test_recalc_trade_from_orders(fee):
trade = Trade( trade = Trade(
pair='ADA/USDT', pair='ADA/USDT',
stake_amount=o1_cost, stake_amount=o1_cost,
open_date=arrow.utcnow().shift(hours=-2).datetime, open_date=dt_now() - timedelta(hours=2),
amount=o1_amount, amount=o1_amount,
fee_open=fee.return_value, fee_open=fee.return_value,
fee_close=fee.return_value, fee_close=fee.return_value,
@@ -2168,8 +2167,8 @@ def test_recalc_trade_from_orders(fee):
filled=o2_amount, filled=o2_amount,
remaining=0, remaining=0,
cost=o2_cost, cost=o2_cost,
order_date=arrow.utcnow().shift(hours=-1).datetime, order_date=dt_now() - timedelta(hours=1),
order_filled_date=arrow.utcnow().shift(hours=-1).datetime, order_filled_date=dt_now() - timedelta(hours=1),
) )
trade.orders.append(order2) trade.orders.append(order2)
trade.recalc_trade_from_orders() trade.recalc_trade_from_orders()
@@ -2202,8 +2201,8 @@ def test_recalc_trade_from_orders(fee):
filled=o3_amount, filled=o3_amount,
remaining=0, remaining=0,
cost=o3_cost, cost=o3_cost,
order_date=arrow.utcnow().shift(hours=-1).datetime, order_date=dt_now() - timedelta(hours=1),
order_filled_date=arrow.utcnow().shift(hours=-1).datetime, order_filled_date=dt_now() - timedelta(hours=1),
) )
trade.orders.append(order3) trade.orders.append(order3)
trade.recalc_trade_from_orders() trade.recalc_trade_from_orders()
@@ -2258,7 +2257,7 @@ def test_recalc_trade_from_orders_ignores_bad_orders(fee, is_short):
trade = Trade( trade = Trade(
pair='ADA/USDT', pair='ADA/USDT',
stake_amount=o1_cost, stake_amount=o1_cost,
open_date=arrow.utcnow().shift(hours=-2).datetime, open_date=dt_now() - timedelta(hours=2),
amount=o1_amount, amount=o1_amount,
fee_open=fee.return_value, fee_open=fee.return_value,
fee_close=fee.return_value, fee_close=fee.return_value,
@@ -2310,8 +2309,8 @@ def test_recalc_trade_from_orders_ignores_bad_orders(fee, is_short):
filled=o1_amount, filled=o1_amount,
remaining=0, remaining=0,
cost=o1_cost, cost=o1_cost,
order_date=arrow.utcnow().shift(hours=-1).datetime, order_date=dt_now() - timedelta(hours=1),
order_filled_date=arrow.utcnow().shift(hours=-1).datetime, order_filled_date=dt_now() - timedelta(hours=1),
) )
trade.orders.append(order2) trade.orders.append(order2)
trade.recalc_trade_from_orders() trade.recalc_trade_from_orders()
@@ -2338,8 +2337,8 @@ def test_recalc_trade_from_orders_ignores_bad_orders(fee, is_short):
filled=0, filled=0,
remaining=4, remaining=4,
cost=5, cost=5,
order_date=arrow.utcnow().shift(hours=-1).datetime, order_date=dt_now() - timedelta(hours=1),
order_filled_date=arrow.utcnow().shift(hours=-1).datetime, order_filled_date=dt_now() - timedelta(hours=1),
) )
trade.orders.append(order3) trade.orders.append(order3)
trade.recalc_trade_from_orders() trade.recalc_trade_from_orders()
@@ -2365,8 +2364,8 @@ def test_recalc_trade_from_orders_ignores_bad_orders(fee, is_short):
filled=o1_amount, filled=o1_amount,
remaining=0, remaining=0,
cost=o1_cost, cost=o1_cost,
order_date=arrow.utcnow().shift(hours=-1).datetime, order_date=dt_now() - timedelta(hours=1),
order_filled_date=arrow.utcnow().shift(hours=-1).datetime, order_filled_date=dt_now() - timedelta(hours=1),
) )
trade.orders.append(order4) trade.orders.append(order4)
trade.recalc_trade_from_orders() trade.recalc_trade_from_orders()
@@ -2623,8 +2622,8 @@ def test_recalc_trade_from_orders_dca(data) -> None:
filled=amount, filled=amount,
remaining=0, remaining=0,
cost=amount * price, cost=amount * price,
order_date=arrow.utcnow().shift(hours=-10 + idx).datetime, order_date=dt_now() - timedelta(hours=10 + idx),
order_filled_date=arrow.utcnow().shift(hours=-10 + idx).datetime, order_filled_date=dt_now() - timedelta(hours=10 + idx),
) )
trade.orders.append(order_obj) trade.orders.append(order_obj)
trade.recalc_trade_from_orders() trade.recalc_trade_from_orders()
+27 -27
View File
@@ -331,14 +331,14 @@ def test_min_roi_reached(default_conf, fee) -> None:
open_rate=1, open_rate=1,
) )
assert not strategy.min_roi_reached(trade, 0.02, arrow.utcnow().shift(minutes=-56).datetime) assert not strategy.min_roi_reached(trade, 0.02, dt_now() - timedelta(minutes=56))
assert strategy.min_roi_reached(trade, 0.12, arrow.utcnow().shift(minutes=-56).datetime) assert strategy.min_roi_reached(trade, 0.12, dt_now() - timedelta(minutes=56))
assert not strategy.min_roi_reached(trade, 0.04, arrow.utcnow().shift(minutes=-39).datetime) assert not strategy.min_roi_reached(trade, 0.04, dt_now() - timedelta(minutes=39))
assert strategy.min_roi_reached(trade, 0.06, arrow.utcnow().shift(minutes=-39).datetime) assert strategy.min_roi_reached(trade, 0.06, dt_now() - timedelta(minutes=39))
assert not strategy.min_roi_reached(trade, -0.01, arrow.utcnow().shift(minutes=-1).datetime) assert not strategy.min_roi_reached(trade, -0.01, dt_now() - timedelta(minutes=1))
assert strategy.min_roi_reached(trade, 0.02, arrow.utcnow().shift(minutes=-1).datetime) assert strategy.min_roi_reached(trade, 0.02, dt_now() - timedelta(minutes=1))
def test_min_roi_reached2(default_conf, fee) -> None: def test_min_roi_reached2(default_conf, fee) -> None:
@@ -362,25 +362,25 @@ def test_min_roi_reached2(default_conf, fee) -> None:
pair='ETH/BTC', pair='ETH/BTC',
stake_amount=0.001, stake_amount=0.001,
amount=5, amount=5,
open_date=arrow.utcnow().shift(hours=-1).datetime, open_date=dt_now() - timedelta(hours=1),
fee_open=fee.return_value, fee_open=fee.return_value,
fee_close=fee.return_value, fee_close=fee.return_value,
exchange='binance', exchange='binance',
open_rate=1, open_rate=1,
) )
assert not strategy.min_roi_reached(trade, 0.02, arrow.utcnow().shift(minutes=-56).datetime) assert not strategy.min_roi_reached(trade, 0.02, dt_now() - timedelta(minutes=56))
assert strategy.min_roi_reached(trade, 0.12, arrow.utcnow().shift(minutes=-56).datetime) assert strategy.min_roi_reached(trade, 0.12, dt_now() - timedelta(minutes=56))
assert not strategy.min_roi_reached(trade, 0.04, arrow.utcnow().shift(minutes=-39).datetime) assert not strategy.min_roi_reached(trade, 0.04, dt_now() - timedelta(minutes=39))
assert strategy.min_roi_reached(trade, 0.071, arrow.utcnow().shift(minutes=-39).datetime) assert strategy.min_roi_reached(trade, 0.071, dt_now() - timedelta(minutes=39))
assert not strategy.min_roi_reached(trade, 0.04, arrow.utcnow().shift(minutes=-26).datetime) assert not strategy.min_roi_reached(trade, 0.04, dt_now() - timedelta(minutes=26))
assert strategy.min_roi_reached(trade, 0.06, arrow.utcnow().shift(minutes=-26).datetime) assert strategy.min_roi_reached(trade, 0.06, dt_now() - timedelta(minutes=26))
# Should not trigger with 20% profit since after 55 minutes only 30% is active. # Should not trigger with 20% profit since after 55 minutes only 30% is active.
assert not strategy.min_roi_reached(trade, 0.20, arrow.utcnow().shift(minutes=-2).datetime) assert not strategy.min_roi_reached(trade, 0.20, dt_now() - timedelta(minutes=2))
assert strategy.min_roi_reached(trade, 0.31, arrow.utcnow().shift(minutes=-2).datetime) assert strategy.min_roi_reached(trade, 0.31, dt_now() - timedelta(minutes=2))
def test_min_roi_reached3(default_conf, fee) -> None: def test_min_roi_reached3(default_conf, fee) -> None:
@@ -396,25 +396,25 @@ def test_min_roi_reached3(default_conf, fee) -> None:
pair='ETH/BTC', pair='ETH/BTC',
stake_amount=0.001, stake_amount=0.001,
amount=5, amount=5,
open_date=arrow.utcnow().shift(hours=-1).datetime, open_date=dt_now() - timedelta(hours=1),
fee_open=fee.return_value, fee_open=fee.return_value,
fee_close=fee.return_value, fee_close=fee.return_value,
exchange='binance', exchange='binance',
open_rate=1, open_rate=1,
) )
assert not strategy.min_roi_reached(trade, 0.02, arrow.utcnow().shift(minutes=-56).datetime) assert not strategy.min_roi_reached(trade, 0.02, dt_now() - timedelta(minutes=56))
assert not strategy.min_roi_reached(trade, 0.12, arrow.utcnow().shift(minutes=-56).datetime) assert not strategy.min_roi_reached(trade, 0.12, dt_now() - timedelta(minutes=56))
assert not strategy.min_roi_reached(trade, 0.04, arrow.utcnow().shift(minutes=-39).datetime) assert not strategy.min_roi_reached(trade, 0.04, dt_now() - timedelta(minutes=39))
assert strategy.min_roi_reached(trade, 0.071, arrow.utcnow().shift(minutes=-39).datetime) assert strategy.min_roi_reached(trade, 0.071, dt_now() - timedelta(minutes=39))
assert not strategy.min_roi_reached(trade, 0.04, arrow.utcnow().shift(minutes=-26).datetime) assert not strategy.min_roi_reached(trade, 0.04, dt_now() - timedelta(minutes=26))
assert strategy.min_roi_reached(trade, 0.06, arrow.utcnow().shift(minutes=-26).datetime) assert strategy.min_roi_reached(trade, 0.06, dt_now() - timedelta(minutes=26))
# Should not trigger with 20% profit since after 55 minutes only 30% is active. # Should not trigger with 20% profit since after 55 minutes only 30% is active.
assert not strategy.min_roi_reached(trade, 0.20, arrow.utcnow().shift(minutes=-2).datetime) assert not strategy.min_roi_reached(trade, 0.20, dt_now() - timedelta(minutes=2))
assert strategy.min_roi_reached(trade, 0.31, arrow.utcnow().shift(minutes=-2).datetime) assert strategy.min_roi_reached(trade, 0.31, dt_now() - timedelta(minutes=2))
@pytest.mark.parametrize( @pytest.mark.parametrize(
@@ -450,7 +450,7 @@ def test_ft_stoploss_reached(default_conf, fee, profit, adjusted, expected, liq,
pair='ETH/BTC', pair='ETH/BTC',
stake_amount=0.01, stake_amount=0.01,
amount=1, amount=1,
open_date=arrow.utcnow().shift(hours=-1).datetime, open_date=dt_now() - timedelta(hours=1),
fee_open=fee.return_value, fee_open=fee.return_value,
fee_close=fee.return_value, fee_close=fee.return_value,
exchange='binance', exchange='binance',
@@ -499,7 +499,7 @@ def test_custom_exit(default_conf, fee, caplog) -> None:
pair='ETH/BTC', pair='ETH/BTC',
stake_amount=0.01, stake_amount=0.01,
amount=1, amount=1,
open_date=arrow.utcnow().shift(hours=-1).datetime, open_date=dt_now() - timedelta(hours=1),
fee_open=fee.return_value, fee_open=fee.return_value,
fee_close=fee.return_value, fee_close=fee.return_value,
exchange='binance', exchange='binance',
@@ -548,7 +548,7 @@ def test_should_sell(default_conf, fee) -> None:
pair='ETH/BTC', pair='ETH/BTC',
stake_amount=0.01, stake_amount=0.01,
amount=1, amount=1,
open_date=arrow.utcnow().shift(hours=-1).datetime, open_date=dt_now() - timedelta(hours=1),
fee_open=fee.return_value, fee_open=fee.return_value,
fee_close=fee.return_value, fee_close=fee.return_value,
exchange='binance', exchange='binance',