From 9d398924c649f80bdeba6c83d5e0c16c2de721c8 Mon Sep 17 00:00:00 2001 From: Sam Germain Date: Fri, 3 Sep 2021 19:56:13 -0600 Subject: [PATCH] Wrote dummy tests for exchange.get_interest_rate --- freqtrade/exchange/exchange.py | 4 ++-- tests/exchange/test_exchange.py | 34 ++++++++++++++++++++++++++++++--- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/freqtrade/exchange/exchange.py b/freqtrade/exchange/exchange.py index 264d0400d..8bf6d14d1 100644 --- a/freqtrade/exchange/exchange.py +++ b/freqtrade/exchange/exchange.py @@ -1521,9 +1521,9 @@ class Exchange: self._async_get_trade_history(pair=pair, since=since, until=until, from_id=from_id)) - def get_interest_rate(self, pair: str, open_rate: float, is_short: bool) -> float: + def get_interest_rate(self, pair: str, maker_or_taker: str, is_short: bool) -> float: # TODO-lev: implement - return 0.0005 + return (0.0005, 0.0005) def fill_leverage_brackets(self): """ diff --git a/tests/exchange/test_exchange.py b/tests/exchange/test_exchange.py index 0eb7ceb25..710b70afe 100644 --- a/tests/exchange/test_exchange.py +++ b/tests/exchange/test_exchange.py @@ -2947,9 +2947,37 @@ def test_fill_leverage_brackets(): return -def test_get_interest_rate(): - # TODO-lev - return +# TODO-lev: These tests don't test anything real, they need to be replaced with real values once +# get_interest_rates is written +@pytest.mark.parametrize('exchange_name,pair,maker_or_taker,is_short,borrow_rate,interest_rate', [ + ('binance', "ADA/USDT", "maker", True, 0.0005, 0.0005), + ('binance', "ADA/USDT", "maker", False, 0.0005, 0.0005), + ('binance', "ADA/USDT", "taker", True, 0.0005, 0.0005), + ('binance', "ADA/USDT", "taker", False, 0.0005, 0.0005), + # Kraken + ('kraken', "ADA/USDT", "maker", True, 0.0005, 0.0005), + ('kraken', "ADA/USDT", "maker", False, 0.0005, 0.0005), + ('kraken', "ADA/USDT", "taker", True, 0.0005, 0.0005), + ('kraken', "ADA/USDT", "taker", False, 0.0005, 0.0005), + # FTX + ('ftx', "ADA/USDT", "maker", True, 0.0005, 0.0005), + ('ftx', "ADA/USDT", "maker", False, 0.0005, 0.0005), + ('ftx', "ADA/USDT", "taker", True, 0.0005, 0.0005), + ('ftx', "ADA/USDT", "taker", False, 0.0005, 0.0005), +]) +def test_get_interest_rate( + default_conf, + mocker, + exchange_name, + pair, + maker_or_taker, + is_short, + borrow_rate, + interest_rate +): + exchange = get_patched_exchange(mocker, default_conf, id=exchange_name) + assert exchange.get_interest_rate( + pair, maker_or_taker, is_short) == (borrow_rate, interest_rate) @pytest.mark.parametrize("collateral", [