def test_handle_output_files_resubmit_level_ok( self, m_session_transaction, m_FileExt, m_append_new_files_to_scan): m_file_ext, m_session = MagicMock(), MagicMock() m_session_transaction().__enter__.return_value = m_session m_file_ext.resubmit_files = True m_file_ext.depth = 15 m_FileExt.load_from_ext_id.return_value = m_file_ext uploaded_files = {'filename': 'filehash'} result = {'uploaded_files': uploaded_files, 'name': 'probe_name'} fw1 = MagicMock() m_append_new_files_to_scan.return_value = [fw1] m_parentfile = MagicMock() m_file_ext.file = m_parentfile m_parentfile.children = [] module.handle_output_files("filewebid", result) m_FileExt.load_from_ext_id.assert_called_once_with("filewebid", m_session) m_append_new_files_to_scan.assert_called_once_with( m_file_ext.scan, uploaded_files, m_file_ext.fetch_probe_result(result['name']), m_file_ext.depth+1) self.assertCountEqual(m_parentfile.children, [fw1])
def scan_result(file_ext_id, probe, result): try: log.debug("result for file_ext: %s probe: %s", file_ext_id, probe) scan_ctrl.handle_output_files(file_ext_id, result) scan_ctrl.set_result(file_ext_id, probe, result) except IrmaDatabaseError as e: log.exception(e) raise scan_result.retry(countdown=2, max_retries=3, exc=e)
def scan_result(self, file_ext_id, probe, result): max_retries = 3 try: log.debug("file_ext: %s result from probe %s retry: %d", file_ext_id, probe, self.request.retries) scan_ctrl.handle_output_files(file_ext_id, result) scan_ctrl.set_result(file_ext_id, probe, result) except IrmaDatabaseError as e: log.exception(e) raise self.retry(countdown=2, max_retries=max_retries, exc=e)
def test_handle_output_files_no_resubmit(self, m_session_transaction, m_FileExt): m_file_ext, m_session = MagicMock(), MagicMock() m_session_transaction().__enter__.return_value = m_session m_file_ext.scan.resubmit_files = True m_FileExt.load_from_ext_id.return_value = m_file_ext result = {} module.handle_output_files("filewebid", result) m_FileExt.load_from_ext_id.assert_called_once_with( "filewebid", m_session)
def test_handle_output_files_no_resubmit(self, m_session_transaction, m_FileExt): m_file_ext, m_session = MagicMock(), MagicMock() m_session_transaction().__enter__.return_value = m_session m_file_ext.scan.resubmit_files = True m_FileExt.load_from_ext_id.return_value = m_file_ext result = {} module.handle_output_files("filewebid", result) m_FileExt.load_from_ext_id.assert_called_once_with("filewebid", m_session)
def test_handle_output_files_resubmit_none(self, m_session_transaction, m_FileExt, m_append_new_files_to_scan): m_file_ext, m_session = MagicMock(), MagicMock() m_session_transaction().__enter__.return_value = m_session m_file_ext.scan.resubmit_files = True m_FileExt.load_from_ext_id.return_value = m_file_ext result = {} fw1 = MagicMock() m_append_new_files_to_scan.return_value = [fw1] m_parentfile = MagicMock() m_parentfile.children = [] m_file_ext.file = m_parentfile module.handle_output_files("filewebid", result) m_FileExt.load_from_ext_id.assert_called_once_with( "filewebid", m_session) m_append_new_files_to_scan.assert_not_called() self.assertCountEqual(m_parentfile.children, [])
def test_handle_output_files_resubmit_none(self, m_session_transaction, m_FileExt, m_append_new_files_to_scan): m_file_ext, m_session = MagicMock(), MagicMock() m_session_transaction().__enter__.return_value = m_session m_file_ext.scan.resubmit_files = True m_file_ext.depth = 0 m_FileExt.load_from_ext_id.return_value = m_file_ext result = {} fw1 = MagicMock() m_append_new_files_to_scan.return_value = [fw1] m_parentfile = MagicMock() m_parentfile.children = [] m_file_ext.file = m_parentfile module.handle_output_files("filewebid", result) m_FileExt.load_from_ext_id.assert_called_once_with("filewebid", m_session) m_append_new_files_to_scan.assert_not_called() self.assertCountEqual(m_parentfile.children, [])
def scan_result_error(self, parent_taskid, file_ext_id, probe, result): log.debug("Error result file_ext: %s probe %s", file_ext_id, probe) result["error"] = "Error raised during result insert" result["status"] = -1 scan_ctrl.handle_output_files(file_ext_id, result, error_case=True) scan_ctrl.set_result(file_ext_id, probe, result)