test: add test for exchange_has validation

pull/12682/head
Matthias 2 months ago
parent 6c164683b7
commit a174461952

@ -1,6 +1,7 @@
# pragma pylint: disable=missing-docstring, protected-access, invalid-name
from datetime import UTC, datetime, timedelta
from math import isnan, nan
from unittest.mock import MagicMock
import pytest
from ccxt import (
@ -28,6 +29,7 @@ from freqtrade.exchange import (
timeframe_to_seconds,
)
from freqtrade.exchange.check_exchange import check_exchange
from freqtrade.exchange.exchange_utils import _exchange_has_helper
from tests.conftest import log_has_re
@ -385,3 +387,42 @@ def test_amount_to_contract_precision_standalone(
):
res = amount_to_contract_precision(amount, precision, precision_mode, contract_size)
assert pytest.approx(res) == expected
def test_exchange__exchange_has_helper():
e_mod = MagicMock()
e_mod.has = {
"fetchTicker": True,
"fetchOHLCV": False,
"fetchTrades": True,
"fetchMyTrades": False,
"fetchOrder": True,
}
required = {
"fetchOHLCV": [],
"fetchTicker": [],
"fetchMyTrades": ["fetchTrades"],
"fetchOrder": ["fetchOpenOrder", "fetchClosedOrder"],
}
missing = _exchange_has_helper(e_mod, required)
assert set(missing) == {"fetchOHLCV"}
e_mod.has = {
"fetchTicker": True,
"fetchOHLCV": False,
"fetchTrades": False,
"fetchMyTrades": False,
"fetchOrder": True,
}
missing = _exchange_has_helper(e_mod, required)
assert set(missing) == {"fetchOHLCV", "fetchMyTrades"}
e_mod.has = {
"fetchTicker": True,
"fetchOHLCV": False,
"fetchTrades": False,
"fetchMyTrades": False,
"fetchOrder": False,
}
missing = _exchange_has_helper(e_mod, required)
assert set(missing) == {"fetchOHLCV", "fetchMyTrades", "fetchOrder"}

Loading…
Cancel
Save