def test_parse_and_run_command(): assert args.parse_and_run_command(['help'], commands, default_command=None) assert not args.parse_and_run_command(['badcommand'], commands, default_command=None, exit_on_error=False) assert not sys.exit.called assert not args.parse_and_run_command(['badcommand'], commands, default_command=None, exit_on_error=True) assert sys.exit.called assert not args.parse_and_run_command(['badcommand'], commands, default_command='help', exit_on_error=False) assert args.parse_and_run_command([], commands, default_command='send', exit_on_error=False) assert args.parse_and_run_command([], commands, default_command='help', exit_on_error=False)
def test_no_command_or_default(): args.parse_and_run_command([], commands, default_command=None, exit_on_error=False)
def test_invalid_options(): args.parse_and_run_command(['log -foobar'], commands) args.parse_and_run_command(['log badarg'], commands) assert sys.exit.called