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))
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
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()
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
"""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())
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()