mirror of
https://github.com/freqtrade/freqtrade.git
synced 2024-11-10 10:21:59 +00:00
tests for options added
This commit is contained in:
parent
3e4dd5019d
commit
8bdbfbf194
|
@ -197,6 +197,71 @@ def default_conf():
|
|||
return configuration
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def all_conf():
|
||||
""" Returns validated configuration with all options """
|
||||
configuration = {
|
||||
"max_open_trades": 1,
|
||||
"stake_currency": "BTC",
|
||||
"stake_amount": 0.001,
|
||||
"fiat_display_currency": "USD",
|
||||
"ticker_interval": '5m',
|
||||
"dry_run": True,
|
||||
"minimal_roi": {
|
||||
"40": 0.0,
|
||||
"30": 0.01,
|
||||
"20": 0.02,
|
||||
"0": 0.04
|
||||
},
|
||||
"stoploss": -0.10,
|
||||
"unfilledtimeout": {
|
||||
"buy": 10,
|
||||
"sell": 30
|
||||
},
|
||||
"bid_strategy": {
|
||||
"ask_last_balance": 0.0,
|
||||
"use_order_book": False,
|
||||
"order_book_top": 1,
|
||||
"check_depth_of_market": {
|
||||
"enabled": False,
|
||||
"bids_to_ask_delta": 1
|
||||
}
|
||||
},
|
||||
"ask_strategy": {
|
||||
"use_order_book": False,
|
||||
"order_book_min": 1,
|
||||
"order_book_max": 1
|
||||
},
|
||||
"exchange": {
|
||||
"name": "bittrex",
|
||||
"sandbox": False,
|
||||
"enabled": True,
|
||||
"key": "key",
|
||||
"secret": "secret",
|
||||
"password": "password",
|
||||
"pair_whitelist": [
|
||||
"ETH/BTC",
|
||||
"LTC/BTC",
|
||||
"XRP/BTC",
|
||||
"NEO/BTC"
|
||||
],
|
||||
"pair_blacklist": [
|
||||
"DOGE/BTC",
|
||||
"HOT/BTC",
|
||||
]
|
||||
},
|
||||
"telegram": {
|
||||
"enabled": True,
|
||||
"token": "token",
|
||||
"chat_id": "0"
|
||||
},
|
||||
"initial_state": "running",
|
||||
"db_url": "sqlite://",
|
||||
"loglevel": logging.DEBUG,
|
||||
}
|
||||
return configuration
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def update():
|
||||
_update = Update(0)
|
||||
|
|
|
@ -617,3 +617,86 @@ def test_validate_tsl(default_conf):
|
|||
default_conf['trailing_stop_positive_offset'] = 0.015
|
||||
Configuration(Namespace())
|
||||
configuration._validate_config_consistency(default_conf)
|
||||
|
||||
|
||||
# config['exchange'] subtree has required options in it
|
||||
# so it cannot be omitted in the config
|
||||
def test_load_config_default_exchange(all_conf) -> None:
|
||||
del all_conf['exchange']
|
||||
|
||||
assert 'exchange' not in all_conf
|
||||
|
||||
with pytest.raises(ValidationError,
|
||||
match=r'\'exchange\' is a required property'):
|
||||
configuration = Configuration(Namespace())
|
||||
configuration._validate_config_schema(all_conf)
|
||||
### assert 'exchange' in all_conf
|
||||
|
||||
|
||||
# config['exchange']['name'] option is required
|
||||
# so it cannot be omitted in the config
|
||||
def test_load_config_default_exchange_name(all_conf) -> None:
|
||||
del all_conf['exchange']['name']
|
||||
|
||||
assert 'name' not in all_conf['exchange']
|
||||
|
||||
with pytest.raises(ValidationError,
|
||||
match=r'\'name\' is a required property'):
|
||||
configuration = Configuration(Namespace())
|
||||
configuration._validate_config_schema(all_conf)
|
||||
|
||||
|
||||
# config['exchange']['sandbox'] option has default value: False
|
||||
# so it can be omitted in the config and the default value
|
||||
# should be present in the config as the option value
|
||||
def test_load_config_default_exchange_sandbox(all_conf) -> None:
|
||||
del all_conf['exchange']['sandbox']
|
||||
|
||||
assert 'sandbox' not in all_conf['exchange']
|
||||
|
||||
configuration = Configuration(Namespace())
|
||||
configuration._validate_config_schema(all_conf)
|
||||
assert 'sandbox' in all_conf['exchange']
|
||||
assert all_conf['exchange']['sandbox'] is False
|
||||
|
||||
|
||||
# config['exchange']['key'] option has default value: ''
|
||||
# so it can be omitted in the config and the default value
|
||||
# should be present in the config as the option value
|
||||
def test_load_config_default_exchange_key(all_conf) -> None:
|
||||
del all_conf['exchange']['key']
|
||||
|
||||
assert 'key' not in all_conf['exchange']
|
||||
|
||||
configuration = Configuration(Namespace())
|
||||
configuration._validate_config_schema(all_conf)
|
||||
assert 'key' in all_conf['exchange']
|
||||
assert all_conf['exchange']['key'] == ''
|
||||
|
||||
|
||||
# config['exchange']['secret'] option has default value: ''
|
||||
# so it can be omitted in the config and the default value
|
||||
# should be present in the config as the option value
|
||||
def test_load_config_default_exchange_secret(all_conf) -> None:
|
||||
del all_conf['exchange']['secret']
|
||||
|
||||
assert 'secret' not in all_conf['exchange']
|
||||
|
||||
configuration = Configuration(Namespace())
|
||||
configuration._validate_config_schema(all_conf)
|
||||
assert 'secret' in all_conf['exchange']
|
||||
assert all_conf['exchange']['secret'] == ''
|
||||
|
||||
|
||||
# config['exchange']['password'] option has default value: ''
|
||||
# so it can be omitted in the config and the default value
|
||||
# should be present in the config as the option value
|
||||
def test_load_config_default_exchange_password(all_conf) -> None:
|
||||
del all_conf['exchange']['password']
|
||||
|
||||
assert 'password' not in all_conf['exchange']
|
||||
|
||||
configuration = Configuration(Namespace())
|
||||
configuration._validate_config_schema(all_conf)
|
||||
assert 'password' in all_conf['exchange']
|
||||
assert all_conf['exchange']['password'] == ''
|
||||
|
|
Loading…
Reference in New Issue
Block a user