Add missing attribute in EthernetSwitchPortMetrics in RSD 2.2

Change-Id: I4ac38997f942c8fbdf0f865a7a246d5533783e83
This commit is contained in:
Lin Yang 2019-05-24 14:38:04 -07:00
parent 7047651bed
commit 19e4762e1c
4 changed files with 25 additions and 54 deletions

View File

@ -47,10 +47,6 @@ class EthernetSwitchPort(ethernet_switch_port.EthernetSwitchPort):
links = LinksField("Links")
def _get_metrics_path(self):
"""Helper function to find the Port metrics path"""
return utils.get_sub_resource_path_by(self, "Metrics")
@property
@utils.cache_it
def metrics(self):

View File

@ -15,57 +15,49 @@
from sushy.resources import base
from rsd_lib import base as rsd_lib_base
from rsd_lib import utils as rsd_lib_utils
class ReceivedField(base.CompositeField):
class MetricsField(base.CompositeField):
packets = base.Field("Packets", adapter=rsd_lib_utils.num_or_none)
"""Packets counter"""
dropped_packets = base.Field(
"DroppedPackets", adapter=rsd_lib_utils.num_or_none
)
"""Dropped packets counter"""
error_packets = base.Field(
"ErrorPackets", adapter=rsd_lib_utils.num_or_none
)
"""Error packets counter"""
broadcast_packets = base.Field(
"BroadcastPackets", adapter=rsd_lib_utils.num_or_none
)
"""Broadcast packets counter"""
multicast_packets = base.Field(
"MulticastPackets", adapter=rsd_lib_utils.num_or_none
)
"""Multicats packets counter"""
bytes = base.Field("Bytes", adapter=rsd_lib_utils.num_or_none)
"""Bytes counter"""
errors = base.Field("Errors", adapter=rsd_lib_utils.num_or_none)
received_bytes = base.Field("Bytes", adapter=rsd_lib_utils.num_or_none)
"""Error counter"""
class TransmittedField(base.CompositeField):
packets = base.Field("Packets", adapter=rsd_lib_utils.num_or_none)
dropped_packets = base.Field(
"DroppedPackets", adapter=rsd_lib_utils.num_or_none
)
error_packets = base.Field(
"ErrorPackets", adapter=rsd_lib_utils.num_or_none
)
broadcast_packets = base.Field(
"BroadcastPackets", adapter=rsd_lib_utils.num_or_none
)
multicast_packets = base.Field(
"MulticastPackets", adapter=rsd_lib_utils.num_or_none
)
errors = base.Field("Errors", adapter=rsd_lib_utils.num_or_none)
transmitted_bytes = base.Field("Bytes", adapter=rsd_lib_utils.num_or_none)
class EthernetSwitchPortMetrics(rsd_lib_base.ResourceBase):
received = MetricsField("Received")
"""Port Receive metrics"""
class EthernetSwitchPortMetrics(base.ResourceBase):
name = base.Field("Name")
"""The metrics name"""
identity = base.Field("Id")
"""The metrics identity"""
received = ReceivedField("Received")
"""The received packets status"""
transmitted = TransmittedField("Transmitted")
"""The transmitted packets status"""
transmitted = MetricsField("Transmitted")
"""Port Transmit metrics."""
collisions = base.Field("Collisions", adapter=rsd_lib_utils.num_or_none)
"""The collisions status"""
"""Collisions counter"""

View File

@ -17,8 +17,6 @@ import json
import mock
import testtools
from sushy import exceptions
from rsd_lib.resources.v2_2.ethernet_switch import ethernet_switch_port
from rsd_lib.resources.v2_2.ethernet_switch import ethernet_switch_port_metrics
@ -40,19 +38,6 @@ class PortTestCase(testtools.TestCase):
redfish_version="1.0.2",
)
def test__get_metrics_path(self):
self.assertEqual(
"/redfish/v1/EthernetSwitches/Switch1/Ports/Port1/Metrics",
self.port_inst._get_metrics_path(),
)
def test__get_metrics_path_missing_ports_attr(self):
self.port_inst._json.pop("Metrics")
with self.assertRaisesRegex(
exceptions.MissingAttributeError, "attribute Metrics"
):
self.port_inst._get_metrics_path()
def test_metrics(self):
# | GIVEN |
self.conn.get.return_value.json.reset_mock()

View File

@ -53,7 +53,7 @@ class PortMetricsTestCase(testtools.TestCase):
self.assertEqual(3, self.port_metrics_inst.received.broadcast_packets)
self.assertEqual(2, self.port_metrics_inst.received.multicast_packets)
self.assertEqual(0, self.port_metrics_inst.received.errors)
self.assertEqual(64, self.port_metrics_inst.received.received_bytes)
self.assertEqual(64, self.port_metrics_inst.received.bytes)
self.assertEqual(128, self.port_metrics_inst.transmitted.packets)
self.assertEqual(1, self.port_metrics_inst.transmitted.dropped_packets)
@ -65,8 +65,6 @@ class PortMetricsTestCase(testtools.TestCase):
4, self.port_metrics_inst.transmitted.multicast_packets
)
self.assertEqual(5, self.port_metrics_inst.transmitted.errors)
self.assertEqual(
512, self.port_metrics_inst.transmitted.transmitted_bytes
)
self.assertEqual(512, self.port_metrics_inst.transmitted.bytes)
self.assertEqual(0, self.port_metrics_inst.collisions)