コード例 #1
0
def test_script_show_good_script(capsys):
    script.script("nixconfig", ["show", "script1"])
    _out, _err = capsys.readouterr()

    assert "print('This is code 1')" in _out, "'This is code 1' should be in output"
    assert "tag1" in _out, "'tag1' should be in output"
    assert "tag2" in _out, "'tag2' should be in output"
    assert len(_err) is 0, "StdErr should be empty, contains: {}".format(_err)
コード例 #2
0
def test_script_list_good_tag(capsys):
    script.script("nixconfig", ["list", "tag1"])
    _out, _err = capsys.readouterr()

    assert "script1" in _out, "'script1' should be in output"
    assert "script2" in _out, "'script2' should be in output"
    assert "script3" not in _out, "'script3' should be in output"
    assert len(_err) is 0, "StdErr should be empty, contains: {}".format(_err)
コード例 #3
0
def test_script_delete_bad_script(capsys):
    with pytest.raises(NixError) as _excinfo:
        script.script("nixconfig", ["delete", "badscript"])

    _out, _err = capsys.readouterr()

    assert "Unable to find script: badscript" in str(_excinfo.value)
    assert len(_out) is 0, "StdOut should be empty, contains: {}".format(_out)
    assert len(_err) is 0, "StdErr should be empty, contains: {}".format(_err)
コード例 #4
0
def test_script_rename_to_exist_script(capsys):
    with pytest.raises(NixError) as _excinfo:
        script.script("nixconfig", ["rename", "badscript", "script1"])

    _out, _err = capsys.readouterr()

    assert "New script name is already used: script1" in str(_excinfo.value)
    assert len(_out) is 0, "StdOut should be empty, contains: {}".format(_out)
    assert len(_err) is 0, "StdErr should be empty, contains: {}".format(_err)
コード例 #5
0
def test_script_list_bad_tag(capsys):
    with pytest.raises(NixError) as _excinfo:
        script.script("nixconfig", ["list", "badtag"])

    _out, _err = capsys.readouterr()

    assert "Unknown tags" in str(_excinfo.value)
    assert len(_out) is 0, "StdOut should be empty, contains: {}".format(_out)
    assert len(_err) is 0, "StdErr should be empty, contains: {}".format(_err)
コード例 #6
0
ファイル: test_script.py プロジェクト: mbiciunas/nixconfig
def test_script_no_command(capsys):
    with pytest.raises(NixError) as _excinfo:
        script.script("nixconfig", [])

    _out, _err = capsys.readouterr()
    assert "Missing script command" in str(
        _excinfo.value), "exception doesn't contain expected string"
    assert "usage: nixconfig script" in _out, "StdOut doesn't contain expected string"
    assert len(_err) is 0, "StdErr should be empty, contains: {}".format(_err)
コード例 #7
0
def test_script_create_existing_script(capsys):
    with pytest.raises(NixError) as _excinfo:
        script.script("nixconfig", ["create", "script1", "new script", "tag3"])

    _out, _err = capsys.readouterr()

    assert "Script already exists: script1" in str(_excinfo.value)
    assert len(_out) is 0, "StdOut should be empty, contains: {}".format(_out)
    assert len(_err) is 0, "StdErr should be empty, contains: {}".format(_err)
コード例 #8
0
def test_script_delete_no_script(capsys):
    with pytest.raises(SystemExit) as _excinfo:
        script.script("nixconfig", ["delete"])

    _out, _err = capsys.readouterr()

    assert "2" in str(
        _excinfo.value), "Exception doesn't contain expected string"
    assert len(_out) == 0, "StdOut should be empty, contains: {}".format(_out)
    assert "the following arguments are required: name" in _err, "StdErr doesn't contain expected string"
コード例 #9
0
def test_script_rename_no_script(capsys):
    with pytest.raises(SystemExit) as _excinfo:
        script.script("nixconfig", ["rename"])

    _out, _err = capsys.readouterr()

    assert _excinfo.value.code is 2, "Incorrect exit code.  Should be 2, received {}".format(
        _excinfo.value.code)
    assert len(_out) == 0, "StdOut should be empty, contains: {}".format(_out)
    assert "the following arguments are required: name, name_new" in _err, "StdErr doesn't contain expected string"
コード例 #10
0
def test_script_rename_same(capsys):
    with pytest.raises(NixError) as _excinfo:
        script.script("nixconfig", ["rename", "script1", "script1"])

    _out, _err = capsys.readouterr()

    assert "Old and new script names are the same: script1" in str(
        _excinfo.value)
    assert len(_out) is 0, "StdOut should be empty, contains: {}".format(_out)
    assert len(_err) is 0, "StdErr should be empty, contains: {}".format(_err)
コード例 #11
0
ファイル: test_script.py プロジェクト: mbiciunas/nixconfig
def test_script_bad_command(capsys):
    with pytest.raises(SystemExit) as _excinfo:
        script.script("nixconfig", ["asdf"])

    _out, _err = capsys.readouterr()

    assert "2" in str(
        _excinfo.value), "Exception doesn't contain expected string"
    assert len(_out) == 0, "StdOut should be empty, contains: {}".format(_out)
    assert "invalid choice" in _err, "StdErr doesn't contain expected string"
コード例 #12
0
def test_script_rename_good_script(capsys):
    script.script("nixconfig", ["rename", "script1", "newscript"])

    _out, _err = capsys.readouterr()

    assert len(_out) is 0, "StdOut should be empty, contains: {}".format(_out)
    assert len(_err) is 0, "StdErr should be empty, contains: {}".format(_err)

    script.script("nixconfig", ["rename", "newscript", "script1"])

    _out, _err = capsys.readouterr()

    assert len(_out) is 0, "StdOut should be empty, contains: {}".format(_out)
    assert len(_err) is 0, "StdErr should be empty, contains: {}".format(_err)
コード例 #13
0
ファイル: cli.py プロジェクト: mbiciunas/nixconfig
def make_parser(sys_argv):
    """
    Command line argument parser for the Nixconfig program.

    """
    LOG.debug("Call parser")

    parser = argparse.ArgumentParser(
        description='Configure Nix',
        usage='''nixconfig {script,script-tag,tag} [<args>]

Commands:
    script              create, delete, update... scripts
    script-tag          add, remove, list... tags from scripts
    tag                 create, delete, list... tags
        ''')

    parser.add_argument('command',
                        nargs="?",
                        default="",
                        help='Subcommand to run')

    args = parser.parse_args(sys_argv[1:2])

    _prog = sys.argv[0].rsplit("/", 1)[-1]

    if args.command == "script":
        script.script(_prog, sys_argv[2:])
    elif args.command == "script-tag":
        script_tag.script_tag(_prog, sys_argv[2:])
    elif args.command == "tag":
        tag.tag(_prog, sys_argv[2:])
    else:
        print('Unrecognized command')
        parser.print_help()
        exit(1)
コード例 #14
0
def test_script_run_good_script(capsys):
    script.script("nixconfig", ["run", "script1"])
    _out, _err = capsys.readouterr()

    assert "This is code 1" in _out, "'This is code 1' should be in output"
    assert len(_err) is 0, "StdErr should be empty, contains: {}".format(_err)