Example #1
0
def test_main(cmd_map, argv, action, debug, alias):
    """Tests that arguments are parsed correctly."""
    cmd_map.return_value = mock.Mock()
    app.main(argv)
    cmd_map.assert_called_once_with(
        argparse.Namespace(alias=alias,
                           cmd_args=[],
                           color=False,
                           action=action,
                           debug=debug))
Example #2
0
def test_main(commands, argv, cmd_cls_string):
    """Tests that arguments are parsed correctly."""
    setattr(commands, cmd_cls_string, mock.Mock())
    cmd_class = getattr(commands, cmd_cls_string)
    app.main(argv)

    cmd_class.assert_called_once_with(argv[1:],
                                      color=False,
                                      global_=False,
                                      verbose=False)
    app._CmdAction.flag = None
Example #3
0
def test_main_exceptions(_get_argparser):
    """Tests that main handles exceptions appropriately."""
    class TestError(Exception):
        pass

    def raise_error(opt, verbose=False):
        if opt == 1:
            raise errors.LocalAliasError(returncode=5)
        elif opt == 2:
            raise TestError('Test Exception')

    _get_argparser.side_effect = functools.partial(raise_error, 1)
    assert app.main() == 5

    _get_argparser.side_effect = functools.partial(raise_error, 2)
    with pytest.raises(TestError):
        app.main()
Example #4
0
def test_main_validate_args(logger, argv):
    """Tests that arguments are validated properly."""
    assert app.main(argv) == 2
    logger.error.called_once()
    localalias.app._CmdAction.flag = None
    localalias.app._CmdAction.option_string = None
Example #5
0
"""Entry point for localalias. Simply execute localalias (i.e. run `python localalias`)."""

import sys

import localalias.app as app

if __name__ == "__main__":
    sys.exit(app.main())
Example #6
0
def test_main_failure(logger, argv):
    """Tests that bad arguments result in a nonzero exit status."""
    assert app.main(argv) == 1
    logger.error.called_once()