def test_load_from_non_utf8_file_raises_ConfigError(tmpdir): config_path = tmpdir / 'config.conf' config = {'key': 'value'} with config_path.open(mode='wb') as handle: handle.write(serialize_config(config).encode('utf-16')) with pytest.raises(ConfigError): load_config(str(config_path))
def test_load_from_valid_config_file(tmpdir): config_path = tmpdir / 'config.conf' config = ConfigDict() config['key'] = 'value' with config_path.open(mode='wt', encoding='utf-8') as handle: handle.write(serialize_config(config)) assert load_config(str(config_path))['key'] == 'value'
def new_config(config_file): """Create a new config file. """ cfg = cosmic_ray.commands.new_config() config_str = serialize_config(cfg) config_file.write(config_str) sys.exit(ExitCode.OK)
def config(session_file): """Show the configuration for a session.""" with use_db(session_file) as database: cfg = database.get_config() print(serialize_config(cfg)) sys.exit(ExitCode.OK)
def test_load_valid_stdin(mocker): temp_stdin = io.StringIO() temp_stdin.name = 'stringio' config = ConfigDict() config['key'] = 'value' temp_stdin.write(serialize_config(config)) temp_stdin.seek(0) mocker.patch('sys.stdin', temp_stdin) assert load_config()['key'] == 'value'
def handle_new_config(args): """usage: cosmic-ray new-config <config-file> Create a new config file. """ config = cosmic_ray.commands.new_config() config_str = serialize_config(config) with open(args['<config-file>'], mode='wt') as handle: handle.write(config_str) return ExitCode.OK
def handle_config(args): """usage: cosmic-ray config <session-file> Show the configuration for in a session. """ session_file = get_db_name(args['<session-file>']) with use_db(session_file) as database: config = database.get_config() print(serialize_config(config)) return ExitCode.OK