Skip to content

Commit 2ca1762

Browse files
committed
Fix checkers failures
1 parent 84ce3a9 commit 2ca1762

File tree

1 file changed

+106
-0
lines changed

1 file changed

+106
-0
lines changed

tests/show_platform_test.py

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,3 +320,109 @@ def test_bmc_eeprom_json_output(self):
320320
assert result.exit_code == 0, result.output
321321
output_json = json.loads(result.output)
322322
assert output_json == expected_json
323+
324+
def test_bmc_summary_bmc_not_available(self):
325+
"""Test 'show platform bmc summary' when BMC is not available"""
326+
mock_sonic_platform = mock.MagicMock()
327+
sys.modules['sonic_platform'] = mock_sonic_platform
328+
sys.modules['sonic_platform.platform'] = mock_sonic_platform.platform
329+
330+
mock_platform = mock.MagicMock()
331+
mock_chassis = mock.MagicMock()
332+
333+
mock_platform.get_chassis.return_value = mock_chassis
334+
mock_chassis.get_bmc.return_value = None
335+
mock_sonic_platform.platform.Platform.return_value = mock_platform
336+
337+
result = CliRunner().invoke(show.cli.commands['platform'].commands['bmc'].commands['summary'], [])
338+
assert result.exit_code == 0, result.output
339+
assert "BMC is not available on this platform" in result.output
340+
341+
def test_bmc_summary_eeprom_info_empty(self):
342+
"""Test 'show platform bmc summary' when EEPROM info is empty"""
343+
mock_sonic_platform = mock.MagicMock()
344+
sys.modules['sonic_platform'] = mock_sonic_platform
345+
sys.modules['sonic_platform.platform'] = mock_sonic_platform.platform
346+
347+
mock_platform = mock.MagicMock()
348+
mock_chassis = mock.MagicMock()
349+
mock_bmc = mock.MagicMock()
350+
351+
mock_platform.get_chassis.return_value = mock_chassis
352+
mock_chassis.get_bmc.return_value = mock_bmc
353+
mock_bmc.get_eeprom.return_value = None
354+
mock_sonic_platform.platform.Platform.return_value = mock_platform
355+
356+
result = CliRunner().invoke(show.cli.commands['platform'].commands['bmc'].commands['summary'], [])
357+
assert result.exit_code == 0, result.output
358+
assert "Failed to retrieve BMC EEPROM information" in result.output
359+
360+
def test_bmc_summary_exception(self):
361+
"""Test 'show platform bmc summary' when an exception occurs"""
362+
mock_sonic_platform = mock.MagicMock()
363+
sys.modules['sonic_platform'] = mock_sonic_platform
364+
sys.modules['sonic_platform.platform'] = mock_sonic_platform.platform
365+
366+
mock_platform = mock.MagicMock()
367+
mock_chassis = mock.MagicMock()
368+
369+
mock_platform.get_chassis.return_value = mock_chassis
370+
mock_chassis.get_bmc.side_effect = Exception("Test exception")
371+
mock_sonic_platform.platform.Platform.return_value = mock_platform
372+
373+
result = CliRunner().invoke(show.cli.commands['platform'].commands['bmc'].commands['summary'], [])
374+
assert result.exit_code == 0, result.output
375+
assert "Error retrieving BMC information: Test exception" in result.output
376+
377+
def test_bmc_eeprom_bmc_not_available(self):
378+
"""Test 'show platform bmc eeprom' when BMC is not available"""
379+
mock_sonic_platform = mock.MagicMock()
380+
sys.modules['sonic_platform'] = mock_sonic_platform
381+
sys.modules['sonic_platform.platform'] = mock_sonic_platform.platform
382+
383+
mock_platform = mock.MagicMock()
384+
mock_chassis = mock.MagicMock()
385+
386+
mock_platform.get_chassis.return_value = mock_chassis
387+
mock_chassis.get_bmc.return_value = None
388+
mock_sonic_platform.platform.Platform.return_value = mock_platform
389+
390+
result = CliRunner().invoke(show.cli.commands['platform'].commands['bmc'].commands['eeprom'], [])
391+
assert result.exit_code == 0, result.output
392+
assert "BMC is not available on this platform" in result.output
393+
394+
def test_bmc_eeprom_info_empty(self):
395+
"""Test 'show platform bmc eeprom' when EEPROM info is empty"""
396+
mock_sonic_platform = mock.MagicMock()
397+
sys.modules['sonic_platform'] = mock_sonic_platform
398+
sys.modules['sonic_platform.platform'] = mock_sonic_platform.platform
399+
400+
mock_platform = mock.MagicMock()
401+
mock_chassis = mock.MagicMock()
402+
mock_bmc = mock.MagicMock()
403+
404+
mock_platform.get_chassis.return_value = mock_chassis
405+
mock_chassis.get_bmc.return_value = mock_bmc
406+
mock_bmc.get_eeprom.return_value = None
407+
mock_sonic_platform.platform.Platform.return_value = mock_platform
408+
409+
result = CliRunner().invoke(show.cli.commands['platform'].commands['bmc'].commands['eeprom'], [])
410+
assert result.exit_code == 0, result.output
411+
assert "Failed to retrieve BMC EEPROM information" in result.output
412+
413+
def test_bmc_eeprom_exception(self):
414+
"""Test 'show platform bmc eeprom' when an exception occurs"""
415+
mock_sonic_platform = mock.MagicMock()
416+
sys.modules['sonic_platform'] = mock_sonic_platform
417+
sys.modules['sonic_platform.platform'] = mock_sonic_platform.platform
418+
419+
mock_platform = mock.MagicMock()
420+
mock_chassis = mock.MagicMock()
421+
422+
mock_platform.get_chassis.return_value = mock_chassis
423+
mock_chassis.get_bmc.side_effect = Exception("Test exception")
424+
mock_sonic_platform.platform.Platform.return_value = mock_platform
425+
426+
result = CliRunner().invoke(show.cli.commands['platform'].commands['bmc'].commands['eeprom'], [])
427+
assert result.exit_code == 0, result.output
428+
assert "Error retrieving BMC EEPROM information: Test exception" in result.output

0 commit comments

Comments
 (0)