def test_check_upgrade_impact_disruptive_success(self): """ UT: nxos_upgrade module:check_upgrade_impact method - disruptive success """ for platform in self.platform_list: if platform.install_all_disruptive_success: with patch.dict( nxos_upgrade.__salt__, { "nxos.sendline": MagicMock( return_value=platform.install_all_disruptive_success ) }, ): result = nxos_upgrade.check_upgrade_impact(platform.nimage) self.assert_platform_upgrade( result["upgrade_required"] == platform.upgrade_required, platform, ) self.assert_platform_upgrade( not result["upgrade_non_disruptive"], platform ) self.assert_platform_upgrade(not result["succeeded"], platform) self.assert_platform_upgrade( result["upgrade_in_progress"], platform ) self.assert_platform_upgrade(result["module_data"], platform)
def test_check_upgrade_impact_internal_server_error_400_in_progress(self): """ UT: nxos_upgrade module:check_upgrade_impact method - in-progress error HTTP code 400 """ for platform in self.platform_list: if platform.bad_request_client_error_400_in_progress_dict: with patch.dict( nxos_upgrade.__salt__, { "nxos.sendline": MagicMock( return_value=platform.bad_request_client_error_400_in_progress_dict ) }, ): result = nxos_upgrade.check_upgrade_impact(platform.nimage) self.assert_platform_upgrade(result["installing"], platform) self.assert_platform_upgrade(not result["succeeded"], platform)
def test_check_upgrade_impact_non_disruptive_success(self): """ UT: nxos_upgrade module:check_upgrade_impact method - non-disruptive success """ for platform in self.platform_list: if platform.install_all_non_disruptive_success: with patch.dict( nxos_upgrade.__salt__, { 'nxos.sendline': MagicMock(return_value=platform. install_all_non_disruptive_success) }): result = nxos_upgrade.check_upgrade_impact(platform.nimage) self.assert_platform_upgrade( result['upgrade_non_disruptive'], platform) self.assert_platform_upgrade(result['succeeded'], platform) self.assert_platform_upgrade(result['module_data'], platform)
def test_check_upgrade_impact_backend_processing_error_500(self): """ UT: nxos_upgrade module:check_upgrade_impact method - error HTTP code 500 """ for platform in self.platform_list: if platform.backend_processing_error_500: with patch.dict( nxos_upgrade.__salt__, { 'nxos.sendline': MagicMock( return_value=platform.backend_processing_error_500) }): result = nxos_upgrade.check_upgrade_impact(platform.nimage) self.assert_platform_upgrade( result['backend_processing_error'], platform) self.assert_platform_upgrade(not result['succeeded'], platform)
def test_check_upgrade_impact_internal_server_error_400_invalid_command( self): """ UT: nxos_upgrade module:check_upgrade_impact method - invalid command error HTTP code 400 """ for platform in self.platform_list: if platform.bad_request_client_error_400_invalid_command_dict: with patch.dict( nxos_upgrade.__salt__, { 'nxos.sendline': MagicMock( return_value=platform. bad_request_client_error_400_invalid_command_dict) }): result = nxos_upgrade.check_upgrade_impact(platform.nimage) self.assert_platform_upgrade(result['invalid_command'], platform) self.assert_platform_upgrade(not result['succeeded'], platform)
def test_check_upgrade_impact_internal_server_error_500(self): """ UT: nxos_upgrade module:check_upgrade_impact method - internal server error HTTP code 500 """ for platform in self.platform_list: if platform.internal_server_error_500: with patch.dict( nxos_upgrade.__salt__, { "nxos.sendline": MagicMock( return_value=platform.internal_server_error_500 ) }, ): result = nxos_upgrade.check_upgrade_impact(platform.nimage) self.assert_platform_upgrade( platform.internal_server_error_500 in result["error_data"], platform, ) self.assert_platform_upgrade( result["backend_processing_error"], platform ) self.assert_platform_upgrade(not result["succeeded"], platform)
def test_check_upgrade_impact_input_validation(): """ UT: nxos_upgrade module:check_upgrade_impact method - input validation """ result = nxos_upgrade.check_upgrade_impact("dummy-platform-image.bin", issu=1) assert "Input Error" in result