def test_unpacking_depth_reached(self): test_file = FileObject(file_path=self.test_file_path) test_file.depth = 10 self.unpacker.unpack(test_file) assert 'unpacker' in test_file.processed_analysis assert 'maximum unpacking depth was reached' in test_file.processed_analysis[ 'unpacker']['info']
def test__add_job__recursive_is_set(self): fo = FileObject(binary='test', scheduled_analysis=[]) fo.depth = 1 self.base_plugin.recursive = False self.base_plugin.add_job(fo) out_fo = self.base_plugin.out_queue.get(timeout=5) self.assertIsInstance(out_fo, FileObject, 'not added to out_queue') self.base_plugin.recursive = True self.assertTrue(self.base_plugin._analysis_depth_not_reached_yet(fo), 'not positive but recursive')
def test_analysis_depth_not_reached_yet(self): fo = FileObject(binary='test', scheduled_analysis=[]) fo.depth = 1 self.base_plugin.recursive = False self.assertFalse(self.base_plugin._analysis_depth_not_reached_yet(fo), 'positive but not root object') fo.depth = 0 self.base_plugin.recursive = False self.assertTrue(self.base_plugin._analysis_depth_not_reached_yet(fo)) fo.depth = 1 self.base_plugin.recursive = True self.assertTrue(self.base_plugin._analysis_depth_not_reached_yet(fo)) fo.depth = 0 self.base_plugin.recursive = True self.assertTrue(self.base_plugin._analysis_depth_not_reached_yet(fo))
def test_recursive_condition_check(self): fo = FileObject(binary='test', scheduled_analysis=[]) fo.depth = 1 self.pBase.recursive = False self.assertFalse(self.pBase.recursive_condition_check(fo), 'positive but not root object') out_fo = self.pBase.out_queue.get(timeout=5) self.assertIsInstance(out_fo, FileObject, 'not added to out_queue') self.pBase.recursive = True self.assertTrue(self.pBase.recursive_condition_check(fo), 'not positvie but recursive')