def test_task_help(self, snapshot, capsys): # task specific help is rendered if a task_name is given help = resolve_task("help") assert help("clean") == 0 out, err = capsys.readouterr() snapshot.assert_match(out) snapshot.assert_match(err)
def test_load(mock_environment): # CORE is loaded by mock_environment from ixian.modules.core import OPTIONS from ixian.modules.core import tasks from ixian.config import Config # all tasks are loaded assert resolve_task("help") is tasks.Help.__task__ assert resolve_task("clean") is tasks.Clean.__task__ assert resolve_task("lint") is tasks.Lint.__task__ assert resolve_task("test") is tasks.Test.__task__ # verify options and config loaded assert "CORE" in MODULES assert MODULES["CORE"] == OPTIONS assert type(CONFIG) == Config
def test_load_module_no_config(self): """Config option is not required""" from ixian.tests.mocks.modules.no_config import OPTIONS from ixian.tests.mocks.modules.no_config.tasks import TestTask load_module("ixian.tests.mocks.modules.no_config") assert resolve_task("test_task") is TestTask.__task__ assert "NO_CONFIG" in MODULES assert MODULES["NO_CONFIG"] == OPTIONS
def test_load_module(self): """Successfully load a module""" from ixian.tests.mocks.modules.functional import OPTIONS from ixian.tests.mocks.modules.functional.tasks import TestTask from ixian.tests.mocks.modules.functional.config import TestConfig load_module("ixian.tests.mocks.modules.functional") assert resolve_task("test_task") is TestTask.__task__ assert "FUNCTIONAL" in MODULES assert MODULES["FUNCTIONAL"] == OPTIONS assert type(CONFIG.FUNCTIONAL) == TestConfig
def execute(self, task_name=None): from ixian import runner if task_name: subtask = runner.resolve_task(task_name) buffer = io.StringIO() subtask.render_help(buffer) print(buffer.getvalue()) buffer.close() else: parser = runner.get_parser() parser.print_help() return 0
def test_general_help(self, snapshot, capsys): # general help is shown when no args are passed to task help = resolve_task("help") assert help() == 0 out, err = capsys.readouterr() snapshot.assert_match(out)