From d530527f117c4fef01fe9ee2c504b275185a6569 Mon Sep 17 00:00:00 2001 From: Matthias Date: Fri, 31 Jan 2025 06:57:03 +0100 Subject: [PATCH] test: add test for exchange.features --- freqtrade/exchange/exchange.py | 1 + tests/exchange/test_exchange.py | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/freqtrade/exchange/exchange.py b/freqtrade/exchange/exchange.py index 516d00061..dd0da2f88 100644 --- a/freqtrade/exchange/exchange.py +++ b/freqtrade/exchange/exchange.py @@ -112,6 +112,7 @@ from freqtrade.util.periodic_cache import PeriodicCache logger = logging.getLogger(__name__) + T = TypeVar("T") diff --git a/tests/exchange/test_exchange.py b/tests/exchange/test_exchange.py index 4cfa32ed6..e635052e1 100644 --- a/tests/exchange/test_exchange.py +++ b/tests/exchange/test_exchange.py @@ -6259,3 +6259,26 @@ def test_price_to_precision_with_default_conf(default_conf, mocker): prec_price = patched_ex.price_to_precision("XRP/USDT", 1.0000000101) assert prec_price == 1.00000001 assert prec_price == 1.00000001 + + +def test_exchange_features(default_conf, mocker): + conf = copy.deepcopy(default_conf) + exchange = get_patched_exchange(mocker, conf) + exchange._api_async.features = { + "spot": { + "fetchOHLCV": { + "limit": 995, + } + }, + "swap": { + "linear": { + "fetchOHLCV": { + "limit": 997, + } + } + }, + } + assert exchange.features("spot", "fetchOHLCV", "limit", 500) == 995 + assert exchange.features("futures", "fetchOHLCV", "limit", 500) == 997 + # Fall back to default + assert exchange.features("futures", "fetchOHLCV_else", "limit", 601) == 601