Ejemplo n.º 1
0
  def setUp(self, task_class=TurbiniaTask, evidence_class=evidence.RawDisk):
    self.task_class = task_class
    self.evidence_class = evidence_class
    self.remove_files = []
    self.remove_dirs = []

    # Set up Tasks under test
    self.base_output_dir = tempfile.mkdtemp()
    self.plaso_task = PlasoTask(base_output_dir=self.base_output_dir)
    self.plaso_task.output_manager = mock.MagicMock()
    self.plaso_task.output_manager.get_local_output_dirs.return_value = (
        None, None)
    self.task = self.task_class(base_output_dir=self.base_output_dir)
    self.task.job_name = 'PlasoJob'
    self.task.output_manager = mock.MagicMock()
    self.task.output_manager.get_local_output_dirs.return_value = (None, None)
    self.task.get_metrics = mock.MagicMock()

    # Set up RawDisk Evidence
    test_disk_path = tempfile.mkstemp(dir=self.base_output_dir)[1]
    self.remove_files.append(test_disk_path)
    self.test_stdout_path = tempfile.mkstemp(dir=self.base_output_dir)[1]
    self.remove_files.append(self.test_stdout_path)
    self.evidence = evidence.RawDisk(source_path=test_disk_path)
    self.evidence.config['abort'] = False
    self.evidence.config['globals'] = {}
    self.evidence.preprocess = mock.MagicMock()
    # Set up TurbiniaTaskResult
    self.result = TurbiniaTaskResult(base_output_dir=self.base_output_dir)

    self.result.output_dir = self.base_output_dir
Ejemplo n.º 2
0
    def setUp(self, task_class=TurbiniaTask, evidence_class=evidence.RawDisk):
        self.task_class = task_class
        self.evidence_class = evidence_class
        self.remove_files = []
        self.remove_dirs = []

        # Set up Tasks under test
        self.base_output_dir = tempfile.mkdtemp()
        self.plaso_task = PlasoTask(base_output_dir=self.base_output_dir)
        self.plaso_task.output_manager = mock.MagicMock()
        self.plaso_task.output_manager.get_local_output_dirs.return_value = (
            None, None)
        self.task = self.task_class(base_output_dir=self.base_output_dir)
        self.task.output_manager = mock.MagicMock()
        self.task.output_manager.get_local_output_dirs.return_value = (None,
                                                                       None)

        # Set up Evidence
        test_artifact_path = tempfile.mkstemp(dir=self.base_output_dir)[1]
        self.remove_files.append(test_artifact_path)
        self.evidence = self.evidence_class(local_path=test_artifact_path)

        # Set up TurbiniaTaskResult
        self.result = TurbiniaTaskResult(base_output_dir=self.base_output_dir)
        self.result.setup(self.task)

        self.result.output_dir = self.base_output_dir
Ejemplo n.º 3
0
 def testTaskRunner(self, mock_task_deserialize):
     """Basic test for task_runner."""
     task = PlasoTask()
     task.run_wrapper = lambda x: x
     mock_task_deserialize.return_value = task
     task_dict = task.serialize()
     ret = task_utils.task_runner(task_dict, 'testValue')
     self.assertEqual(ret, 'testValue')
Ejemplo n.º 4
0
 def testTaskDeserialize(self):
     """Basic test for task_deserialize."""
     task = PlasoTask(request_id='testRequestID', requester='testRequester')
     task_dict = task.serialize()
     test_task = task_utils.task_deserialize(task_dict)
     self.assertEqual(test_task.request_id, 'testRequestID')
     self.assertEqual(test_task.requester, 'testRequester')
     self.assertIsInstance(test_task, PlasoTask)
Ejemplo n.º 5
0
    def create_tasks(self, evidence):
        """Create task for Plaso.

    Args:
      evidence: List of evidence objects to process

    Returns:
        A list of PlasoTasks.
    """
        return [PlasoTask() for _ in evidence]
Ejemplo n.º 6
0
    def create_task(src_path, out_path, job_id=None, workers=1):
        """Create task for bulk_extractor.

    Args:
        src_path: Path to the data to process.
        out_path: Path to where to put the result.
        job_id: Unique identifier for the job (optional).
        workers: Number of workers to run the Job on.
    Returns:
        A Celery task (instance of celery.Task).
    """
        if not job_id:
            job_id = uuid.uuid4().hex
        task = PlasoTask().delay(src_path, out_path, job_id, workers=workers)
        return task, job_id