feat: be clear on the use of demo exchanges
This commit is contained in:
@@ -249,7 +249,7 @@ class Exchange:
|
||||
|
||||
# Holds all open sell orders for dry_run
|
||||
self._dry_run_open_orders: dict[str, Any] = {}
|
||||
|
||||
self._is_demo_trading = exchange_conf.get("demo_trading", False)
|
||||
if self._config["dry_run"]:
|
||||
logger.info("Instance is running with dry_run enabled")
|
||||
logger.info(f"Using CCXT {ccxt.__version__}")
|
||||
@@ -437,12 +437,12 @@ class Exchange:
|
||||
@property
|
||||
def name(self) -> str:
|
||||
"""exchange Name (from ccxt)"""
|
||||
return self._api.name
|
||||
return self._api.name if not self._is_demo_trading else f"{self._api.name} (Demo)"
|
||||
|
||||
@property
|
||||
def id(self) -> str:
|
||||
"""exchange ccxt id"""
|
||||
return self._api.id
|
||||
return self._api.id if not self._is_demo_trading else f"{self._api.id}_demo"
|
||||
|
||||
@property
|
||||
def timeframes(self) -> list[str]:
|
||||
|
||||
@@ -4312,12 +4312,29 @@ def test_fetch_order_or_stoploss_order(default_conf, mocker):
|
||||
|
||||
|
||||
@pytest.mark.parametrize("exchange_name", EXCHANGES)
|
||||
def test_name(default_conf, mocker, exchange_name):
|
||||
exchange = get_patched_exchange(mocker, default_conf, exchange=exchange_name)
|
||||
def test_name(default_conf_usdt, mocker, exchange_name):
|
||||
# exchange = get_patched_exchange(mocker, default_conf_usdt, exchange=exchange_name)
|
||||
api_mock = MagicMock()
|
||||
api_mock.name = exchange_name.title()
|
||||
api_mock.id = exchange_name
|
||||
mocker.patch(f"{EXMS}._init_ccxt", MagicMock(return_value=api_mock))
|
||||
mocker.patch(f"{EXMS}._load_async_markets")
|
||||
# mocker.patch(f"{EXMS}.validate_timeframes")
|
||||
# mocker.patch(f"{EXMS}.validate_stakecurrency")
|
||||
# mocker.patch(f"{EXMS}.validate_pricing")
|
||||
default_conf_usdt["exchange"]["name"] = "exchange_name"
|
||||
exchange = ExchangeResolver.load_exchange(default_conf_usdt, validate=False)
|
||||
|
||||
assert exchange.name == exchange_name.title()
|
||||
assert exchange.id == exchange_name
|
||||
|
||||
default_conf_usdt["exchange"]["demo_trading"] = True
|
||||
|
||||
exchange_demo = ExchangeResolver.load_exchange(default_conf_usdt, validate=False)
|
||||
|
||||
assert exchange_demo.name == f"{exchange_name.title()} (Demo)"
|
||||
assert exchange_demo.id == f"{exchange_name}_demo"
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"trading_mode,amount",
|
||||
|
||||
Reference in New Issue
Block a user