def test_importanize_incompatible_groups(self) -> None: self.config.groups = [GroupConfig(type="stdlib")] result = next( run_importanize_on_source(self.input_text, RuntimeConfig(_config=self.config))) assert not result.is_success
def test_importanize_dir(self) -> None: result = list( run_importanize_on_source( self.subconfig_test_data, RuntimeConfig(formatter_name="grouped", _config=self.config), )) assert self.input_few_imports in (i.path for i in result)
def test_importanize_lines(self) -> None: result = next( run_importanize_on_source( self.input_text, RuntimeConfig(formatter_name="lines", _config=self.config), )) assert result.organized == self.output_lines.read_text()
def test_importanize_skipping_dir(self) -> None: self.config.exclude = ["*/test_data"] result = list( run_importanize_on_source( self.test_data, RuntimeConfig(formatter_name="grouped", _config=self.config), )) assert result == []
def test_importanize_skipping_file_backslash(self) -> None: self.config.exclude = ["*\\test_data\\*.py"] result = list( run_importanize_on_source( self.input_text, RuntimeConfig(formatter_name="grouped", _config=self.config), )) assert result == []
def test_importanize_invalid_encoding(self) -> None: result = next( run_importanize_on_source( self.invalid.with_streams(filein=io.BytesIO( "# -*- coding: ascii -*-\nпривет".encode("utf-8"))), RuntimeConfig(_config=self.config), )) assert not result.is_success
def test_importanize_no_changes(self) -> None: result = next( run_importanize_on_source( self.output_grouped, RuntimeConfig(formatter_name="grouped", _config=self.config), )) assert result.organized == self.output_grouped.read_text() assert not result.has_changes assert result.is_success
def test_importanize_grouped_no_add_lines(self) -> None: self.config.after_imports_normalize_new_lines = False result = next( run_importanize_on_source( self.input_text, RuntimeConfig(formatter_name="grouped", _config=self.config), )) assert result.organized == self.output_grouped_no_add_lines.read_text() assert result.has_changes assert result.is_success
def test_importanize_skipping_file_relative(self) -> None: self.config.exclude = ["tests\\test_data/*.py"] self.config.path = TEST_DATA.parent.parent / "setup.ini" result = list( run_importanize_on_source( self.input_text, RuntimeConfig( formatter_name="grouped", is_subconfig_allowed=False, _config=self.config, ), )) assert result == []
def test_importanize_invalid_python(self) -> None: result = next( run_importanize_on_source(self.invalid, RuntimeConfig(_config=self.config))) assert not result.is_success
def test_importanize_no_imports(self) -> None: result = next( run_importanize_on_source(self.input_no_imports, RuntimeConfig(_config=self.config))) assert result.organized == self.output_no_imports.read_text()