Merging upstream version 1.1.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
50f8dbf7e8
commit
2044ea6182
196 changed files with 10121 additions and 3780 deletions
|
@ -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
|
||||
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("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:
|
||||
@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]}"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue