@@ -710,12 +710,12 @@ def test_run_firmwre(self, mock_chassis):
710710 @patch ('sfputil.main.logical_port_to_physical_port_index' , MagicMock (return_value = 1 ))
711711 @pytest .mark .parametrize ("mock_response, expected" , [
712712 ({'status' : False , 'result' : None } , - 1 ),
713- ({'status' : True , 'result' : ("1.0.1" , 1 , 1 , 0 , "1.0.2" , 0 , 0 , 0 )} , - 1 ),
714- ({'status' : True , 'result' : ("1.0.1" , 0 , 0 , 0 , "1.0.2" , 1 , 1 , 0 )} , - 1 ),
715- ({'status' : True , 'result' : ("1.0.1" , 1 , 0 , 0 , "1.0.2" , 0 , 1 , 0 )} , 1 ),
716- ({'status' : True , 'result' : ("1.0.1" , 0 , 1 , 0 , "1.0.2" , 1 , 0 , 0 )} , 1 ),
717- ({'status' : True , 'result' : ("1.0.1" , 1 , 0 , 1 , "1.0.2" , 0 , 1 , 0 )} , - 1 ),
718- ({'status' : True , 'result' : ("1.0.1" , 0 , 1 , 0 , "1.0.2" , 1 , 0 , 1 )} , - 1 ),
713+ ({'status' : True , 'result' : ("1.0.1" , 1 , 1 , 0 , "1.0.2" , 0 , 0 , 0 , "1.0.1" , "1.0.2" )} , - 1 ),
714+ ({'status' : True , 'result' : ("1.0.1" , 0 , 0 , 0 , "1.0.2" , 1 , 1 , 0 , "1.0.2" , "1.0.1" )} , - 1 ),
715+ ({'status' : True , 'result' : ("1.0.1" , 1 , 0 , 0 , "1.0.2" , 0 , 1 , 0 , "1.0.1" , "1.0.2" )} , 1 ),
716+ ({'status' : True , 'result' : ("1.0.1" , 0 , 1 , 0 , "1.0.2" , 1 , 0 , 0 , "1.0.2" , "1.0.1" )} , 1 ),
717+ ({'status' : True , 'result' : ("1.0.1" , 1 , 0 , 1 , "1.0.2" , 0 , 1 , 0 , "1.0.1" , "1.0.2" )} , - 1 ),
718+ ({'status' : True , 'result' : ("1.0.1" , 0 , 1 , 0 , "1.0.2" , 1 , 0 , 1 , "1.0.2" , "1.0.1" )} , - 1 ),
719719
720720 # "is_fw_switch_done" function will waiting until timeout under below condition, so that this test will spend around 1min.
721721 ({'status' : False , 'result' : 0 } , - 1 ),
@@ -790,3 +790,32 @@ def test_firmware_download_RJ45(self):
790790 result = runner .invoke (sfputil .cli .commands ['firmware' ].commands ['download' ], ["Ethernet0" , "a.b" ])
791791 assert result .output == 'This functionality is not applicable for RJ45 port Ethernet0.\n '
792792 assert result .exit_code == EXIT_FAIL
793+
794+ @patch ('sfputil.main.is_sfp_present' , MagicMock (return_value = True ))
795+ @patch ('sfputil.main.is_port_type_rj45' , MagicMock (return_value = False ))
796+ @patch ('sfputil.main.run_firmware' , MagicMock (return_value = 1 ))
797+ @patch ('sfputil.main.update_firmware_info_to_state_db' , MagicMock ())
798+ def test_firmware_run_cli (self ):
799+ runner = CliRunner ()
800+ result = runner .invoke (sfputil .cli .commands ['firmware' ].commands ['run' ], ["Ethernet0" ])
801+ assert result .exit_code == 0
802+
803+ @patch ('sfputil.main.is_sfp_present' , MagicMock (return_value = True ))
804+ @patch ('sfputil.main.is_port_type_rj45' , MagicMock (return_value = False ))
805+ @patch ('sfputil.main.commit_firmware' , MagicMock (return_value = 1 ))
806+ @patch ('sfputil.main.update_firmware_info_to_state_db' , MagicMock ())
807+ def test_firmware_commit_cli (self ):
808+ runner = CliRunner ()
809+ result = runner .invoke (sfputil .cli .commands ['firmware' ].commands ['commit' ], ["Ethernet0" ])
810+ assert result .exit_code == 0
811+
812+ @patch ('sfputil.main.logical_port_to_physical_port_index' , MagicMock (return_value = 1 ))
813+ @patch ('sonic_py_common.multi_asic.get_front_end_namespaces' , MagicMock (return_value = ['' ]))
814+ @patch ('sfputil.main.SonicV2Connector' , MagicMock ())
815+ @patch ('sfputil.main.platform_chassis' )
816+ def test_update_firmware_info_to_state_db (self , mock_chassis ):
817+ mock_sfp = MagicMock ()
818+ mock_chassis .get_sfp = MagicMock (return_value = mock_sfp )
819+ mock_sfp .get_transceiver_info_firmware_versions .return_value = ['a.b.c' , 'd.e.f' ]
820+
821+ sfputil .update_firmware_info_to_state_db ("Ethernet0" )
0 commit comments