Skip to content

Commit afa88e5

Browse files
authored
Update test_xcvrd.py
Added test case for frequency config validation for ZR optics
1 parent b5f838d commit afa88e5

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

sonic-xcvrd/tests/test_xcvrd.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1635,6 +1635,7 @@ def test_CmisManagerTask_task_worker(self, mock_chassis, mock_get_status_tbl):
16351635
mock_xcvr_api.get_module_pwr_up_duration = MagicMock(return_value=70000.0)
16361636
mock_xcvr_api.get_datapath_deinit_duration = MagicMock(return_value=600000.0)
16371637
mock_xcvr_api.get_cmis_rev = MagicMock(return_value='5.0')
1638+
mock_xcvr_api.get_supported_freq_config = MagicMock(return_value=(0xA0,0,0,191300,196100))
16381639
mock_xcvr_api.get_dpinit_pending = MagicMock(return_value={
16391640
'DPInitPending1': True,
16401641
'DPInitPending2': True,
@@ -2495,7 +2496,22 @@ def test_DaemonXcvrd_init_deinit_cold(self):
24952496
xcvrdaemon.deinit()
24962497

24972498
status_tbl.hdel.assert_called()
2499+
@pytest.mark.parametrize("lport, freq, grid, expected", [
2500+
(1, 193100, 75, True),
2501+
(1, 193100, 100, False),
2502+
(1, 193125, 75, False),
2503+
(1, 193100, 25, True)
2504+
])
2505+
def test_CmisManagerTask_config_laser_frequency_validate(self, lport, freq, grid, expected):
2506+
mock_xcvr_api = MagicMock()
2507+
mock_xcvr_api.get_supported_freq_config = MagicMock()
2508+
mock_xcvr_api.get_supported_freq_config.return_value = (0x80, 0, 0, 191300, 196100)
24982509

2510+
port_mapping = PortMapping()
2511+
stop_event = threading.Event()
2512+
task = CmisManagerTask(DEFAULT_NAMESPACE, port_mapping, stop_event)
2513+
result = task.config_laser_frequency_validate(mock_xcvr_api, lport, freq, grid)
2514+
assert result == expected
24992515

25002516
def wait_until(total_wait_time, interval, call_back, *args, **kwargs):
25012517
wait_time = 0

0 commit comments

Comments
 (0)