@@ -588,6 +588,7 @@ def test_show_lpmode(self, mock_chassis):
588588 mock_api = MagicMock ()
589589 mock_sfp .get_xcvr_api = MagicMock (return_value = mock_api )
590590 mock_sfp .get_lpmode .return_value = True
591+ mock_sfp .get_presence = MagicMock (return_value = True )
591592 mock_chassis .get_sfp = MagicMock (return_value = mock_sfp )
592593 runner = CliRunner ()
593594 result = runner .invoke (sfputil .cli .commands ['show' ].commands ['lpmode' ], ["-p" , "Ethernet0" ])
@@ -604,9 +605,19 @@ def test_show_lpmode(self, mock_chassis):
604605 expected_output = """Port Low-power Mode
605606--------- ----------------
606607Ethernet0 Off
608+ """
609+ assert result .output == expected_output
610+
611+ mock_sfp .get_presence .return_value = False
612+ result = runner .invoke (sfputil .cli .commands ['show' ].commands ['lpmode' ], ["-p" , "Ethernet0" ])
613+ assert result .exit_code == 0
614+ expected_output = """Port Low-power Mode
615+ --------- ----------------
616+ Ethernet0 Not Present
607617"""
608618 assert result .output == expected_output
609619
620+ mock_sfp .get_presence .return_value = True
610621 mock_sfp .get_lpmode .return_value = False
611622 mock_sfp .get_transceiver_info = MagicMock (return_value = {'type' : sfputil .RJ45_PORT_TYPE })
612623 mock_chassis .get_port_or_cage_type = MagicMock (return_value = sfputil .SfpBase .SFP_PORT_TYPE_BIT_RJ45 )
@@ -1159,23 +1170,56 @@ def test_eeprom_hexdump_single_port(self, mock_isinstance, mock_dump, mock_chass
11591170 sfputil .eeprom_hexdump_single_port ('Ethernet0' , 3 )
11601171 mock_dump .assert_called_with ('Ethernet0' , [0 , 3 ], 3 )
11611172
1162-
1163-
1164- @patch ('sfputil.main.logical_port_name_to_physical_port_list' , MagicMock (return_value = 1 ))
1165- @patch ('sfputil.main.is_port_type_rj45' , MagicMock (return_value = True ))
1173+ @patch ('sfputil.main.logical_port_name_to_physical_port_list' , MagicMock (return_value = [1 ]))
1174+ @patch ('sfputil.main.platform_chassis' )
1175+ @patch ('sfputil.main.is_port_type_rj45' )
11661176 @patch ('sfputil.main.platform_sfputil' , MagicMock (is_logical_port = MagicMock (return_value = 1 )))
1167- def test_lpmode_set (self ):
1177+ def test_lpmode_set (self , mock_is_rj45 , mock_chassis ):
11681178 runner = CliRunner ()
1179+ mock_is_rj45 .return_value = False
1180+ mock_sfp = MagicMock ()
1181+ mock_api = MagicMock ()
1182+ mock_sfp .get_xcvr_api = MagicMock (return_value = mock_api )
1183+ mock_sfp .get_presence .return_value = True
1184+ mock_chassis .get_sfp = MagicMock (return_value = mock_sfp )
1185+ result = runner .invoke (sfputil .cli .commands ['lpmode' ].commands ['on' ], ["Ethernet0" ])
1186+ assert result .exit_code == 0
1187+ assert result .output == "Enabling low-power mode for port Ethernet0 ... OK\n "
1188+
1189+ mock_sfp .get_presence .return_value = False
1190+ result = runner .invoke (sfputil .cli .commands ['lpmode' ].commands ['on' ], ["Ethernet0" ])
1191+ assert result .exit_code == 0
1192+ assert result .output == "Ethernet0: module 1 is not present, skipping\n "
1193+
1194+ mock_is_rj45 .return_value = True
11691195 result = runner .invoke (sfputil .cli .commands ['lpmode' ].commands ['on' ], ["Ethernet0" ])
11701196 assert result .output == 'Enabling low-power mode is not applicable for RJ45 port Ethernet0.\n '
11711197 assert result .exit_code == EXIT_FAIL
11721198
1173- @patch ('sfputil.main.logical_port_name_to_physical_port_list' , MagicMock (return_value = 1 ))
1174- @patch ('sfputil.main.is_port_type_rj45' , MagicMock (return_value = True ))
1199+ @patch ('sfputil.main.logical_port_name_to_physical_port_list' , MagicMock (return_value = [1 ]))
1200+ @patch ('sfputil.main.platform_chassis' )
1201+ @patch ('sfputil.main.is_port_type_rj45' )
11751202 @patch ('sfputil.main.platform_sfputil' , MagicMock (is_logical_port = MagicMock (return_value = 1 )))
1176- def test_reset_RJ45 (self ):
1203+ def test_reset_RJ45 (self , mock_is_rj45 , mock_chassis ):
1204+ mock_is_rj45 .return_value = False
1205+ mock_sfp = MagicMock ()
1206+ mock_api = MagicMock ()
1207+ mock_sfp .get_xcvr_api = MagicMock (return_value = mock_api )
1208+ mock_sfp .get_presence = MagicMock (return_value = True )
1209+ mock_sfp .reset = MagicMock (return_value = True )
1210+ mock_chassis .get_sfp = MagicMock (return_value = mock_sfp )
11771211 runner = CliRunner ()
11781212 result = runner .invoke (sfputil .cli .commands ['reset' ], ["Ethernet0" ])
1213+ assert result .exit_code == 0
1214+ assert result .output == "Resetting port Ethernet0 ... OK\n "
1215+
1216+ mock_sfp .get_presence .return_value = False
1217+ result = runner .invoke (sfputil .cli .commands ['reset' ], ["Ethernet0" ])
1218+ assert result .exit_code == 0
1219+ assert result .output == "Ethernet0: module 1 is not present, skipping\n "
1220+
1221+ mock_is_rj45 .return_value = True
1222+ result = runner .invoke (sfputil .cli .commands ['reset' ], ["Ethernet0" ])
11791223 assert result .output == 'Reset is not applicable for RJ45 port Ethernet0.\n '
11801224 assert result .exit_code == EXIT_FAIL
11811225
0 commit comments