Skip to content

Commit efcf6df

Browse files
committed
xcvrd: improve test coverage
1 parent e292e0e commit efcf6df

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

sonic-xcvrd/tests/test_xcvrd.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3863,6 +3863,37 @@ def test_beautify_info_dict(self):
38633863
db_utils.beautify_info_dict(dom_info_dict)
38643864
assert dom_info_dict == expected_dom_info_dict
38653865

3866+
@patch('xcvrd.xcvrd.XcvrTableHelper', MagicMock())
3867+
@patch('xcvrd.xcvrd_utilities.common._wrapper_get_presence', MagicMock(return_value=True))
3868+
@patch('xcvrd.xcvrd_utilities.sfp_status_helper.detect_port_in_error_status')
3869+
@patch('time.sleep', MagicMock())
3870+
def test_DomThermalInfoUpdateTask_task_worker(self, mock_detect_error):
3871+
poll_interval = 10
3872+
port_mapping = PortMapping()
3873+
port_mapping.physical_to_logical = {
3874+
1: ['Ethernet0'],
3875+
2: ['Ethernet4'],
3876+
3: ['Ethernet8'],
3877+
}
3878+
port_mapping.logical_to_asic = {
3879+
'Ethernet0': 0,
3880+
'Ethernet4': 0,
3881+
'Ethernet8': None,
3882+
}
3883+
dom_monitoring_disabled = {
3884+
'Ethernet0': False,
3885+
'Ethernet4': True,
3886+
'Ethernet8': False,
3887+
}
3888+
mock_sfp_obj_dict = MagicMock()
3889+
stop_event = threading.Event()
3890+
task = DomThermalInfoUpdateTask(DEFAULT_NAMESPACE, port_mapping, mock_sfp_obj_dict, stop_event, poll_interval)
3891+
task.xcvr_table_helper = XcvrTableHelper(DEFAULT_NAMESPACE)
3892+
task.task_stopping_event.is_set = MagicMock(side_effect=[False, False, False, False, False, False, True])
3893+
mock_detect_error.return_value = False
3894+
task.is_port_dom_monitoring_disabled = lambda p: dom_monitoring_disabled[p]
3895+
task.task_worker()
3896+
38663897
@patch('xcvrd.xcvrd.XcvrTableHelper', MagicMock())
38673898
@patch('xcvrd.xcvrd_utilities.common.del_port_sfp_dom_info_from_db')
38683899
def test_DomInfoUpdateTask_handle_port_change_event(self, mock_del_port_sfp_dom_info_from_db):
@@ -4602,6 +4633,16 @@ def test_wrapper_get_transceiver_firmware_info(self, mock_sfputil, mock_chassis)
46024633
mock_chassis.get_sfp = MagicMock(side_effect=NotImplementedError)
46034634
assert common._wrapper_get_transceiver_firmware_info(1) == {}
46044635

4636+
def test_get_transceiver_dom_temperature(self):
4637+
mock_sfp = MagicMock()
4638+
dom_utils = DOMUtils({1 : mock_sfp}, helper_logger)
4639+
4640+
mock_sfp.get_temperature.return_value = 42.
4641+
assert 'temperature' in dom_utils.get_transceiver_dom_temperature(1)
4642+
4643+
mock_sfp.get_temperature.side_effect = NotImplementedError
4644+
assert dom_utils.get_transceiver_dom_temperature(1) == {}
4645+
46054646
def test_get_transceiver_dom_sensor_real_value(self):
46064647
mock_sfp = MagicMock()
46074648
dom_utils = DOMUtils({1 : mock_sfp}, helper_logger)

0 commit comments

Comments
 (0)