summaryrefslogtreecommitdiffstats
path: root/tests/units/anta_tests/test_hardware.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/units/anta_tests/test_hardware.py')
-rw-r--r--tests/units/anta_tests/test_hardware.py918
1 files changed, 918 insertions, 0 deletions
diff --git a/tests/units/anta_tests/test_hardware.py b/tests/units/anta_tests/test_hardware.py
new file mode 100644
index 0000000..5279d89
--- /dev/null
+++ b/tests/units/anta_tests/test_hardware.py
@@ -0,0 +1,918 @@
+# Copyright (c) 2023-2024 Arista Networks, Inc.
+# Use of this source code is governed by the Apache License 2.0
+# that can be found in the LICENSE file.
+"""Test inputs for anta.tests.hardware"""
+from __future__ import annotations
+
+from typing import Any
+
+from anta.tests.hardware import (
+ VerifyAdverseDrops,
+ VerifyEnvironmentCooling,
+ VerifyEnvironmentPower,
+ VerifyEnvironmentSystemCooling,
+ VerifyTemperature,
+ VerifyTransceiversManufacturers,
+ VerifyTransceiversTemperature,
+)
+from tests.lib.anta import test # noqa: F401; pylint: disable=W0611
+
+DATA: list[dict[str, Any]] = [
+ {
+ "name": "success",
+ "test": VerifyTransceiversManufacturers,
+ "eos_data": [
+ {
+ "xcvrSlots": {
+ "1": {"mfgName": "Arista Networks", "modelName": "QSFP-100G-DR", "serialNum": "XKT203501340", "hardwareRev": "21"},
+ "2": {"mfgName": "Arista Networks", "modelName": "QSFP-100G-DR", "serialNum": "XKT203501337", "hardwareRev": "21"},
+ }
+ }
+ ],
+ "inputs": {"manufacturers": ["Arista Networks"]},
+ "expected": {"result": "success"},
+ },
+ {
+ "name": "failure",
+ "test": VerifyTransceiversManufacturers,
+ "eos_data": [
+ {
+ "xcvrSlots": {
+ "1": {"mfgName": "Arista Networks", "modelName": "QSFP-100G-DR", "serialNum": "XKT203501340", "hardwareRev": "21"},
+ "2": {"mfgName": "Arista Networks", "modelName": "QSFP-100G-DR", "serialNum": "XKT203501337", "hardwareRev": "21"},
+ }
+ }
+ ],
+ "inputs": {"manufacturers": ["Arista"]},
+ "expected": {"result": "failure", "messages": ["Some transceivers are from unapproved manufacturers: {'1': 'Arista Networks', '2': 'Arista Networks'}"]},
+ },
+ {
+ "name": "success",
+ "test": VerifyTemperature,
+ "eos_data": [
+ {
+ "powercycleOnOverheat": "False",
+ "ambientThreshold": 45,
+ "cardSlots": [],
+ "shutdownOnOverheat": "True",
+ "systemStatus": "temperatureOk",
+ "recoveryModeOnOverheat": "recoveryModeNA",
+ }
+ ],
+ "inputs": None,
+ "expected": {"result": "success"},
+ },
+ {
+ "name": "failure",
+ "test": VerifyTemperature,
+ "eos_data": [
+ {
+ "powercycleOnOverheat": "False",
+ "ambientThreshold": 45,
+ "cardSlots": [],
+ "shutdownOnOverheat": "True",
+ "systemStatus": "temperatureKO",
+ "recoveryModeOnOverheat": "recoveryModeNA",
+ }
+ ],
+ "inputs": None,
+ "expected": {"result": "failure", "messages": ["Device temperature exceeds acceptable limits. Current system status: 'temperatureKO'"]},
+ },
+ {
+ "name": "success",
+ "test": VerifyTransceiversTemperature,
+ "eos_data": [
+ {
+ "tempSensors": [
+ {
+ "maxTemperature": 25.03125,
+ "maxTemperatureLastChange": 1682509618.2227979,
+ "hwStatus": "ok",
+ "alertCount": 0,
+ "description": "Xcvr54 temp sensor",
+ "overheatThreshold": 70.0,
+ "criticalThreshold": 70.0,
+ "inAlertState": False,
+ "targetTemperature": 62.0,
+ "relPos": "54",
+ "currentTemperature": 24.171875,
+ "setPointTemperature": 61.8,
+ "pidDriverCount": 0,
+ "isPidDriver": False,
+ "name": "DomTemperatureSensor54",
+ }
+ ],
+ "cardSlots": [],
+ }
+ ],
+ "inputs": None,
+ "expected": {"result": "success"},
+ },
+ {
+ "name": "failure-hwStatus",
+ "test": VerifyTransceiversTemperature,
+ "eos_data": [
+ {
+ "tempSensors": [
+ {
+ "maxTemperature": 25.03125,
+ "maxTemperatureLastChange": 1682509618.2227979,
+ "hwStatus": "ko",
+ "alertCount": 0,
+ "description": "Xcvr54 temp sensor",
+ "overheatThreshold": 70.0,
+ "criticalThreshold": 70.0,
+ "inAlertState": False,
+ "targetTemperature": 62.0,
+ "relPos": "54",
+ "currentTemperature": 24.171875,
+ "setPointTemperature": 61.8,
+ "pidDriverCount": 0,
+ "isPidDriver": False,
+ "name": "DomTemperatureSensor54",
+ }
+ ],
+ "cardSlots": [],
+ }
+ ],
+ "inputs": None,
+ "expected": {
+ "result": "failure",
+ "messages": [
+ "The following sensors are operating outside the acceptable temperature range or have raised alerts: "
+ "{'DomTemperatureSensor54': "
+ "{'hwStatus': 'ko', 'alertCount': 0}}"
+ ],
+ },
+ },
+ {
+ "name": "failure-alertCount",
+ "test": VerifyTransceiversTemperature,
+ "eos_data": [
+ {
+ "tempSensors": [
+ {
+ "maxTemperature": 25.03125,
+ "maxTemperatureLastChange": 1682509618.2227979,
+ "hwStatus": "ok",
+ "alertCount": 1,
+ "description": "Xcvr54 temp sensor",
+ "overheatThreshold": 70.0,
+ "criticalThreshold": 70.0,
+ "inAlertState": False,
+ "targetTemperature": 62.0,
+ "relPos": "54",
+ "currentTemperature": 24.171875,
+ "setPointTemperature": 61.8,
+ "pidDriverCount": 0,
+ "isPidDriver": False,
+ "name": "DomTemperatureSensor54",
+ }
+ ],
+ "cardSlots": [],
+ }
+ ],
+ "inputs": None,
+ "expected": {
+ "result": "failure",
+ "messages": [
+ "The following sensors are operating outside the acceptable temperature range or have raised alerts: "
+ "{'DomTemperatureSensor54': "
+ "{'hwStatus': 'ok', 'alertCount': 1}}"
+ ],
+ },
+ },
+ {
+ "name": "success",
+ "test": VerifyEnvironmentSystemCooling,
+ "eos_data": [
+ {
+ "defaultZones": False,
+ "numCoolingZones": [],
+ "coolingMode": "automatic",
+ "ambientTemperature": 24.5,
+ "shutdownOnInsufficientFans": True,
+ "airflowDirection": "frontToBackAirflow",
+ "overrideFanSpeed": 0,
+ "powerSupplySlots": [],
+ "fanTraySlots": [],
+ "minFanSpeed": 0,
+ "currentZones": 1,
+ "configuredZones": 0,
+ "systemStatus": "coolingOk",
+ }
+ ],
+ "inputs": None,
+ "expected": {"result": "success"},
+ },
+ {
+ "name": "failure",
+ "test": VerifyEnvironmentSystemCooling,
+ "eos_data": [
+ {
+ "defaultZones": False,
+ "numCoolingZones": [],
+ "coolingMode": "automatic",
+ "ambientTemperature": 24.5,
+ "shutdownOnInsufficientFans": True,
+ "airflowDirection": "frontToBackAirflow",
+ "overrideFanSpeed": 0,
+ "powerSupplySlots": [],
+ "fanTraySlots": [],
+ "minFanSpeed": 0,
+ "currentZones": 1,
+ "configuredZones": 0,
+ "systemStatus": "coolingKo",
+ }
+ ],
+ "inputs": None,
+ "expected": {"result": "failure", "messages": ["Device system cooling is not OK: 'coolingKo'"]},
+ },
+ {
+ "name": "success",
+ "test": VerifyEnvironmentCooling,
+ "eos_data": [
+ {
+ "defaultZones": False,
+ "numCoolingZones": [],
+ "coolingMode": "automatic",
+ "ambientTemperature": 24.5,
+ "shutdownOnInsufficientFans": True,
+ "airflowDirection": "frontToBackAirflow",
+ "overrideFanSpeed": 0,
+ "powerSupplySlots": [
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "ok",
+ "uptime": 1682498937.0240965,
+ "maxSpeed": 23000,
+ "lastSpeedStableChangeTime": 1682499033.0403435,
+ "configuredSpeed": 30,
+ "actualSpeed": 33,
+ "speedHwOverride": True,
+ "speedStable": True,
+ "label": "PowerSupply1/1",
+ }
+ ],
+ "speed": 30,
+ "label": "PowerSupply1",
+ },
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "ok",
+ "uptime": 1682498935.9121106,
+ "maxSpeed": 23000,
+ "lastSpeedStableChangeTime": 1682499092.4665174,
+ "configuredSpeed": 30,
+ "actualSpeed": 33,
+ "speedHwOverride": True,
+ "speedStable": True,
+ "label": "PowerSupply2/1",
+ }
+ ],
+ "speed": 30,
+ "label": "PowerSupply2",
+ },
+ ],
+ "fanTraySlots": [
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "ok",
+ "uptime": 1682498923.9303148,
+ "maxSpeed": 17500,
+ "lastSpeedStableChangeTime": 1682498975.0139885,
+ "configuredSpeed": 30,
+ "actualSpeed": 29,
+ "speedHwOverride": False,
+ "speedStable": True,
+ "label": "1/1",
+ }
+ ],
+ "speed": 30,
+ "label": "1",
+ },
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "ok",
+ "uptime": 1682498923.9304729,
+ "maxSpeed": 17500,
+ "lastSpeedStableChangeTime": 1682498939.9329433,
+ "configuredSpeed": 30,
+ "actualSpeed": 30,
+ "speedHwOverride": False,
+ "speedStable": True,
+ "label": "2/1",
+ }
+ ],
+ "speed": 30,
+ "label": "2",
+ },
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "ok",
+ "uptime": 1682498923.9383528,
+ "maxSpeed": 17500,
+ "lastSpeedStableChangeTime": 1682498975.0140095,
+ "configuredSpeed": 30,
+ "actualSpeed": 30,
+ "speedHwOverride": False,
+ "speedStable": True,
+ "label": "3/1",
+ }
+ ],
+ "speed": 30,
+ "label": "3",
+ },
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "ok",
+ "uptime": 1682498923.9303904,
+ "maxSpeed": 17500,
+ "lastSpeedStableChangeTime": 1682498975.0140295,
+ "configuredSpeed": 30,
+ "actualSpeed": 30,
+ "speedHwOverride": False,
+ "speedStable": True,
+ "label": "4/1",
+ }
+ ],
+ "speed": 30,
+ "label": "4",
+ },
+ ],
+ "minFanSpeed": 0,
+ "currentZones": 1,
+ "configuredZones": 0,
+ "systemStatus": "coolingOk",
+ }
+ ],
+ "inputs": {"states": ["ok"]},
+ "expected": {"result": "success"},
+ },
+ {
+ "name": "success-additional-states",
+ "test": VerifyEnvironmentCooling,
+ "eos_data": [
+ {
+ "defaultZones": False,
+ "numCoolingZones": [],
+ "coolingMode": "automatic",
+ "ambientTemperature": 24.5,
+ "shutdownOnInsufficientFans": True,
+ "airflowDirection": "frontToBackAirflow",
+ "overrideFanSpeed": 0,
+ "powerSupplySlots": [
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "ok",
+ "uptime": 1682498937.0240965,
+ "maxSpeed": 23000,
+ "lastSpeedStableChangeTime": 1682499033.0403435,
+ "configuredSpeed": 30,
+ "actualSpeed": 33,
+ "speedHwOverride": True,
+ "speedStable": True,
+ "label": "PowerSupply1/1",
+ }
+ ],
+ "speed": 30,
+ "label": "PowerSupply1",
+ },
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "Not Inserted",
+ "uptime": 1682498935.9121106,
+ "maxSpeed": 23000,
+ "lastSpeedStableChangeTime": 1682499092.4665174,
+ "configuredSpeed": 30,
+ "actualSpeed": 33,
+ "speedHwOverride": True,
+ "speedStable": True,
+ "label": "PowerSupply2/1",
+ }
+ ],
+ "speed": 30,
+ "label": "PowerSupply2",
+ },
+ ],
+ "fanTraySlots": [
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "ok",
+ "uptime": 1682498923.9303148,
+ "maxSpeed": 17500,
+ "lastSpeedStableChangeTime": 1682498975.0139885,
+ "configuredSpeed": 30,
+ "actualSpeed": 29,
+ "speedHwOverride": False,
+ "speedStable": True,
+ "label": "1/1",
+ }
+ ],
+ "speed": 30,
+ "label": "1",
+ },
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "ok",
+ "uptime": 1682498923.9304729,
+ "maxSpeed": 17500,
+ "lastSpeedStableChangeTime": 1682498939.9329433,
+ "configuredSpeed": 30,
+ "actualSpeed": 30,
+ "speedHwOverride": False,
+ "speedStable": True,
+ "label": "2/1",
+ }
+ ],
+ "speed": 30,
+ "label": "2",
+ },
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "ok",
+ "uptime": 1682498923.9383528,
+ "maxSpeed": 17500,
+ "lastSpeedStableChangeTime": 1682498975.0140095,
+ "configuredSpeed": 30,
+ "actualSpeed": 30,
+ "speedHwOverride": False,
+ "speedStable": True,
+ "label": "3/1",
+ }
+ ],
+ "speed": 30,
+ "label": "3",
+ },
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "ok",
+ "uptime": 1682498923.9303904,
+ "maxSpeed": 17500,
+ "lastSpeedStableChangeTime": 1682498975.0140295,
+ "configuredSpeed": 30,
+ "actualSpeed": 30,
+ "speedHwOverride": False,
+ "speedStable": True,
+ "label": "4/1",
+ }
+ ],
+ "speed": 30,
+ "label": "4",
+ },
+ ],
+ "minFanSpeed": 0,
+ "currentZones": 1,
+ "configuredZones": 0,
+ "systemStatus": "coolingOk",
+ }
+ ],
+ "inputs": {"states": ["ok", "Not Inserted"]},
+ "expected": {"result": "success"},
+ },
+ {
+ "name": "failure-fan-tray",
+ "test": VerifyEnvironmentCooling,
+ "eos_data": [
+ {
+ "defaultZones": False,
+ "numCoolingZones": [],
+ "coolingMode": "automatic",
+ "ambientTemperature": 24.5,
+ "shutdownOnInsufficientFans": True,
+ "airflowDirection": "frontToBackAirflow",
+ "overrideFanSpeed": 0,
+ "powerSupplySlots": [
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "ok",
+ "uptime": 1682498937.0240965,
+ "maxSpeed": 23000,
+ "lastSpeedStableChangeTime": 1682499033.0403435,
+ "configuredSpeed": 30,
+ "actualSpeed": 33,
+ "speedHwOverride": True,
+ "speedStable": True,
+ "label": "PowerSupply1/1",
+ }
+ ],
+ "speed": 30,
+ "label": "PowerSupply1",
+ },
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "ok",
+ "uptime": 1682498935.9121106,
+ "maxSpeed": 23000,
+ "lastSpeedStableChangeTime": 1682499092.4665174,
+ "configuredSpeed": 30,
+ "actualSpeed": 33,
+ "speedHwOverride": True,
+ "speedStable": True,
+ "label": "PowerSupply2/1",
+ }
+ ],
+ "speed": 30,
+ "label": "PowerSupply2",
+ },
+ ],
+ "fanTraySlots": [
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "down",
+ "uptime": 1682498923.9303148,
+ "maxSpeed": 17500,
+ "lastSpeedStableChangeTime": 1682498975.0139885,
+ "configuredSpeed": 30,
+ "actualSpeed": 29,
+ "speedHwOverride": False,
+ "speedStable": True,
+ "label": "1/1",
+ }
+ ],
+ "speed": 30,
+ "label": "1",
+ },
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "ok",
+ "uptime": 1682498923.9304729,
+ "maxSpeed": 17500,
+ "lastSpeedStableChangeTime": 1682498939.9329433,
+ "configuredSpeed": 30,
+ "actualSpeed": 30,
+ "speedHwOverride": False,
+ "speedStable": True,
+ "label": "2/1",
+ }
+ ],
+ "speed": 30,
+ "label": "2",
+ },
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "Not Inserted",
+ "uptime": 1682498923.9383528,
+ "maxSpeed": 17500,
+ "lastSpeedStableChangeTime": 1682498975.0140095,
+ "configuredSpeed": 30,
+ "actualSpeed": 30,
+ "speedHwOverride": False,
+ "speedStable": True,
+ "label": "3/1",
+ }
+ ],
+ "speed": 30,
+ "label": "3",
+ },
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "ok",
+ "uptime": 1682498923.9303904,
+ "maxSpeed": 17500,
+ "lastSpeedStableChangeTime": 1682498975.0140295,
+ "configuredSpeed": 30,
+ "actualSpeed": 30,
+ "speedHwOverride": False,
+ "speedStable": True,
+ "label": "4/1",
+ }
+ ],
+ "speed": 30,
+ "label": "4",
+ },
+ ],
+ "minFanSpeed": 0,
+ "currentZones": 1,
+ "configuredZones": 0,
+ "systemStatus": "CoolingKo",
+ }
+ ],
+ "inputs": {"states": ["ok", "Not Inserted"]},
+ "expected": {"result": "failure", "messages": ["Fan 1/1 on Fan Tray 1 is: 'down'"]},
+ },
+ {
+ "name": "failure-power-supply",
+ "test": VerifyEnvironmentCooling,
+ "eos_data": [
+ {
+ "defaultZones": False,
+ "numCoolingZones": [],
+ "coolingMode": "automatic",
+ "ambientTemperature": 24.5,
+ "shutdownOnInsufficientFans": True,
+ "airflowDirection": "frontToBackAirflow",
+ "overrideFanSpeed": 0,
+ "powerSupplySlots": [
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "down",
+ "uptime": 1682498937.0240965,
+ "maxSpeed": 23000,
+ "lastSpeedStableChangeTime": 1682499033.0403435,
+ "configuredSpeed": 30,
+ "actualSpeed": 33,
+ "speedHwOverride": True,
+ "speedStable": True,
+ "label": "PowerSupply1/1",
+ }
+ ],
+ "speed": 30,
+ "label": "PowerSupply1",
+ },
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "ok",
+ "uptime": 1682498935.9121106,
+ "maxSpeed": 23000,
+ "lastSpeedStableChangeTime": 1682499092.4665174,
+ "configuredSpeed": 30,
+ "actualSpeed": 33,
+ "speedHwOverride": True,
+ "speedStable": True,
+ "label": "PowerSupply2/1",
+ }
+ ],
+ "speed": 30,
+ "label": "PowerSupply2",
+ },
+ ],
+ "fanTraySlots": [
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "ok",
+ "uptime": 1682498923.9303148,
+ "maxSpeed": 17500,
+ "lastSpeedStableChangeTime": 1682498975.0139885,
+ "configuredSpeed": 30,
+ "actualSpeed": 29,
+ "speedHwOverride": False,
+ "speedStable": True,
+ "label": "1/1",
+ }
+ ],
+ "speed": 30,
+ "label": "1",
+ },
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "ok",
+ "uptime": 1682498923.9304729,
+ "maxSpeed": 17500,
+ "lastSpeedStableChangeTime": 1682498939.9329433,
+ "configuredSpeed": 30,
+ "actualSpeed": 30,
+ "speedHwOverride": False,
+ "speedStable": True,
+ "label": "2/1",
+ }
+ ],
+ "speed": 30,
+ "label": "2",
+ },
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "Not Inserted",
+ "uptime": 1682498923.9383528,
+ "maxSpeed": 17500,
+ "lastSpeedStableChangeTime": 1682498975.0140095,
+ "configuredSpeed": 30,
+ "actualSpeed": 30,
+ "speedHwOverride": False,
+ "speedStable": True,
+ "label": "3/1",
+ }
+ ],
+ "speed": 30,
+ "label": "3",
+ },
+ {
+ "status": "ok",
+ "fans": [
+ {
+ "status": "ok",
+ "uptime": 1682498923.9303904,
+ "maxSpeed": 17500,
+ "lastSpeedStableChangeTime": 1682498975.0140295,
+ "configuredSpeed": 30,
+ "actualSpeed": 30,
+ "speedHwOverride": False,
+ "speedStable": True,
+ "label": "4/1",
+ }
+ ],
+ "speed": 30,
+ "label": "4",
+ },
+ ],
+ "minFanSpeed": 0,
+ "currentZones": 1,
+ "configuredZones": 0,
+ "systemStatus": "CoolingKo",
+ }
+ ],
+ "inputs": {"states": ["ok", "Not Inserted"]},
+ "expected": {"result": "failure", "messages": ["Fan PowerSupply1/1 on PowerSupply PowerSupply1 is: 'down'"]},
+ },
+ {
+ "name": "success",
+ "test": VerifyEnvironmentPower,
+ "eos_data": [
+ {
+ "powerSupplies": {
+ "1": {
+ "outputPower": 0.0,
+ "modelName": "PWR-500AC-F",
+ "capacity": 500.0,
+ "tempSensors": {
+ "TempSensorP1/2": {"status": "ok", "temperature": 0.0},
+ "TempSensorP1/3": {"status": "ok", "temperature": 0.0},
+ "TempSensorP1/1": {"status": "ok", "temperature": 0.0},
+ },
+ "fans": {"FanP1/1": {"status": "ok", "speed": 33}},
+ "state": "ok",
+ "inputCurrent": 0.0,
+ "dominant": False,
+ "inputVoltage": 0.0,
+ "outputCurrent": 0.0,
+ "managed": True,
+ },
+ "2": {
+ "outputPower": 117.375,
+ "uptime": 1682498935.9121966,
+ "modelName": "PWR-500AC-F",
+ "capacity": 500.0,
+ "tempSensors": {
+ "TempSensorP2/1": {"status": "ok", "temperature": 39.0},
+ "TempSensorP2/3": {"status": "ok", "temperature": 43.0},
+ "TempSensorP2/2": {"status": "ok", "temperature": 31.0},
+ },
+ "fans": {"FanP2/1": {"status": "ok", "speed": 33}},
+ "state": "ok",
+ "inputCurrent": 0.572265625,
+ "dominant": False,
+ "inputVoltage": 232.5,
+ "outputCurrent": 9.828125,
+ "managed": True,
+ },
+ }
+ }
+ ],
+ "inputs": {"states": ["ok"]},
+ "expected": {"result": "success"},
+ },
+ {
+ "name": "success-additional-states",
+ "test": VerifyEnvironmentPower,
+ "eos_data": [
+ {
+ "powerSupplies": {
+ "1": {
+ "outputPower": 0.0,
+ "modelName": "PWR-500AC-F",
+ "capacity": 500.0,
+ "tempSensors": {
+ "TempSensorP1/2": {"status": "ok", "temperature": 0.0},
+ "TempSensorP1/3": {"status": "ok", "temperature": 0.0},
+ "TempSensorP1/1": {"status": "ok", "temperature": 0.0},
+ },
+ "fans": {"FanP1/1": {"status": "ok", "speed": 33}},
+ "state": "Not Inserted",
+ "inputCurrent": 0.0,
+ "dominant": False,
+ "inputVoltage": 0.0,
+ "outputCurrent": 0.0,
+ "managed": True,
+ },
+ "2": {
+ "outputPower": 117.375,
+ "uptime": 1682498935.9121966,
+ "modelName": "PWR-500AC-F",
+ "capacity": 500.0,
+ "tempSensors": {
+ "TempSensorP2/1": {"status": "ok", "temperature": 39.0},
+ "TempSensorP2/3": {"status": "ok", "temperature": 43.0},
+ "TempSensorP2/2": {"status": "ok", "temperature": 31.0},
+ },
+ "fans": {"FanP2/1": {"status": "ok", "speed": 33}},
+ "state": "ok",
+ "inputCurrent": 0.572265625,
+ "dominant": False,
+ "inputVoltage": 232.5,
+ "outputCurrent": 9.828125,
+ "managed": True,
+ },
+ }
+ }
+ ],
+ "inputs": {"states": ["ok", "Not Inserted"]},
+ "expected": {"result": "success"},
+ },
+ {
+ "name": "failure",
+ "test": VerifyEnvironmentPower,
+ "eos_data": [
+ {
+ "powerSupplies": {
+ "1": {
+ "outputPower": 0.0,
+ "modelName": "PWR-500AC-F",
+ "capacity": 500.0,
+ "tempSensors": {
+ "TempSensorP1/2": {"status": "ok", "temperature": 0.0},
+ "TempSensorP1/3": {"status": "ok", "temperature": 0.0},
+ "TempSensorP1/1": {"status": "ok", "temperature": 0.0},
+ },
+ "fans": {"FanP1/1": {"status": "ok", "speed": 33}},
+ "state": "powerLoss",
+ "inputCurrent": 0.0,
+ "dominant": False,
+ "inputVoltage": 0.0,
+ "outputCurrent": 0.0,
+ "managed": True,
+ },
+ "2": {
+ "outputPower": 117.375,
+ "uptime": 1682498935.9121966,
+ "modelName": "PWR-500AC-F",
+ "capacity": 500.0,
+ "tempSensors": {
+ "TempSensorP2/1": {"status": "ok", "temperature": 39.0},
+ "TempSensorP2/3": {"status": "ok", "temperature": 43.0},
+ "TempSensorP2/2": {"status": "ok", "temperature": 31.0},
+ },
+ "fans": {"FanP2/1": {"status": "ok", "speed": 33}},
+ "state": "ok",
+ "inputCurrent": 0.572265625,
+ "dominant": False,
+ "inputVoltage": 232.5,
+ "outputCurrent": 9.828125,
+ "managed": True,
+ },
+ }
+ }
+ ],
+ "inputs": {"states": ["ok"]},
+ "expected": {"result": "failure", "messages": ["The following power supplies status are not in the accepted states list: {'1': {'state': 'powerLoss'}}"]},
+ },
+ {
+ "name": "success",
+ "test": VerifyAdverseDrops,
+ "eos_data": [{"totalAdverseDrops": 0}],
+ "inputs": None,
+ "expected": {"result": "success"},
+ },
+ {
+ "name": "failure",
+ "test": VerifyAdverseDrops,
+ "eos_data": [{"totalAdverseDrops": 10}],
+ "inputs": None,
+ "expected": {"result": "failure", "messages": ["Device totalAdverseDrops counter is: '10'"]},
+ },
+]