Fix some tests, don't default to freqtrade/strategy for imports

This commit is contained in:
Matthias 2020-02-18 20:26:20 +01:00
parent 1634297685
commit d91b9d1253
4 changed files with 9 additions and 8 deletions

View File

@ -28,7 +28,9 @@ class IResolver:
def build_search_paths(cls, config: Dict[str, Any], user_subdir: Optional[str] = None, def build_search_paths(cls, config: Dict[str, Any], user_subdir: Optional[str] = None,
extra_dir: Optional[str] = None) -> List[Path]: extra_dir: Optional[str] = None) -> List[Path]:
abs_paths: List[Path] = [cls.initial_search_path] abs_paths: List[Path] = []
if cls.initial_search_path:
abs_paths.append(cls.initial_search_path)
if user_subdir: if user_subdir:
abs_paths.insert(0, config['user_data_dir'].joinpath(user_subdir)) abs_paths.insert(0, config['user_data_dir'].joinpath(user_subdir))

View File

@ -27,7 +27,7 @@ class StrategyResolver(IResolver):
object_type = IStrategy object_type = IStrategy
object_type_str = "Strategy" object_type_str = "Strategy"
user_subdir = USERPATH_STRATEGIES user_subdir = USERPATH_STRATEGIES
initial_search_path = Path(__file__).parent.parent.joinpath('strategy').resolve() initial_search_path = None
@staticmethod @staticmethod
def load_strategy(config: Dict[str, Any] = None) -> IStrategy: def load_strategy(config: Dict[str, Any] = None) -> IStrategy:

View File

@ -2,7 +2,6 @@
import logging import logging
import warnings import warnings
from base64 import urlsafe_b64encode from base64 import urlsafe_b64encode
from os import path
from pathlib import Path from pathlib import Path
import pytest import pytest
@ -15,7 +14,7 @@ from tests.conftest import log_has, log_has_re
def test_search_strategy(): def test_search_strategy():
default_location = Path(__file__).parent.parent.joinpath('strategy').resolve() default_location = Path(__file__).parent / 'strats'
s, _ = StrategyResolver._search_object( s, _ = StrategyResolver._search_object(
directory=default_location, directory=default_location,
@ -72,13 +71,12 @@ def test_load_strategy_base64(result, caplog, default_conf):
def test_load_strategy_invalid_directory(result, caplog, default_conf): def test_load_strategy_invalid_directory(result, caplog, default_conf):
default_conf['strategy'] = 'DefaultStrategy' default_conf['strategy'] = 'DefaultStrategy'
extra_dir = Path.cwd() / 'some/path' extra_dir = Path.cwd() / 'some/path'
strategy = StrategyResolver._load_strategy('DefaultStrategy', config=default_conf, with pytest.raises(OperationalException):
StrategyResolver._load_strategy('DefaultStrategy', config=default_conf,
extra_dir=extra_dir) extra_dir=extra_dir)
assert log_has_re(r'Path .*' + r'some.*path.*' + r'.* does not exist', caplog) assert log_has_re(r'Path .*' + r'some.*path.*' + r'.* does not exist', caplog)
assert 'rsi' in strategy.advise_indicators(result, {'pair': 'ETH/BTC'})
def test_load_not_found_strategy(default_conf): def test_load_not_found_strategy(default_conf):
default_conf['strategy'] = 'NotFoundStrategy' default_conf['strategy'] = 'NotFoundStrategy'

View File

@ -212,6 +212,7 @@ def test_load_config_file_exception(mocker) -> None:
def test_load_config(default_conf, mocker) -> None: def test_load_config(default_conf, mocker) -> None:
del default_conf['strategy_path']
patched_configuration_load_config_file(mocker, default_conf) patched_configuration_load_config_file(mocker, default_conf)
args = Arguments(['trade']).get_parsed_arg() args = Arguments(['trade']).get_parsed_arg()