diff --git a/freqtrade/exchange/exchange_ws.py b/freqtrade/exchange/exchange_ws.py index ef76774dd..ea3b38763 100644 --- a/freqtrade/exchange/exchange_ws.py +++ b/freqtrade/exchange/exchange_ws.py @@ -17,7 +17,7 @@ from freqtrade.exchange.types import OHLCVResponse logger = logging.getLogger(__name__) -class ExchangeWS(): +class ExchangeWS: def __init__(self, config: Config, ccxt_object: ccxt.Exchange) -> None: self.config = config self.ccxt_object = ccxt_object diff --git a/tests/exchange_online/conftest.py b/tests/exchange_online/conftest.py index 8820ce3e7..91adba70e 100644 --- a/tests/exchange_online/conftest.py +++ b/tests/exchange_online/conftest.py @@ -376,7 +376,7 @@ def get_exchange(exchange_name, exchange_conf): exchange_conf, validate=True, load_leverage_tiers=True ) - yield exchange, exchange_name + return exchange, exchange_name def get_futures_exchange(exchange_name, exchange_conf, class_mocker): @@ -398,15 +398,25 @@ def get_futures_exchange(exchange_name, exchange_conf, class_mocker): class_mocker.patch(f"{EXMS}.load_cached_leverage_tiers", return_value=None) class_mocker.patch(f"{EXMS}.cache_leverage_tiers") - yield from get_exchange(exchange_name, exchange_conf) + return get_exchange(exchange_name, exchange_conf) @pytest.fixture(params=EXCHANGES, scope="class") def exchange(request, exchange_conf, class_mocker): class_mocker.patch("freqtrade.exchange.bybit.Bybit.additional_exchange_init") - yield from get_exchange(request.param, exchange_conf) + return get_exchange(request.param, exchange_conf) @pytest.fixture(params=EXCHANGES, scope="class") def exchange_futures(request, exchange_conf, class_mocker): - yield from get_futures_exchange(request.param, exchange_conf, class_mocker) + return get_futures_exchange(request.param, exchange_conf, class_mocker) + + +@pytest.fixture(params=EXCHANGES, scope="class") +def exchange_ws(request, exchange_conf): + exchange_conf["exchange"]["enable_ws"] = True + exchange, name = get_exchange(request.param, exchange_conf) + if not exchange._has_watch_ohlcv: + pytest.skip("Exchange does not support watch_ohlcv.") + yield exchange, name + exchange.close()