Add NoDbContext context manager
This commit is contained in:
@@ -4,4 +4,5 @@ from freqtrade.persistence.key_value_store import KeyStoreKeys, KeyValueStore
|
|||||||
from freqtrade.persistence.models import init_db
|
from freqtrade.persistence.models import init_db
|
||||||
from freqtrade.persistence.pairlock_middleware import PairLocks
|
from freqtrade.persistence.pairlock_middleware import PairLocks
|
||||||
from freqtrade.persistence.trade_model import LocalTrade, Order, Trade
|
from freqtrade.persistence.trade_model import LocalTrade, Order, Trade
|
||||||
from freqtrade.persistence.usedb_context import disable_database_use, enable_database_use
|
from freqtrade.persistence.usedb_context import (FtNoDBContext, disable_database_use,
|
||||||
|
enable_database_use)
|
||||||
|
|||||||
@@ -20,3 +20,14 @@ def enable_database_use() -> None:
|
|||||||
PairLocks.use_db = True
|
PairLocks.use_db = True
|
||||||
PairLocks.timeframe = ''
|
PairLocks.timeframe = ''
|
||||||
Trade.use_db = True
|
Trade.use_db = True
|
||||||
|
|
||||||
|
|
||||||
|
class FtNoDBContext:
|
||||||
|
def __init__(self, timeframe: str = ''):
|
||||||
|
self.timeframe = timeframe
|
||||||
|
|
||||||
|
def __enter__(self):
|
||||||
|
disable_database_use(self.timeframe)
|
||||||
|
|
||||||
|
def __exit__(self, exc_type, exc_val, exc_tb):
|
||||||
|
enable_database_use()
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
import pytest
|
||||||
|
|
||||||
|
from freqtrade.persistence import FtNoDBContext, PairLocks, Trade
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize('timeframe', ['', '5m', '1d'])
|
||||||
|
def test_FtNoDBContext(timeframe):
|
||||||
|
assert Trade.use_db is True
|
||||||
|
assert PairLocks.use_db is True
|
||||||
|
assert PairLocks.timeframe == ''
|
||||||
|
|
||||||
|
with FtNoDBContext(timeframe):
|
||||||
|
assert Trade.use_db is False
|
||||||
|
assert PairLocks.use_db is False
|
||||||
|
assert PairLocks.timeframe == timeframe
|
||||||
|
|
||||||
|
with FtNoDBContext():
|
||||||
|
assert Trade.use_db is False
|
||||||
|
assert PairLocks.use_db is False
|
||||||
|
assert PairLocks.timeframe == ''
|
||||||
|
|
||||||
|
assert Trade.use_db is True
|
||||||
|
assert PairLocks.use_db is True
|
||||||
|
|
||||||
Reference in New Issue
Block a user