def test_build_from_config_analyse_dep_failure(task_workbench, task_config): """Test creating a task from a config object. """ task_config['task_id'] = '__dummy__' with pytest.raises(RuntimeError): build_task_from_config(task_config, task_workbench)
def test_build_from_config_collecting_dep_failure(task_workbench, task_config, monkeypatch): """Test creating a task from a config object. """ plugin = task_workbench.get_plugin('ecpy.app.dependencies') cls = type(plugin.build_deps.contributions['ecpy.task']) class FalseCollector(cls): def collect(self, kind, dependencies, owner=None): raise RuntimeError() monkeypatch.setitem(plugin.build_deps.contributions, 'ecpy.task', FalseCollector()) with pytest.raises(RuntimeError): build_task_from_config(task_config, task_workbench)
def test_build_from_config_as_root(task_workbench, task_config): """Test creating a root task from a config object. """ task = build_task_from_config(task_config, task_workbench, True) assert task.name == 'Root' assert type(task).__name__ == 'RootTask'
def test_build_from_config_dependencies_failure(task_workbench, task_config): """Test creating a task from a config object. """ task_config['task_class'] = '__dummy__' task = build_task_from_config(task_config, task_workbench) assert task is None
def test_build_from_config(task_workbench, task_config): """Test creating a task from a config object. """ from ecpy.tasks.api import ComplexTask task = build_task_from_config(task_config, {'ecpy.task': {'ComplexTask': ComplexTask}}) assert task.name == 'Test' assert isinstance(task, ComplexTask)
def test_build_from_config(task_workbench, task_config): """Test creating a task from a config object. """ from ecpy.tasks.api import ComplexTask task = build_task_from_config(task_config, {'ecpy.task': {'ecpy.ComplexTask': ComplexTask}}) assert task.name == 'Test' assert isinstance(task, ComplexTask)