Exemplo n.º 1
0
 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])
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
 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)
Exemplo n.º 5
0
 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)
Exemplo n.º 6
0
 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, [])
Exemplo n.º 7
0
 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, [])
Exemplo n.º 8
0
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)