Add missing attribute in MetricDefinition in RSD 2.2
Change-Id: I179a2ee66d3906288cada0934adba0021653bda5
This commit is contained in:
parent
5f1954f328
commit
52d13897d0
@ -15,126 +15,144 @@
|
||||
|
||||
from sushy.resources import base
|
||||
|
||||
from rsd_lib import base as rsd_lib_base
|
||||
from rsd_lib import utils as rsd_lib_utils
|
||||
|
||||
|
||||
class WildcardsField(base.ListField):
|
||||
name = base.Field("Name")
|
||||
"""This property shall contain a name for a Wildcard for a key"""
|
||||
class IntelRackScaleField(base.CompositeField):
|
||||
|
||||
keys = base.Field("Keys")
|
||||
"""If the value is an empty string, then the server shall substitute every
|
||||
current key. Each not empty key value shall be substituted for the
|
||||
wildcard
|
||||
calculation_precision = base.Field("CalculationPrecision")
|
||||
"""This property specifies the precision of a calculated metric
|
||||
(calculated metric shall be aligned to a value specified by This
|
||||
property .
|
||||
"""
|
||||
|
||||
discrete_metric_type = base.Field("DiscreteMetricType")
|
||||
"""This array property specifies possible values of a discrete metric."""
|
||||
|
||||
|
||||
class OemField(base.CompositeField):
|
||||
|
||||
intel_rackscale = IntelRackScaleField("Intel_RackScale")
|
||||
"""Intel Rack Scale Design specific properties."""
|
||||
|
||||
|
||||
class CalculationParamsTypeCollectionField(base.ListField):
|
||||
|
||||
class CalculationParameterField(base.ListField):
|
||||
source_metric = base.Field("SourceMetric")
|
||||
"""The metric property used as the input into the calculation"""
|
||||
"""The metric property used as the input into the calculation."""
|
||||
|
||||
result_metric = base.Field("ResultMetric")
|
||||
"""The metric property used to store the results of the calculation"""
|
||||
"""The metric property used to store the results of the calculation."""
|
||||
|
||||
|
||||
class MetricDefinition(base.ResourceBase):
|
||||
class WildcardCollectionField(base.ListField):
|
||||
|
||||
name = base.Field('Name')
|
||||
"""The CPUHealth metric definition name"""
|
||||
name = base.Field("Name")
|
||||
"""The name of Wildcard."""
|
||||
|
||||
identity = base.Field('Id', required=True)
|
||||
"""The CPUHealth metric definition identity string"""
|
||||
values = base.Field("Values")
|
||||
"""An array of values to substitute for the wildcard."""
|
||||
|
||||
description = base.Field('Description')
|
||||
"""The metric definition description"""
|
||||
|
||||
sensor_type = base.Field('SensorType')
|
||||
class MetricDefinition(rsd_lib_base.ResourceBase):
|
||||
"""MetricDefinition resource class
|
||||
|
||||
A definition of a metric.
|
||||
"""
|
||||
|
||||
implementation = base.Field("Implementation")
|
||||
"""Specifies how the sensor is implemented."""
|
||||
|
||||
calculable = base.Field("Calculable")
|
||||
"""Caculatability of this Metric."""
|
||||
|
||||
units = base.Field("Units")
|
||||
"""Units of measure for this metric."""
|
||||
|
||||
data_type = base.Field("DataType")
|
||||
"""The data type of the corresponding metric values."""
|
||||
|
||||
is_linear = base.Field("IsLinear", adapter=bool)
|
||||
"""Indicates linear or non-linear values."""
|
||||
|
||||
metric_type = base.Field("MetricType")
|
||||
"""Specifies the type of metric provided."""
|
||||
|
||||
wildcards = WildcardCollectionField("Wildcards")
|
||||
"""Wildcards used to replace values in AppliesTo and Calculates metric
|
||||
property arrays.
|
||||
"""
|
||||
|
||||
metric_properties = base.Field("MetricProperties")
|
||||
"""A collection of URI for the properties on which this metric definition
|
||||
is defined.
|
||||
"""
|
||||
|
||||
calculation_parameters = CalculationParamsTypeCollectionField(
|
||||
"CalculationParameters"
|
||||
)
|
||||
"""Specifies the resource properties (metric) which are characterized by
|
||||
this definition.
|
||||
"""
|
||||
|
||||
physical_context = base.Field("PhysicalContext")
|
||||
"""Specifies the physical context of the sensor."""
|
||||
|
||||
sensor_type = base.Field("SensorType")
|
||||
"""This property represents the type of sensor that this resource
|
||||
represents
|
||||
represents.
|
||||
"""
|
||||
|
||||
metric_type = base.Field('MetricType')
|
||||
"""Specifies the type of metric provided"""
|
||||
|
||||
implementation = base.Field('Implementation')
|
||||
"""The value of this property shall designate how the sensor is implemented
|
||||
"""
|
||||
|
||||
sensing_interval = base.Field('SensingInterval')
|
||||
sensing_interval = base.Field("SensingInterval")
|
||||
"""This property specifies the time interval between when a metric or
|
||||
sensor reading is updated
|
||||
sensor reading is updated.
|
||||
"""
|
||||
|
||||
physical_context = base.Field('PhysicalContext')
|
||||
"""Specifies the physical context of the sensor"""
|
||||
discrete_values = base.Field("DiscreteValues")
|
||||
"""This array property specifies possible values of a discrete metric."""
|
||||
|
||||
units = base.Field('Units')
|
||||
"""Units of measure for this metric"""
|
||||
precision = base.Field("Precision", adapter=rsd_lib_utils.num_or_none)
|
||||
"""Number of significant digits in the Reading described by
|
||||
MetricProperties field.
|
||||
"""
|
||||
|
||||
accuracy = base.Field("Accuracy", adapter=rsd_lib_utils.num_or_none)
|
||||
"""Estimated percent error of measured vs. actual values."""
|
||||
|
||||
calibration = base.Field("Calibration", adapter=rsd_lib_utils.num_or_none)
|
||||
"""Specifies the calibration offset added to the Reading to obtain an
|
||||
accurate value.
|
||||
"""
|
||||
|
||||
time_stamp_accuracy = base.Field("TimeStampAccuracy")
|
||||
"""Accuracy of the timestamp."""
|
||||
|
||||
min_reading_range = base.Field(
|
||||
'MinReadingRange', adapter=rsd_lib_utils.num_or_none)
|
||||
"""Minimum value for Reading"""
|
||||
"MinReadingRange", adapter=rsd_lib_utils.num_or_none
|
||||
)
|
||||
"""Minimum value for Reading."""
|
||||
|
||||
max_reading_range = base.Field(
|
||||
'MaxReadingRange', adapter=rsd_lib_utils.num_or_none)
|
||||
"""Maximum value for Reading"""
|
||||
"MaxReadingRange", adapter=rsd_lib_utils.num_or_none
|
||||
)
|
||||
"""Maximum value for Reading."""
|
||||
|
||||
discrete_values = base.Field('DiscreteValues')
|
||||
"""This array property specifies possible values of a discrete metric"""
|
||||
|
||||
precision = base.Field('Precision', adapter=rsd_lib_utils.num_or_none)
|
||||
"""Number of significant digits in the Reading described by
|
||||
MetricProperties field
|
||||
"""
|
||||
|
||||
calibration = base.Field('Calibration', adapter=rsd_lib_utils.num_or_none)
|
||||
"""Specifies the calibration offset added to the Reading to obtain an
|
||||
accurate value
|
||||
"""
|
||||
|
||||
isLinear = base.Field('IsLinear', adapter=bool)
|
||||
"""Indicates linear or non-linear values"""
|
||||
|
||||
calculable = base.Field('Calculable')
|
||||
"""The value shall define the caculatability of this metric"""
|
||||
|
||||
data_type = base.Field('DataType')
|
||||
"""The data type of the corresponding metric values"""
|
||||
|
||||
accuracy = base.Field('Accuracy', adapter=rsd_lib_utils.num_or_none)
|
||||
"""Estimated percent error of measured vs. actual values"""
|
||||
|
||||
time_stamp_accuracy = base.Field('TimeStampAccuracy')
|
||||
"""Accuracy of the timestamp"""
|
||||
|
||||
calculation_time_interval = base.Field('CalculationTimeInterval')
|
||||
"""This property specifies the time interval over which a calculated
|
||||
metric algorithm is performed
|
||||
"""
|
||||
|
||||
calculation_algorithm = base.Field('CalculationAlgorithm')
|
||||
calculation_algorithm = base.Field("CalculationAlgorithm")
|
||||
"""This property specifies the calculation which is performed on a source
|
||||
metric to obtain the metric being defined
|
||||
metric to obtain the metric being defined.
|
||||
"""
|
||||
|
||||
calculation_parameters = CalculationParameterField('CalculationParameters')
|
||||
"""Specifies the resource properties (metric) which are characterized by
|
||||
this definition
|
||||
calculation_time_interval = base.Field("CalculationTimeInterval")
|
||||
"""This property specifies the time interval over which a calculated
|
||||
metric algorithm is performed.
|
||||
"""
|
||||
|
||||
wildcards = WildcardsField("Wildcards")
|
||||
"""The property shall contain an array of wildcards and their replacements
|
||||
strings, which are to appliced to the MetricProperties array property
|
||||
"""
|
||||
|
||||
metric_properties = base.Field('MetricProperties')
|
||||
"""A collection of URI for the properties on which this metric definition
|
||||
is defined
|
||||
"""
|
||||
oem = OemField("Oem")
|
||||
"""Oem specific properties."""
|
||||
|
||||
|
||||
class MetricDefinitionCollection(base.ResourceCollectionBase):
|
||||
|
||||
class MetricDefinitionCollection(rsd_lib_base.ResourceCollectionBase):
|
||||
@property
|
||||
def _resource_type(self):
|
||||
return MetricDefinition
|
||||
|
@ -21,113 +21,108 @@ from rsd_lib.resources.v2_2.telemetry import metric_definition
|
||||
|
||||
|
||||
class MetricDefinitionTestCase(testtools.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
super(MetricDefinitionTestCase, self).setUp()
|
||||
self.conn = mock.Mock()
|
||||
with open('rsd_lib/tests/unit/json_samples/v2_2/'
|
||||
'metric_definition.json', 'r') as f:
|
||||
with open(
|
||||
"rsd_lib/tests/unit/json_samples/v2_2/" "metric_definition.json",
|
||||
"r",
|
||||
) as f:
|
||||
self.conn.get.return_value.json.return_value = json.loads(f.read())
|
||||
|
||||
self.metric_definition_inst = metric_definition.MetricDefinition(
|
||||
self.conn,
|
||||
'/redfish/v1/TelemetryService/MetricDefinitions/1-md-6',
|
||||
redfish_version='1.1.0')
|
||||
"/redfish/v1/TelemetryService/MetricDefinitions/1-md-6",
|
||||
redfish_version="1.1.0",
|
||||
)
|
||||
|
||||
def test__parse_attributes(self):
|
||||
self.metric_definition_inst._parse_attributes()
|
||||
self.assertEqual('1.1.0',
|
||||
self.metric_definition_inst.redfish_version)
|
||||
self.assertEqual('memoryTemperature', self.metric_definition_inst.name)
|
||||
self.assertEqual('1-md-6', self.metric_definition_inst.identity)
|
||||
self.assertEqual('Metric Definition description',
|
||||
self.metric_definition_inst.description)
|
||||
self.assertEqual('Numeric',
|
||||
self.metric_definition_inst.metric_type)
|
||||
self.assertEqual('Temperature',
|
||||
self.metric_definition_inst.sensor_type)
|
||||
self.assertEqual('PhysicalSensor',
|
||||
self.metric_definition_inst.implementation)
|
||||
self.assertEqual('10.0s',
|
||||
self.metric_definition_inst.sensing_interval)
|
||||
self.assertEqual('SystemBoard',
|
||||
self.metric_definition_inst.physical_context)
|
||||
self.assertEqual('Celsius',
|
||||
self.metric_definition_inst.units)
|
||||
self.assertEqual("1.1.0", self.metric_definition_inst.redfish_version)
|
||||
self.assertEqual("memoryTemperature", self.metric_definition_inst.name)
|
||||
self.assertEqual("1-md-6", self.metric_definition_inst.identity)
|
||||
self.assertEqual(
|
||||
None, self.metric_definition_inst.min_reading_range)
|
||||
"Metric Definition description",
|
||||
self.metric_definition_inst.description,
|
||||
)
|
||||
self.assertEqual("Numeric", self.metric_definition_inst.metric_type)
|
||||
self.assertEqual(
|
||||
None, self.metric_definition_inst.max_reading_range)
|
||||
"Temperature", self.metric_definition_inst.sensor_type
|
||||
)
|
||||
self.assertEqual(
|
||||
"PhysicalSensor", self.metric_definition_inst.implementation
|
||||
)
|
||||
self.assertEqual("10.0s", self.metric_definition_inst.sensing_interval)
|
||||
self.assertEqual(
|
||||
"SystemBoard", self.metric_definition_inst.physical_context
|
||||
)
|
||||
self.assertEqual("Celsius", self.metric_definition_inst.units)
|
||||
self.assertEqual(None, self.metric_definition_inst.min_reading_range)
|
||||
self.assertEqual(None, self.metric_definition_inst.max_reading_range)
|
||||
self.assertEqual([], self.metric_definition_inst.discrete_values)
|
||||
self.assertEqual(None, self.metric_definition_inst.precision)
|
||||
self.assertEqual(None, self.metric_definition_inst.calibration)
|
||||
self.assertEqual(True, self.metric_definition_inst.is_linear)
|
||||
self.assertEqual(None, self.metric_definition_inst.calculable)
|
||||
self.assertEqual(None, self.metric_definition_inst.data_type)
|
||||
self.assertEqual(None, self.metric_definition_inst.accuracy)
|
||||
self.assertEqual(None, self.metric_definition_inst.time_stamp_accuracy)
|
||||
self.assertEqual(
|
||||
None, self.metric_definition_inst.precision)
|
||||
None, self.metric_definition_inst.calculation_time_interval
|
||||
)
|
||||
self.assertEqual(
|
||||
None, self.metric_definition_inst.calibration)
|
||||
None, self.metric_definition_inst.calculation_algorithm
|
||||
)
|
||||
self.assertEqual(
|
||||
True, self.metric_definition_inst.isLinear)
|
||||
self.assertEqual(
|
||||
None, self.metric_definition_inst.calculable)
|
||||
self.assertEqual(
|
||||
None, self.metric_definition_inst.data_type)
|
||||
self.assertEqual(
|
||||
None, self.metric_definition_inst.accuracy)
|
||||
self.assertEqual(
|
||||
None, self.metric_definition_inst.time_stamp_accuracy)
|
||||
self.assertEqual(
|
||||
None, self.metric_definition_inst.calculation_time_interval)
|
||||
self.assertEqual(
|
||||
None, self.metric_definition_inst.calculation_algorithm)
|
||||
self.assertEqual(
|
||||
[], self.metric_definition_inst.calculation_parameters)
|
||||
self.assertEqual(
|
||||
[], self.metric_definition_inst.wildcards)
|
||||
[], self.metric_definition_inst.calculation_parameters
|
||||
)
|
||||
self.assertEqual([], self.metric_definition_inst.wildcards)
|
||||
|
||||
with open('rsd_lib/tests/unit/json_samples/v2_2/'
|
||||
'cpu_bandwidth_metric_def.json', 'r') as f:
|
||||
with open(
|
||||
"rsd_lib/tests/unit/json_samples/v2_2/"
|
||||
"cpu_bandwidth_metric_def.json",
|
||||
"r",
|
||||
) as f:
|
||||
self.conn.get.return_value.json.return_value = json.loads(f.read())
|
||||
|
||||
self.metric_definition_inst.refresh()
|
||||
self.assertEqual('1.1.0',
|
||||
self.metric_definition_inst.redfish_version)
|
||||
self.assertEqual('CPU Bandwidth type',
|
||||
self.metric_definition_inst.name)
|
||||
self.assertEqual('CPUBandwidth',
|
||||
self.metric_definition_inst.identity)
|
||||
self.assertEqual('Numeric',
|
||||
self.metric_definition_inst.metric_type)
|
||||
self.assertEqual('DigitalMeter',
|
||||
self.metric_definition_inst.implementation)
|
||||
self.assertEqual('PT1S',
|
||||
self.metric_definition_inst.sensing_interval)
|
||||
self.assertEqual('CPU',
|
||||
self.metric_definition_inst.physical_context)
|
||||
self.assertEqual('%', self.metric_definition_inst.units)
|
||||
self.assertEqual("1.1.0", self.metric_definition_inst.redfish_version)
|
||||
self.assertEqual(
|
||||
0, self.metric_definition_inst.min_reading_range)
|
||||
"CPU Bandwidth type", self.metric_definition_inst.name
|
||||
)
|
||||
self.assertEqual("CPUBandwidth", self.metric_definition_inst.identity)
|
||||
self.assertEqual("Numeric", self.metric_definition_inst.metric_type)
|
||||
self.assertEqual(
|
||||
100, self.metric_definition_inst.max_reading_range)
|
||||
"DigitalMeter", self.metric_definition_inst.implementation
|
||||
)
|
||||
self.assertEqual("PT1S", self.metric_definition_inst.sensing_interval)
|
||||
self.assertEqual("CPU", self.metric_definition_inst.physical_context)
|
||||
self.assertEqual("%", self.metric_definition_inst.units)
|
||||
self.assertEqual(0, self.metric_definition_inst.min_reading_range)
|
||||
self.assertEqual(100, self.metric_definition_inst.max_reading_range)
|
||||
|
||||
with open('rsd_lib/tests/unit/json_samples/v2_2/'
|
||||
'cpu_health_metric_def.json', 'r') as f:
|
||||
with open(
|
||||
"rsd_lib/tests/unit/json_samples/v2_2/"
|
||||
"cpu_health_metric_def.json",
|
||||
"r",
|
||||
) as f:
|
||||
self.conn.get.return_value.json.return_value = json.loads(f.read())
|
||||
|
||||
self.metric_definition_inst.refresh()
|
||||
self.assertEqual('1.1.0',
|
||||
self.metric_definition_inst.redfish_version)
|
||||
self.assertEqual('CPU1 IPMI Health Sensor',
|
||||
self.metric_definition_inst.name)
|
||||
self.assertEqual('CPUHealth1',
|
||||
self.metric_definition_inst.identity)
|
||||
self.assertEqual('Discrete',
|
||||
self.metric_definition_inst.metric_type)
|
||||
self.assertEqual('PhysicalSensor',
|
||||
self.metric_definition_inst.sensor_type)
|
||||
self.assertEqual('PhysicalSensor',
|
||||
self.metric_definition_inst.implementation)
|
||||
self.assertEqual('PT1S',
|
||||
self.metric_definition_inst.sensing_interval)
|
||||
self.assertEqual('CPU',
|
||||
self.metric_definition_inst.physical_context)
|
||||
self.assertEqual("1.1.0", self.metric_definition_inst.redfish_version)
|
||||
self.assertEqual(
|
||||
"CPU1 IPMI Health Sensor", self.metric_definition_inst.name
|
||||
)
|
||||
self.assertEqual("CPUHealth1", self.metric_definition_inst.identity)
|
||||
self.assertEqual("Discrete", self.metric_definition_inst.metric_type)
|
||||
self.assertEqual(
|
||||
"PhysicalSensor", self.metric_definition_inst.sensor_type
|
||||
)
|
||||
self.assertEqual(
|
||||
"PhysicalSensor", self.metric_definition_inst.implementation
|
||||
)
|
||||
self.assertEqual("PT1S", self.metric_definition_inst.sensing_interval)
|
||||
self.assertEqual("CPU", self.metric_definition_inst.physical_context)
|
||||
|
||||
expected = [
|
||||
"OK",
|
||||
@ -143,89 +138,100 @@ class MetricDefinitionTestCase(testtools.TestCase):
|
||||
"Terminator Presence Detected",
|
||||
"Processor Throttled",
|
||||
"Machine Check Exception",
|
||||
"Correctable Machine Check Error"
|
||||
"Correctable Machine Check Error",
|
||||
]
|
||||
self.assertEqual(expected,
|
||||
self.metric_definition_inst.discrete_values)
|
||||
self.assertEqual(expected, self.metric_definition_inst.discrete_values)
|
||||
|
||||
with open('rsd_lib/tests/unit/json_samples/v2_2/'
|
||||
'cpu_temperature_metric_def.json', 'r') as f:
|
||||
with open(
|
||||
"rsd_lib/tests/unit/json_samples/v2_2/"
|
||||
"cpu_temperature_metric_def.json",
|
||||
"r",
|
||||
) as f:
|
||||
self.conn.get.return_value.json.return_value = json.loads(f.read())
|
||||
|
||||
self.metric_definition_inst.refresh()
|
||||
self.assertEqual('1.1.0',
|
||||
self.metric_definition_inst.redfish_version)
|
||||
self.assertEqual('Temperature MetricDefinition',
|
||||
self.metric_definition_inst.name)
|
||||
self.assertEqual('TEMP1',
|
||||
self.metric_definition_inst.identity)
|
||||
self.assertEqual('Numeric',
|
||||
self.metric_definition_inst.metric_type)
|
||||
self.assertEqual('Temperature',
|
||||
self.metric_definition_inst.sensor_type)
|
||||
self.assertEqual('Physical',
|
||||
self.metric_definition_inst.implementation)
|
||||
self.assertEqual('PT1S',
|
||||
self.metric_definition_inst.sensing_interval)
|
||||
self.assertEqual('CPU',
|
||||
self.metric_definition_inst.physical_context)
|
||||
self.assertEqual('Cel', self.metric_definition_inst.units)
|
||||
self.assertEqual("1.1.0", self.metric_definition_inst.redfish_version)
|
||||
self.assertEqual(
|
||||
0, self.metric_definition_inst.min_reading_range)
|
||||
"Temperature MetricDefinition", self.metric_definition_inst.name
|
||||
)
|
||||
self.assertEqual("TEMP1", self.metric_definition_inst.identity)
|
||||
self.assertEqual("Numeric", self.metric_definition_inst.metric_type)
|
||||
self.assertEqual(
|
||||
80, self.metric_definition_inst.max_reading_range)
|
||||
"Temperature", self.metric_definition_inst.sensor_type
|
||||
)
|
||||
self.assertEqual(
|
||||
"Physical", self.metric_definition_inst.implementation
|
||||
)
|
||||
self.assertEqual("PT1S", self.metric_definition_inst.sensing_interval)
|
||||
self.assertEqual("CPU", self.metric_definition_inst.physical_context)
|
||||
self.assertEqual("Cel", self.metric_definition_inst.units)
|
||||
self.assertEqual(0, self.metric_definition_inst.min_reading_range)
|
||||
self.assertEqual(80, self.metric_definition_inst.max_reading_range)
|
||||
self.assertEqual(1, self.metric_definition_inst.precision)
|
||||
self.assertEqual(2, self.metric_definition_inst.calibration)
|
||||
|
||||
|
||||
class MetricDefinitionsCollectionTestCase(testtools.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
super(MetricDefinitionsCollectionTestCase, self).setUp()
|
||||
self.conn = mock.Mock()
|
||||
with open('rsd_lib/tests/unit/json_samples/v2_2/'
|
||||
'metric_definition_collection.json', 'r') as f:
|
||||
with open(
|
||||
"rsd_lib/tests/unit/json_samples/v2_2/"
|
||||
"metric_definition_collection.json",
|
||||
"r",
|
||||
) as f:
|
||||
self.conn.get.return_value.json.return_value = json.loads(f.read())
|
||||
self.metric_def_col = metric_definition.MetricDefinitionCollection(
|
||||
self.conn, '/redfish/v1/TelemetryService/MetricDefinitions',
|
||||
redfish_version='1.1.0')
|
||||
self.conn,
|
||||
"/redfish/v1/TelemetryService/MetricDefinitions",
|
||||
redfish_version="1.1.0",
|
||||
)
|
||||
|
||||
def test__parse_attributes(self):
|
||||
self.metric_def_col._parse_attributes()
|
||||
self.assertEqual('1.1.0', self.metric_def_col.redfish_version)
|
||||
self.assertEqual("1.1.0", self.metric_def_col.redfish_version)
|
||||
self.assertEqual(
|
||||
('/redfish/v1/TelemetryService/MetricDefinitions/CPUTemperature',
|
||||
'/redfish/v1/TelemetryService/MetricDefinitions/CPUHealth',
|
||||
'/redfish/v1/TelemetryService/MetricDefinitions/CPUBandwidth'),
|
||||
self.metric_def_col.members_identities)
|
||||
(
|
||||
"/redfish/v1/TelemetryService/MetricDefinitions/"
|
||||
"CPUTemperature",
|
||||
"/redfish/v1/TelemetryService/MetricDefinitions/CPUHealth",
|
||||
"/redfish/v1/TelemetryService/MetricDefinitions/CPUBandwidth",
|
||||
),
|
||||
self.metric_def_col.members_identities,
|
||||
)
|
||||
|
||||
@mock.patch.object(metric_definition, 'MetricDefinition', autospec=True)
|
||||
@mock.patch.object(metric_definition, "MetricDefinition", autospec=True)
|
||||
def test_get_member(self, mock_metric_definition):
|
||||
self.metric_def_col.get_member(
|
||||
'/redfish/v1/TelemetryService/MetricDefinitions/CPUTemperature')
|
||||
"/redfish/v1/TelemetryService/MetricDefinitions/CPUTemperature"
|
||||
)
|
||||
mock_metric_definition.assert_called_once_with(
|
||||
self.metric_def_col._conn,
|
||||
'/redfish/v1/TelemetryService/MetricDefinitions/CPUTemperature',
|
||||
redfish_version=self.metric_def_col.redfish_version)
|
||||
"/redfish/v1/TelemetryService/MetricDefinitions/CPUTemperature",
|
||||
redfish_version=self.metric_def_col.redfish_version,
|
||||
)
|
||||
|
||||
@mock.patch.object(metric_definition, 'MetricDefinition', autospec=True)
|
||||
@mock.patch.object(metric_definition, "MetricDefinition", autospec=True)
|
||||
def test_get_members(self, mock_metric_definition):
|
||||
members = self.metric_def_col.get_members()
|
||||
|
||||
calls = [
|
||||
mock.call(
|
||||
self.metric_def_col._conn,
|
||||
'/redfish/v1/TelemetryService/MetricDefinitions/'
|
||||
'CPUTemperature',
|
||||
redfish_version=self.metric_def_col.redfish_version),
|
||||
"/redfish/v1/TelemetryService/MetricDefinitions/"
|
||||
"CPUTemperature",
|
||||
redfish_version=self.metric_def_col.redfish_version,
|
||||
),
|
||||
mock.call(
|
||||
self.metric_def_col._conn,
|
||||
'/redfish/v1/TelemetryService/MetricDefinitions/CPUHealth',
|
||||
redfish_version=self.metric_def_col.redfish_version),
|
||||
"/redfish/v1/TelemetryService/MetricDefinitions/CPUHealth",
|
||||
redfish_version=self.metric_def_col.redfish_version,
|
||||
),
|
||||
mock.call(
|
||||
self.metric_def_col._conn,
|
||||
'/redfish/v1/TelemetryService/MetricDefinitions/CPUBandwidth',
|
||||
redfish_version=self.metric_def_col.redfish_version)
|
||||
"/redfish/v1/TelemetryService/MetricDefinitions/CPUBandwidth",
|
||||
redfish_version=self.metric_def_col.redfish_version,
|
||||
),
|
||||
]
|
||||
mock_metric_definition.assert_has_calls(calls)
|
||||
self.assertIsInstance(members, list)
|
||||
|
Loading…
x
Reference in New Issue
Block a user