diff options
Diffstat (limited to 'tests/pyreverse/test_writer.py')
-rw-r--r-- | tests/pyreverse/test_writer.py | 46 |
1 files changed, 20 insertions, 26 deletions
diff --git a/tests/pyreverse/test_writer.py b/tests/pyreverse/test_writer.py index 0bf92d918..ed0f5b31e 100644 --- a/tests/pyreverse/test_writer.py +++ b/tests/pyreverse/test_writer.py @@ -1,6 +1,6 @@ # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html -# For details: https://github.com/PyCQA/pylint/blob/main/LICENSE -# Copyright (c) https://github.com/PyCQA/pylint/blob/main/CONTRIBUTORS.txt +# For details: https://github.com/pylint-dev/pylint/blob/main/LICENSE +# Copyright (c) https://github.com/pylint-dev/pylint/blob/main/CONTRIBUTORS.txt """Unit test for ``DiagramWriter``.""" @@ -10,9 +10,11 @@ import codecs import os from collections.abc import Iterator from difflib import unified_diff +from pathlib import Path from unittest.mock import Mock import pytest +from pytest import MonkeyPatch from pylint.pyreverse.diadefslib import DefaultDiadefGenerator, DiadefsHandler from pylint.pyreverse.inspector import Linker, Project @@ -32,19 +34,21 @@ _DEFAULTS = { "all_associated": None, "mode": "PUB_ONLY", "show_builtin": False, + "show_stdlib": False, "only_classnames": False, "output_directory": "", + "no_standalone": False, } TEST_DATA_DIR = os.path.join(os.path.dirname(__file__), "..", "data") DOT_FILES = ["packages_No_Name.dot", "classes_No_Name.dot"] COLORIZED_DOT_FILES = ["packages_colorized.dot", "classes_colorized.dot"] -VCG_FILES = ["packages_No_Name.vcg", "classes_No_Name.vcg"] PUML_FILES = ["packages_No_Name.puml", "classes_No_Name.puml"] COLORIZED_PUML_FILES = ["packages_colorized.puml", "classes_colorized.puml"] MMD_FILES = ["packages_No_Name.mmd", "classes_No_Name.mmd"] HTML_FILES = ["packages_No_Name.html", "classes_No_Name.html"] +NO_STANDALONE_FILES = ["classes_no_standalone.dot", "packages_no_standalone.dot"] class Config: @@ -69,6 +73,11 @@ def _file_lines(path: str) -> list[str]: return [line for line in lines if line] +@pytest.fixture(autouse=True) +def change_to_temp_dir(monkeypatch: MonkeyPatch, tmp_path: Path) -> None: + monkeypatch.chdir(tmp_path) + + @pytest.fixture() def setup_dot( default_config: PyreverseConfig, get_project: GetProjectCallable @@ -88,12 +97,12 @@ def setup_colorized_dot( @pytest.fixture() -def setup_vcg( - vcg_config: PyreverseConfig, get_project: GetProjectCallable +def setup_no_standalone_dot( + no_standalone_dot_config: PyreverseConfig, get_project: GetProjectCallable ) -> Iterator[None]: - writer = DiagramWriter(vcg_config) - project = get_project(TEST_DATA_DIR) - yield from _setup(project, vcg_config, writer) + writer = DiagramWriter(no_standalone_dot_config) + project = get_project(TEST_DATA_DIR, name="no_standalone") + yield from _setup(project, no_standalone_dot_config, writer) @pytest.fixture() @@ -144,19 +153,6 @@ def _setup( diagram.extract_relationships() writer.write(dd) yield - for fname in ( - DOT_FILES - + COLORIZED_DOT_FILES - + VCG_FILES - + PUML_FILES - + COLORIZED_PUML_FILES - + MMD_FILES - + HTML_FILES - ): - try: - os.remove(fname) - except FileNotFoundError: - continue @pytest.mark.usefixtures("setup_dot") @@ -171,9 +167,9 @@ def test_colorized_dot_files(generated_file: str) -> None: _assert_files_are_equal(generated_file) -@pytest.mark.usefixtures("setup_vcg") -@pytest.mark.parametrize("generated_file", VCG_FILES) -def test_vcg_files(generated_file: str) -> None: +@pytest.mark.usefixtures("setup_no_standalone_dot") +@pytest.mark.parametrize("generated_file", NO_STANDALONE_FILES) +def test_no_standalone_dot_files(generated_file: str) -> None: _assert_files_are_equal(generated_file) @@ -238,5 +234,3 @@ def test_package_name_with_slash(default_config: PyreverseConfig) -> None: writer.write([obj]) assert os.path.exists("test_package_name_with_slash_.dot") - # remove the generated file - os.remove("test_package_name_with_slash_.dot") |