def cli(ctx: click.Context, verbose: bool = False, no_version_check: bool = False, change_dir: str = None, no_log_file: bool = False, log_file: str = "chaostoolkit.log", log_format: str = "string", settings: str = CHAOSTOOLKIT_CONFIG_PATH, log_prefix: str = None ): if no_log_file: configure_logger( verbose=verbose, log_format=log_format, context_id=str(uuid.uuid4()), log_prefix=log_prefix) else: configure_logger( verbose=verbose, log_file=log_file, log_format=log_format, context_id=str(uuid.uuid4()), log_prefix=log_prefix) subcommand = ctx.invoked_subcommand # make it nicer for going through the log file logger.debug("#" * 79) logger.debug("Running command '{}'".format(subcommand)) ctx.obj = {} ctx.obj["settings_path"] = click.format_filename(settings) logger.debug("Using settings file '{}'".format(ctx.obj["settings_path"])) if not no_version_check: check_newer_version(command=subcommand) if change_dir: logger.warning("Moving to {d}".format(d=change_dir)) os.chdir(change_dir)
def cli(ctx: click.Context, verbose: bool=False, no_version_check: bool=False, change_dir: str=None, no_log_file: bool=False, log_file: str="chaostoolkit.log"): if verbose: logzero.loglevel(logging.DEBUG, update_custom_handlers=False) fmt = "%(color)s[%(asctime)s %(levelname)s] "\ "[%(module)s:%(lineno)d]%(end_color)s %(message)s" else: logzero.loglevel(logging.INFO, update_custom_handlers=False) fmt = "%(color)s[%(asctime)s %(levelname)s]%(end_color)s %(message)s" if not no_log_file: # let's ensure we log at DEBUG level logger.setLevel(logging.DEBUG) logzero.logfile( click.format_filename(log_file), mode='a', loglevel=logging.DEBUG) logzero.formatter( formatter=logzero.LogFormatter(fmt=fmt, datefmt="%Y-%m-%d %H:%M:%S"), update_custom_handlers=False) subcommand = ctx.invoked_subcommand # make it nicer for going through the log file logger.debug("#" * 79) logger.debug("Running command '{}'".format(subcommand)) if not no_version_check: check_newer_version(command=subcommand) if change_dir: logger.warning("Moving to {d}".format(d=change_dir)) os.chdir(change_dir)
def test_version_is_not_newer(requests): requests.get.return_value = FakeResponse( 200, "http://someplace/releases/tags/{t}".format(t=__version__) ) latest_version = check_newer_version() assert latest_version is None
def test_version_is_not_newer(requests): requests.get.return_value = FakeResponse( 200, "https://releases.chaostoolkit.org/latest", { "version": __version__, "up_to_date": True }) latest_version = check_newer_version(command="init") assert latest_version is None
def test_version_is_newer(requests): newer_version = semver.bump_minor(__version__) requests.get.return_value = FakeResponse( 200, "http://someplace/releases/tags/{t}".format(t=newer_version) ) latest_version = check_newer_version() assert latest_version == newer_version
def cli(ctx: click.Context, verbose: bool = False, no_version_check: bool = False, change_dir: str = None, no_log_file: bool = False, log_file: str = "chaostoolkit.log", settings: str = CHAOSTOOLKIT_CONFIG_PATH): if verbose: logzero.loglevel(logging.DEBUG, update_custom_handlers=False) fmt = "%(color)s[%(asctime)s %(levelname)s] "\ "[%(module)s:%(lineno)d]%(end_color)s %(message)s" else: logzero.loglevel(logging.INFO, update_custom_handlers=False) fmt = "%(color)s[%(asctime)s %(levelname)s]%(end_color)s %(message)s" if not no_log_file: # let's ensure we log at DEBUG level logger.setLevel(logging.DEBUG) logzero.logfile(click.format_filename(log_file), mode='a', loglevel=logging.DEBUG) colors = logzero.LogFormatter.DEFAULT_COLORS.copy() colors[logging.CRITICAL] = logzero.ForegroundColors.RED logzero.formatter(formatter=logzero.LogFormatter( fmt=fmt, datefmt="%Y-%m-%d %H:%M:%S", colors=colors), update_custom_handlers=False) subcommand = ctx.invoked_subcommand # make it nicer for going through the log file logger.debug("#" * 79) logger.debug("Running command '{}'".format(subcommand)) ctx.obj = {} ctx.obj["settings_path"] = click.format_filename(settings) logger.debug("Using settings file '{}'".format(ctx.obj["settings_path"])) if not no_version_check: check_newer_version(command=subcommand) if change_dir: logger.warning("Moving to {d}".format(d=change_dir)) os.chdir(change_dir)
def test_version_is_newer(requests): newer_version = semver.bump_minor(__version__) requests.get.return_value = FakeResponse( 200, "http://someplace//usage/latest/", {"version": __version__, "up_to_date": False} ) latest_version = check_newer_version(command="init") assert latest_version == __version__
def cli(verbose: bool = False, no_version_check: bool = False, change_dir: str = None): if verbose: logzero.loglevel(logging.DEBUG, update_custom_handlers=True) fmt = "%(color)s[%(asctime)s %(levelname)s] "\ "[%(module)s:%(lineno)d]%(end_color)s %(message)s" else: logzero.loglevel(logging.INFO, update_custom_handlers=True) fmt = "%(color)s[%(asctime)s %(levelname)s]%(end_color)s %(message)s" logzero.formatter(formatter=logzero.LogFormatter( fmt=fmt, datefmt="%Y-%m-%d %H:%M:%S"), update_custom_handlers=True) if not no_version_check: check_newer_version() if change_dir: logger.warning("Moving to {d}".format(d=change_dir)) os.chdir(change_dir)