Add db migration test

This commit is contained in:
Matthias 2023-01-14 20:54:42 +01:00
parent 5d4a247fa0
commit e14f2cc275

View File

@ -3,7 +3,11 @@
import shutil
from pathlib import Path
from freqtrade.util.binance_mig import migrate_binance_futures_data
import pytest
from freqtrade.persistence import Trade
from freqtrade.util.binance_mig import migrate_binance_futures_data, migrate_binance_futures_names
from tests.conftest import create_mock_trades_usdt, log_has
def test_binance_mig_data_conversion(default_conf_usdt, tmpdir, testdatadir):
@ -35,3 +39,21 @@ def test_binance_mig_data_conversion(default_conf_usdt, tmpdir, testdatadir):
for file in files:
fn_after = futures_dst / f'{pair_unified}{file}'
assert fn_after.exists()
@pytest.mark.usefixtures("init_persistence")
def test_binance_mig_db_conversion(default_conf_usdt, fee, caplog):
# Does nothing in spot mode
migrate_binance_futures_names(default_conf_usdt)
create_mock_trades_usdt(fee, None)
for t in Trade.get_trades():
t.trading_mode = 'FUTURES'
t.exchange = 'binance'
Trade.commit()
default_conf_usdt['datadir'] = Path(default_conf_usdt['datadir'])
default_conf_usdt['trading_mode'] = 'futures'
migrate_binance_futures_names(default_conf_usdt)
assert log_has('Migrating binance futures pairs in database.', caplog)