summaryrefslogtreecommitdiff
path: root/tests/pyreverse/test_writer.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/pyreverse/test_writer.py')
-rw-r--r--tests/pyreverse/test_writer.py46
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")