summaryrefslogtreecommitdiffstats
path: root/tests/units/result_manager/test_models.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-10-15 20:30:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-10-15 20:30:44 +0000
commit4a398db99d88dd17dabc408fb2b58c610792bc1e (patch)
treee5404d6d19a4d67a9428b3d10f886717b9756352 /tests/units/result_manager/test_models.py
parentAdding upstream version 1.0.0. (diff)
downloadanta-upstream.tar.xz
anta-upstream.zip
Adding upstream version 1.1.0.upstream/1.1.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/units/result_manager/test_models.py')
-rw-r--r--tests/units/result_manager/test_models.py81
1 files changed, 45 insertions, 36 deletions
diff --git a/tests/units/result_manager/test_models.py b/tests/units/result_manager/test_models.py
index 2276153..0561dff 100644
--- a/tests/units/result_manager/test_models.py
+++ b/tests/units/result_manager/test_models.py
@@ -5,56 +5,65 @@
from __future__ import annotations
-from typing import TYPE_CHECKING, Any, Callable
+from typing import TYPE_CHECKING, Callable
import pytest
-# Import as Result to avoid pytest collection
-from tests.data.json_data import TEST_RESULT_SET_STATUS
-from tests.lib.fixture import DEVICE_NAME
-from tests.lib.utils import generate_test_ids_dict
+from anta.result_manager.models import AntaTestStatus
+from tests.units.conftest import DEVICE_NAME
if TYPE_CHECKING:
+ from _pytest.mark.structures import ParameterSet
+
+ # Import as Result to avoid pytest collection
from anta.result_manager.models import TestResult as Result
+TEST_RESULT_SET_STATUS: list[ParameterSet] = [
+ pytest.param(AntaTestStatus.SUCCESS, "test success message", id="set_success"),
+ pytest.param(AntaTestStatus.ERROR, "test error message", id="set_error"),
+ pytest.param(AntaTestStatus.FAILURE, "test failure message", id="set_failure"),
+ pytest.param(AntaTestStatus.SKIPPED, "test skipped message", id="set_skipped"),
+ pytest.param(AntaTestStatus.UNSET, "test unset message", id="set_unset"),
+]
+
class TestTestResultModels:
"""Test components of anta.result_manager.models."""
- @pytest.mark.parametrize("data", TEST_RESULT_SET_STATUS, ids=generate_test_ids_dict)
- def test__is_status_foo(self, test_result_factory: Callable[[int], Result], data: dict[str, Any]) -> None:
+ @pytest.mark.parametrize(("target", "message"), TEST_RESULT_SET_STATUS)
+ def test__is_status_foo(self, test_result_factory: Callable[[int], Result], target: AntaTestStatus, message: str) -> None:
"""Test TestResult.is_foo methods."""
testresult = test_result_factory(1)
- assert testresult.result == "unset"
+ assert testresult.result == AntaTestStatus.UNSET
assert len(testresult.messages) == 0
- if data["target"] == "success":
- testresult.is_success(data["message"])
- assert testresult.result == data["target"]
- assert data["message"] in testresult.messages
- if data["target"] == "failure":
- testresult.is_failure(data["message"])
- assert testresult.result == data["target"]
- assert data["message"] in testresult.messages
- if data["target"] == "error":
- testresult.is_error(data["message"])
- assert testresult.result == data["target"]
- assert data["message"] in testresult.messages
- if data["target"] == "skipped":
- testresult.is_skipped(data["message"])
- assert testresult.result == data["target"]
- assert data["message"] in testresult.messages
- # no helper for unset, testing _set_status
- if data["target"] == "unset":
- testresult._set_status("unset", data["message"]) # pylint: disable=W0212
- assert testresult.result == data["target"]
- assert data["message"] in testresult.messages
-
- @pytest.mark.parametrize("data", TEST_RESULT_SET_STATUS, ids=generate_test_ids_dict)
- def test____str__(self, test_result_factory: Callable[[int], Result], data: dict[str, Any]) -> None:
+ if target == AntaTestStatus.SUCCESS:
+ testresult.is_success(message)
+ assert testresult.result == "success"
+ assert message in testresult.messages
+ if target == AntaTestStatus.FAILURE:
+ testresult.is_failure(message)
+ assert testresult.result == "failure"
+ assert message in testresult.messages
+ if target == AntaTestStatus.ERROR:
+ testresult.is_error(message)
+ assert testresult.result == "error"
+ assert message in testresult.messages
+ if target == AntaTestStatus.SKIPPED:
+ testresult.is_skipped(message)
+ assert testresult.result == "skipped"
+ assert message in testresult.messages
+ if target == AntaTestStatus.UNSET:
+ # no helper for unset, testing _set_status
+ testresult._set_status(AntaTestStatus.UNSET, message)
+ assert testresult.result == "unset"
+ assert message in testresult.messages
+
+ @pytest.mark.parametrize(("target", "message"), TEST_RESULT_SET_STATUS)
+ def test____str__(self, test_result_factory: Callable[[int], Result], target: AntaTestStatus, message: str) -> None:
"""Test TestResult.__str__."""
testresult = test_result_factory(1)
- assert testresult.result == "unset"
+ assert testresult.result == AntaTestStatus.UNSET
assert len(testresult.messages) == 0
- testresult._set_status(data["target"], data["message"]) # pylint: disable=W0212
- assert testresult.result == data["target"]
- assert str(testresult) == f"Test 'VerifyTest1' (on '{DEVICE_NAME}'): Result '{data['target']}'\nMessages: {[data['message']]}"
+ testresult._set_status(target, message)
+ assert testresult.result == target
+ assert str(testresult) == f"Test 'VerifyTest1' (on '{DEVICE_NAME}'): Result '{target}'\nMessages: {[message]}"