test: add test for exchange_has validation
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
# pragma pylint: disable=missing-docstring, protected-access, invalid-name
|
# pragma pylint: disable=missing-docstring, protected-access, invalid-name
|
||||||
from datetime import UTC, datetime, timedelta
|
from datetime import UTC, datetime, timedelta
|
||||||
from math import isnan, nan
|
from math import isnan, nan
|
||||||
|
from unittest.mock import MagicMock
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from ccxt import (
|
from ccxt import (
|
||||||
@@ -28,6 +29,7 @@ from freqtrade.exchange import (
|
|||||||
timeframe_to_seconds,
|
timeframe_to_seconds,
|
||||||
)
|
)
|
||||||
from freqtrade.exchange.check_exchange import check_exchange
|
from freqtrade.exchange.check_exchange import check_exchange
|
||||||
|
from freqtrade.exchange.exchange_utils import _exchange_has_helper
|
||||||
from tests.conftest import log_has_re
|
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)
|
res = amount_to_contract_precision(amount, precision, precision_mode, contract_size)
|
||||||
assert pytest.approx(res) == expected
|
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"}
|
||||||
|
|||||||
Reference in New Issue
Block a user