From d9eaf17a113d60568f45278eaa0ef1e39d6c8463 Mon Sep 17 00:00:00 2001 From: Evgeniy Alekseev Date: Sun, 13 Aug 2023 20:48:07 +0300 Subject: [PATCH] remove unused absolute path validator (#106) Extracted path is always absolute, so there is no need to check it --- src/ahriman/core/configuration/validator.py | 18 -------------- .../core/support/mirrorlist_trigger.py | 4 ++-- .../core/configuration/test_validator.py | 24 ------------------- 3 files changed, 2 insertions(+), 44 deletions(-) diff --git a/src/ahriman/core/configuration/validator.py b/src/ahriman/core/configuration/validator.py index d8edf399..bf146de2 100644 --- a/src/ahriman/core/configuration/validator.py +++ b/src/ahriman/core/configuration/validator.py @@ -144,24 +144,6 @@ class Validator(RootValidator): if constraint and url.scheme not in constraint: self._error(field, f"Url {value} scheme must be one of {constraint}") - def _validate_path_is_absolute(self, constraint: bool, field: str, value: Path) -> None: - """ - check if path is absolute or not - - Args: - constraint(bool): True in case if path must be absolute and False if it must be relative - field(str): field name to be checked - value(Path): value to be checked - - Examples: - The rule's arguments are validated against this schema: - {"type": "boolean"} - """ - if constraint and not value.is_absolute(): - self._error(field, f"Path {value} must be absolute") - if not constraint and value.is_absolute(): - self._error(field, f"Path {value} must be relative") - def _validate_path_exists(self, constraint: bool, field: str, value: Path) -> None: """ check if paths exists diff --git a/src/ahriman/core/support/mirrorlist_trigger.py b/src/ahriman/core/support/mirrorlist_trigger.py index a1b89373..d931adc5 100644 --- a/src/ahriman/core/support/mirrorlist_trigger.py +++ b/src/ahriman/core/support/mirrorlist_trigger.py @@ -59,8 +59,8 @@ class MirrorlistTrigger(Trigger): "type": "string", }, "path": { - "type": "string", - "path_is_absolute": True, + "type": "path", + "coerce": "absolute_path", }, "servers": { "type": "list", diff --git a/tests/ahriman/core/configuration/test_validator.py b/tests/ahriman/core/configuration/test_validator.py index 54535fa4..b6edb8ba 100644 --- a/tests/ahriman/core/configuration/test_validator.py +++ b/tests/ahriman/core/configuration/test_validator.py @@ -73,30 +73,6 @@ def test_validate_is_ip_address(validator: Validator, mocker: MockerFixture) -> ]) -def test_validate_path_is_absolute(validator: Validator, mocker: MockerFixture) -> None: - """ - must validate that path is absolute - """ - error_mock = mocker.patch("ahriman.core.configuration.validator.Validator._error") - - mocker.patch("pathlib.Path.is_absolute", return_value=False) - validator._validate_path_is_absolute(False, "field", Path("1")) - - mocker.patch("pathlib.Path.is_absolute", return_value=True) - validator._validate_path_is_absolute(False, "field", Path("2")) - - mocker.patch("pathlib.Path.is_absolute", return_value=False) - validator._validate_path_is_absolute(True, "field", Path("3")) - - mocker.patch("pathlib.Path.is_absolute", return_value=True) - validator._validate_path_is_absolute(True, "field", Path("4")) - - error_mock.assert_has_calls([ - MockCall("field", "Path 2 must be relative"), - MockCall("field", "Path 3 must be absolute"), - ]) - - def test_validate_is_url(validator: Validator, mocker: MockerFixture) -> None: """ must validate url correctly