Exemple #1
0
 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)
Exemple #2
0
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
Exemple #3
0
    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
Exemple #4
0
    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
Exemple #5
0
    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
Exemple #6
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)