Add test to run in backtest mode
This commit is contained in:
@@ -1,15 +1,23 @@
|
|||||||
import pytest
|
import pytest
|
||||||
from sqlalchemy import select
|
|
||||||
|
|
||||||
from freqtrade.persistence import Trade
|
from freqtrade.persistence import Trade, disable_database_use, enable_database_use
|
||||||
|
from freqtrade.persistence.custom_data import CustomDataWrapper
|
||||||
from tests.conftest import create_mock_trades_usdt
|
from tests.conftest import create_mock_trades_usdt
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.usefixtures("init_persistence")
|
@pytest.mark.usefixtures("init_persistence")
|
||||||
def test_trade_custom_data(fee):
|
@pytest.mark.parametrize("use_db", [True, False])
|
||||||
create_mock_trades_usdt(fee)
|
def test_trade_custom_data(fee, use_db):
|
||||||
|
if not use_db:
|
||||||
|
disable_database_use('5m')
|
||||||
|
Trade.reset_trades()
|
||||||
|
CustomDataWrapper.reset_custom_data()
|
||||||
|
|
||||||
trade1 = Trade.session.scalars(select(Trade)).first()
|
create_mock_trades_usdt(fee, use_db=use_db)
|
||||||
|
|
||||||
|
trade1 = Trade.get_trades_proxy()[0]
|
||||||
|
if not use_db:
|
||||||
|
trade1.id = 1
|
||||||
|
|
||||||
assert trade1.get_all_custom_data() == []
|
assert trade1.get_all_custom_data() == []
|
||||||
trade1.set_custom_data('test_str', 'test_value')
|
trade1.set_custom_data('test_str', 'test_value')
|
||||||
@@ -18,7 +26,10 @@ def test_trade_custom_data(fee):
|
|||||||
trade1.set_custom_data('test_bool', True)
|
trade1.set_custom_data('test_bool', True)
|
||||||
trade1.set_custom_data('test_dict', {'test': 'dict'})
|
trade1.set_custom_data('test_dict', {'test': 'dict'})
|
||||||
|
|
||||||
|
assert len(trade1.get_all_custom_data()) == 5
|
||||||
assert trade1.get_custom_data('test_str') == 'test_value'
|
assert trade1.get_custom_data('test_str') == 'test_value'
|
||||||
|
trade1.set_custom_data('test_str', 'test_value_updated')
|
||||||
|
assert trade1.get_custom_data('test_str') == 'test_value_updated'
|
||||||
|
|
||||||
assert trade1.get_custom_data('test_int') == 1
|
assert trade1.get_custom_data('test_int') == 1
|
||||||
assert isinstance(trade1.get_custom_data('test_int'), int)
|
assert isinstance(trade1.get_custom_data('test_int'), int)
|
||||||
@@ -31,4 +42,4 @@ def test_trade_custom_data(fee):
|
|||||||
|
|
||||||
assert trade1.get_custom_data('test_dict') == {'test': 'dict'}
|
assert trade1.get_custom_data('test_dict') == {'test': 'dict'}
|
||||||
assert isinstance(trade1.get_custom_data('test_dict'), dict)
|
assert isinstance(trade1.get_custom_data('test_dict'), dict)
|
||||||
assert len(trade1.get_all_custom_data()) == 5
|
enable_database_use()
|
||||||
|
|||||||
Reference in New Issue
Block a user