|
13 | 13 | sys.modules['sonic_y_cable'] = mock.Mock()
|
14 | 14 | sys.modules['y_cable'] = mock.Mock()
|
15 | 15 | sys.modules['sonic_y_cable.y_cable'] = mock.Mock()
|
| 16 | +sys.modules['platform_sfputil'] = mock.Mock() |
| 17 | +sys.modules['platform_sfputil_helper'] = mock.Mock() |
| 18 | +sys.modules['utilities_common.platform_sfputil_helper'] = mock.Mock() |
16 | 19 | #sys.modules['os'] = mock.Mock()
|
17 | 20 | #sys.modules['os.geteuid'] = mock.Mock()
|
18 | 21 | #sys.modules['platform_sfputil'] = mock.Mock()
|
|
153 | 156 | }
|
154 | 157 | """
|
155 | 158 |
|
| 159 | +expected_muxcable_cableinfo_output = """\ |
| 160 | +Vendor Model |
| 161 | +-------- --------------- |
| 162 | +Credo CACL1X321P2PA1M |
| 163 | +""" |
| 164 | + |
156 | 165 |
|
157 | 166 | class TestMuxcable(object):
|
158 | 167 | @classmethod
|
@@ -487,6 +496,56 @@ def test_config_muxcable_disable_loopback(self):
|
487 | 496 |
|
488 | 497 | assert result.exit_code == 100
|
489 | 498 |
|
| 499 | + @mock.patch('sonic_y_cable.y_cable.get_part_number', mock.MagicMock(return_value=("CACL1X321P2PA1M"))) |
| 500 | + @mock.patch('sonic_y_cable.y_cable.get_vendor', mock.MagicMock(return_value=("Credo "))) |
| 501 | + @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value=1)) |
| 502 | + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) |
| 503 | + def test_show_muxcable_cableinfo(self): |
| 504 | + runner = CliRunner() |
| 505 | + db = Db() |
| 506 | + |
| 507 | + result = runner.invoke(show.cli.commands["muxcable"].commands["cableinfo"], |
| 508 | + ["Ethernet0"], obj=db) |
| 509 | + |
| 510 | + assert result.exit_code == 0 |
| 511 | + assert result.output == expected_muxcable_cableinfo_output |
| 512 | + |
| 513 | + @mock.patch('sonic_y_cable.y_cable.get_part_number', mock.MagicMock(return_value=(False))) |
| 514 | + @mock.patch('sonic_y_cable.y_cable.get_vendor', mock.MagicMock(return_value=(False))) |
| 515 | + @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value=1)) |
| 516 | + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0])) |
| 517 | + def test_show_muxcable_cableinfo_incorrect_port(self): |
| 518 | + runner = CliRunner() |
| 519 | + db = Db() |
| 520 | + |
| 521 | + result = runner.invoke(show.cli.commands["muxcable"].commands["cableinfo"], |
| 522 | + ["Ethernet0"], obj=db) |
| 523 | + assert result.exit_code == 1 |
| 524 | + |
| 525 | + @mock.patch('sonic_y_cable.y_cable.get_part_number', mock.MagicMock(return_value=(False))) |
| 526 | + @mock.patch('sonic_y_cable.y_cable.get_vendor', mock.MagicMock(return_value=(False))) |
| 527 | + @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value=1)) |
| 528 | + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=0)) |
| 529 | + def test_show_muxcable_cableinfo_incorrect_port_return_value(self): |
| 530 | + runner = CliRunner() |
| 531 | + db = Db() |
| 532 | + |
| 533 | + result = runner.invoke(show.cli.commands["muxcable"].commands["cableinfo"], |
| 534 | + ["Ethernet0"], obj=db) |
| 535 | + assert result.exit_code == 1 |
| 536 | + |
| 537 | + @mock.patch('sonic_y_cable.y_cable.get_part_number', mock.MagicMock(return_value=(False))) |
| 538 | + @mock.patch('sonic_y_cable.y_cable.get_vendor', mock.MagicMock(return_value=(False))) |
| 539 | + @mock.patch('show.muxcable.platform_sfputil', mock.MagicMock(return_value=1)) |
| 540 | + @mock.patch('utilities_common.platform_sfputil_helper.logical_port_name_to_physical_port_list', mock.MagicMock(return_value=[0, 1])) |
| 541 | + def test_show_muxcable_cableinfo_incorrect_logical_port_return_value(self): |
| 542 | + runner = CliRunner() |
| 543 | + db = Db() |
| 544 | + |
| 545 | + result = runner.invoke(show.cli.commands["muxcable"].commands["cableinfo"], |
| 546 | + ["Ethernet0"], obj=db) |
| 547 | + assert result.exit_code == 1 |
| 548 | + |
490 | 549 | @classmethod
|
491 | 550 | def teardown_class(cls):
|
492 | 551 | os.environ['UTILITIES_UNIT_TESTING'] = "0"
|
|
0 commit comments