def test_from_file(config_dir): with pytest.raises(ValueError) as e: Config.from_file("invalid") assert "Config file not found." in str(e.value) with open(str(config_dir.join("empty")), "a") as fh: fh.write("XXX") with pytest.raises(ValueError) as e: Config.from_file(str(config_dir.join("empty"))) assert "Config file is invalid." in str(e.value) conf = Config.from_file(str(config_dir.join(Config.config_name))) check_cfg(conf)
def test_from_file(config_dir): with pytest.raises(ValueError) as e: Config.from_file("invalid") assert "Config file not found." in str(e.value) with open(str(config_dir.join("empty")), "a") as fh: fh.write("XXX") with pytest.raises(ValueError) as e: Config.from_file(str(config_dir.join("empty"))) assert "Config file is invalid." in str(e.value) conf = Config.from_file(str(config_dir.join(Config.config_name))) check_cfg(conf)
def test_check_config_file_sanity(capsys, config_dir): with pytest.raises(ValueError) as e: Config.from_file(str(config_dir.join("config_sanity"))) assert "Error in config file." in str(e.value) out, err = capsys.readouterr() for line in ["✗ Config error on limit_timeline - invalid literal for int() with base 10: '2t0'", "✗ Config error on check_following - Not a boolean: TTrue", "✗ Config error on porcelain - Not a boolean: Faltse", "✗ Config error on disclose_identity - Not a boolean: Ftalse", "✗ Config error on timeout - could not convert string to float: '5t.0'", "✗ Config error on use_pager - Not a boolean: Falste", "✗ Config error on use_cache - Not a boolean: Trute"]: assert line in out
def test_check_config_file_sanity(capsys, config_dir): with pytest.raises(ValueError) as e: Config.from_file(str(config_dir.join("config_sanity"))) assert "Error in config file." in str(e.value) out, err = capsys.readouterr() for line in [ "✗ Config error on limit_timeline - invalid literal for int() with base 10: '2t0'", "✗ Config error on check_following - Not a boolean: TTrue", "✗ Config error on porcelain - Not a boolean: Faltse", "✗ Config error on disclose_identity - Not a boolean: Ftalse", "✗ Config error on timeout - could not convert string to float: '5t.0'", "✗ Config error on use_pager - Not a boolean: Falste", "✗ Config error on use_cache - Not a boolean: Trute" ]: assert line in out
def cli(ctx, config, verbose): """Decentralised, minimalist microblogging service for hackers.""" init_logging(debug=verbose) if ctx.invoked_subcommand == "quickstart": return # Skip initializing config file try: if config: conf = Config.from_file(config) else: conf = Config.discover() except ValueError as e: if "Error in config file." in str(e): click.echo( "✗ Please correct the errors mentioned above an run twtxt again." ) else: click.echo( "✗ Config file not found or not readable. You may want to run twtxt quickstart." ) sys.exit() ctx.default_map = conf.build_default_map() ctx.obj = {'conf': conf}
def cli(ctx, config, verbose): """Decentralised, minimalist microblogging service for hackers.""" init_logging(debug=verbose) try: if config: conf = Config.from_file(config) else: conf = Config.discover() except ValueError: click.echo("Error loading config file.") if not config: if click.confirm("Do you want to run the twtxt quickstart wizard?", abort=True): pass ctx.default_map = conf.build_default_map() ctx.obj = {'conf': conf}
def cli(ctx, config, verbose): """Decentralised, minimalist microblogging service for hackers.""" init_logging(debug=verbose) if ctx.invoked_subcommand == "quickstart": return try: if config: conf = Config.from_file(config) else: conf = Config.discover() except ValueError: click.echo("✗ Config file not found or not readable. You may want to run twtxt quickstart.") sys.exit() ctx.default_map = conf.build_default_map() ctx.obj = {'conf': conf}
def cli(ctx, config, verbose): """Decentralised, minimalist microblogging service for hackers.""" init_logging(debug=verbose) try: if config: conf = Config.from_file(config) else: conf = Config.discover() except ValueError: click.echo("Error loading config file.") if not config: if click.confirm("Do you want to run the twtxt quickstart wizard?", abort=True): pass ctx.default_map = conf.build_default_map() ctx.obj = {'conf': conf}
def cli(ctx, config, verbose): """Decentralised, minimalist microblogging service for hackers.""" init_logging(debug=verbose) if ctx.invoked_subcommand == "quickstart": return try: if config: conf = Config.from_file(config) else: conf = Config.discover() except ValueError: click.echo( "✗ Config file not found or not readable. You may want to run twtxt quickstart." ) sys.exit() ctx.default_map = conf.build_default_map() ctx.obj = {'conf': conf}
def cli(ctx, config, verbose): """Decentralised, minimalist microblogging service for hackers.""" init_logging(debug=verbose) if ctx.invoked_subcommand == "quickstart": return # Skip initializing config file try: if config: conf = Config.from_file(config) else: conf = Config.discover() except ValueError as e: if "Error in config file." in str(e): click.echo("✗ Please correct the errors mentioned above an run twtxt again.") else: click.echo("✗ Config file not found or not readable. You may want to run twtxt quickstart.") sys.exit() ctx.default_map = conf.build_default_map() ctx.obj = {'conf': conf}