Skip to content

Result Manager models

TestResult

Bases: BaseModel

Describe the result of a test from a single device.

Attributes:

Name Type Description
name str

Device name where the test has run.

test str

Test name runs on the device.

test_category List[str]

List of test categories the test belongs to.

test_description str

Test description.

results str

Result of the test. Can be one of [“unset”, “success”, “failure”, “error”, “skipped”].

message str

Message to report after the test if any.

is_error

is_error(message: str = '') -> bool

Helper to set status to error

Parameters:

Name Type Description Default
message str

Optional message related to the test

''

Returns:

Name Type Description
bool bool

Always true

Source code in anta/result_manager/models.py
87
88
89
90
91
92
93
94
95
96
97
def is_error(self, message: str = "") -> bool:
    """
    Helper to set status to error

    Args:
        message (str): Optional message related to the test

    Returns:
        bool: Always true
    """
    return self._set_status("error", message)

is_failure

is_failure(message: str = '') -> bool

Helper to set status to failure

Parameters:

Name Type Description Default
message str

Optional message related to the test

''

Returns:

Name Type Description
bool bool

Always true

Source code in anta/result_manager/models.py
63
64
65
66
67
68
69
70
71
72
73
def is_failure(self, message: str = "") -> bool:
    """
    Helper to set status to failure

    Args:
        message (str): Optional message related to the test

    Returns:
        bool: Always true
    """
    return self._set_status("failure", message)

is_skipped

is_skipped(message: str = '') -> bool

Helper to set status to skipped

Parameters:

Name Type Description Default
message str

Optional message related to the test

''

Returns:

Name Type Description
bool bool

Always true

Source code in anta/result_manager/models.py
75
76
77
78
79
80
81
82
83
84
85
def is_skipped(self, message: str = "") -> bool:
    """
    Helper to set status to skipped

    Args:
        message (str): Optional message related to the test

    Returns:
        bool: Always true
    """
    return self._set_status("skipped", message)

is_success

is_success(message: str = '') -> bool

Helper to set status to success

Parameters:

Name Type Description Default
message str

Optional message related to the test

''

Returns:

Name Type Description
bool bool

Always true

Source code in anta/result_manager/models.py
51
52
53
54
55
56
57
58
59
60
61
def is_success(self, message: str = "") -> bool:
    """
    Helper to set status to success

    Args:
        message (str): Optional message related to the test

    Returns:
        bool: Always true
    """
    return self._set_status("success", message)

name_must_be_in classmethod

name_must_be_in(v: str) -> str

Status validator

Validate status is a supported one

Parameters:

Name Type Description Default
v str

User defined status

required

Raises:

Type Description
ValueError

If status is unsupported

Returns:

Name Type Description
str str

status value

Source code in anta/result_manager/models.py
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
@classmethod
@field_validator("result")
def name_must_be_in(cls, v: str) -> str:
    """
    Status validator

    Validate status is a supported one

    Args:
        v (str): User defined status

    Raises:
        ValueError: If status is unsupported

    Returns:
        str: status value
    """
    if v not in RESULT_OPTIONS:
        raise ValueError(f"must be one of {RESULT_OPTIONS}")
    return v

ListResult

Bases: RootModel[List[TestResult]]

List result for all tests on all devices.

Attributes:

Name Type Description
__root__ List[TestResult]

A list of TestResult objects.

append

append(value: TestResult) -> None

Add support for append method.

Source code in anta/result_manager/models.py
136
137
138
def append(self, value: TestResult) -> None:
    """Add support for append method."""
    self.root.append(value)

extend

extend(values: List[TestResult]) -> None

Add support for extend method.

Source code in anta/result_manager/models.py
132
133
134
def extend(self, values: List[TestResult]) -> None:
    """Add support for extend method."""
    self.root.extend(values)

Last update: July 19, 2023