summaryrefslogtreecommitdiffstats
path: root/tests/units/anta_tests/test_interfaces.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/units/anta_tests/test_interfaces.py')
-rw-r--r--tests/units/anta_tests/test_interfaces.py130
1 files changed, 127 insertions, 3 deletions
diff --git a/tests/units/anta_tests/test_interfaces.py b/tests/units/anta_tests/test_interfaces.py
index b8cf493..ea8106e 100644
--- a/tests/units/anta_tests/test_interfaces.py
+++ b/tests/units/anta_tests/test_interfaces.py
@@ -21,12 +21,13 @@ from anta.tests.interfaces import (
VerifyIpVirtualRouterMac,
VerifyL2MTU,
VerifyL3MTU,
+ VerifyLACPInterfacesStatus,
VerifyLoopbackCount,
VerifyPortChannels,
VerifyStormControlDrops,
VerifySVI,
)
-from tests.lib.anta import test # noqa: F401; pylint: disable=W0611
+from tests.units.anta_tests import test
DATA: list[dict[str, Any]] = [
{
@@ -651,7 +652,7 @@ DATA: list[dict[str, Any]] = [
],
"inputs": {"threshold": 70.0},
"expected": {
- "result": "error",
+ "result": "failure",
"messages": ["Interface Ethernet1/1 or one of its member interfaces is not Full-Duplex. VerifyInterfaceUtilization has not been implemented."],
},
},
@@ -796,7 +797,7 @@ DATA: list[dict[str, Any]] = [
],
"inputs": {"threshold": 70.0},
"expected": {
- "result": "error",
+ "result": "failure",
"messages": ["Interface Port-Channel31 or one of its member interfaces is not Full-Duplex. VerifyInterfaceUtilization has not been implemented."],
},
},
@@ -2441,4 +2442,127 @@ DATA: list[dict[str, Any]] = [
],
},
},
+ {
+ "name": "success",
+ "test": VerifyLACPInterfacesStatus,
+ "eos_data": [
+ {
+ "portChannels": {
+ "Port-Channel5": {
+ "interfaces": {
+ "Ethernet5": {
+ "actorPortStatus": "bundled",
+ "partnerPortState": {
+ "activity": True,
+ "timeout": False,
+ "aggregation": True,
+ "synchronization": True,
+ "collecting": True,
+ "distributing": True,
+ },
+ "actorPortState": {
+ "activity": True,
+ "timeout": False,
+ "aggregation": True,
+ "synchronization": True,
+ "collecting": True,
+ "distributing": True,
+ },
+ }
+ }
+ }
+ },
+ "interface": "Ethernet5",
+ "orphanPorts": {},
+ }
+ ],
+ "inputs": {"interfaces": [{"name": "Ethernet5", "portchannel": "Port-Channel5"}]},
+ "expected": {"result": "success"},
+ },
+ {
+ "name": "failure-not-bundled",
+ "test": VerifyLACPInterfacesStatus,
+ "eos_data": [
+ {
+ "portChannels": {
+ "Port-Channel5": {
+ "interfaces": {
+ "Ethernet5": {
+ "actorPortStatus": "No Aggregate",
+ }
+ }
+ }
+ },
+ "interface": "Ethernet5",
+ "orphanPorts": {},
+ }
+ ],
+ "inputs": {"interfaces": [{"name": "Ethernet5", "portchannel": "Po5"}]},
+ "expected": {
+ "result": "failure",
+ "messages": ["For Interface Ethernet5:\nExpected `bundled` as the local port status, but found `No Aggregate` instead.\n"],
+ },
+ },
+ {
+ "name": "failure-no-details-found",
+ "test": VerifyLACPInterfacesStatus,
+ "eos_data": [
+ {
+ "portChannels": {"Port-Channel5": {"interfaces": {}}},
+ }
+ ],
+ "inputs": {"interfaces": [{"name": "Ethernet5", "portchannel": "Po 5"}]},
+ "expected": {
+ "result": "failure",
+ "messages": ["Interface 'Ethernet5' is not configured to be a member of LACP 'Port-Channel5'."],
+ },
+ },
+ {
+ "name": "failure-lacp-params",
+ "test": VerifyLACPInterfacesStatus,
+ "eos_data": [
+ {
+ "portChannels": {
+ "Port-Channel5": {
+ "interfaces": {
+ "Ethernet5": {
+ "actorPortStatus": "bundled",
+ "partnerPortState": {
+ "activity": False,
+ "timeout": False,
+ "aggregation": False,
+ "synchronization": False,
+ "collecting": True,
+ "distributing": True,
+ },
+ "actorPortState": {
+ "activity": False,
+ "timeout": False,
+ "aggregation": False,
+ "synchronization": False,
+ "collecting": True,
+ "distributing": True,
+ },
+ }
+ }
+ }
+ },
+ "interface": "Ethernet5",
+ "orphanPorts": {},
+ }
+ ],
+ "inputs": {"interfaces": [{"name": "Ethernet5", "portchannel": "port-channel 5"}]},
+ "expected": {
+ "result": "failure",
+ "messages": [
+ "For Interface Ethernet5:\n"
+ "Actor port details:\nExpected `True` as the activity, but found `False` instead."
+ "\nExpected `True` as the aggregation, but found `False` instead."
+ "\nExpected `True` as the synchronization, but found `False` instead."
+ "\nPartner port details:\nExpected `True` as the activity, but found `False` instead.\n"
+ "Expected `True` as the aggregation, but found `False` instead.\n"
+ "Expected `True` as the synchronization, but found `False` instead.\n"
+ ],
+ },
+ },
]