1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
from doit.doit_cmd import DoitMain
def cmd_main(args, extra_config=None, bin_name='doit'):
if extra_config:
extra_config = {'GLOBAL': extra_config}
main = DoitMain(extra_config=extra_config)
main.BIN_NAME = bin_name
return main.run(args)
class TestHelp(object):
def test_help_usage(self, capsys):
returned = cmd_main(["help"])
assert returned == 0
out, err = capsys.readouterr()
assert "doit list" in out
def test_help_usage_custom_name(self, capsys):
returned = cmd_main(["help"], bin_name='mytool')
assert returned == 0
out, err = capsys.readouterr()
assert "mytool list" in out
def test_help_plugin_name(self, capsys):
plugin = {'XXX': 'tests.sample_plugin:MyCmd'}
main = DoitMain(extra_config={'COMMAND':plugin})
main.BIN_NAME = 'doit'
returned = main.run(["help"])
assert returned == 0
out, err = capsys.readouterr()
assert "doit XXX " in out
assert "test extending doit commands" in out, out
def test_help_task_params(self, capsys):
returned = cmd_main(["help", "task"])
assert returned == 0
out, err = capsys.readouterr()
assert "Task Dictionary parameters" in out
def test_help_cmd(self, capsys):
returned = cmd_main(["help", "list"], {'dep_file': 'foo.db'})
assert returned == 0
out, err = capsys.readouterr()
assert "PURPOSE" in out
assert "list tasks from dodo file" in out
# overwritten defaults, are shown as default
assert "file used to save successful runs [default: foo.db]" in out
def test_help_task_name(self, capsys, restore_cwd, depfile_name):
returned = cmd_main(["help", "-f", "tests/loader_sample.py",
"--db-file", depfile_name, "xxx1"])
assert returned == 0
out, err = capsys.readouterr()
assert "xxx1" in out # name
assert "task doc" in out # doc
assert "-p" in out # params
def test_help_wrong_name(self, capsys, restore_cwd, depfile_name):
returned = cmd_main(["help", "-f", "tests/loader_sample.py",
"--db-file", depfile_name, "wrong_name"])
assert returned == 0 # TODO return different value?
out, err = capsys.readouterr()
assert "doit list" in out
def test_help_no_dodo_file(self, capsys):
returned = cmd_main(["help", "-f", "no_dodo", "wrong_name"])
assert returned == 0 # TODO return different value?
out, err = capsys.readouterr()
assert "doit list" in out
|