Left: | ||
Right: |
LEFT | RIGHT |
---|---|
1 # -*- coding: utf-8 -*- | 1 # -*- coding: utf-8 -*- |
2 """ESEDB plugin related functions and classes for testing.""" | 2 """ESEDB plugin related functions and classes for testing.""" |
3 | 3 |
4 from __future__ import unicode_literals | 4 from __future__ import unicode_literals |
5 | 5 |
6 import pyesedb | 6 import pyesedb |
7 | 7 |
8 from plaso.containers import sessions | 8 from plaso.containers import sessions |
9 from plaso.parsers import esedb | 9 from plaso.parsers import esedb |
10 from plaso.storage.fake import writer | 10 from plaso.storage.fake import writer as fake_writer |
Joachim Metz
2018/01/02 18:11:27
for consistency:
+ as fake_writer
(repeat across
onager
2018/01/03 19:39:10
Done.
| |
11 | 11 |
12 from tests.parsers import test_lib | 12 from tests.parsers import test_lib |
13 | 13 |
14 | 14 |
15 class ESEDBPluginTestCase(test_lib.ParserTestCase): | 15 class ESEDBPluginTestCase(test_lib.ParserTestCase): |
16 """ESE database-based plugin test case.""" | 16 """ESE database-based plugin test case.""" |
17 | 17 |
18 def _ParseESEDBFileWithPlugin( | 18 def _ParseESEDBFileWithPlugin( |
19 self, path_segments, plugin, knowledge_base_values=None): | 19 self, path_segments, plugin, knowledge_base_values=None): |
20 """Parses a file as an ESE database file and returns an event generator. | 20 """Parses a file as an ESE database file and returns an event generator. |
21 | 21 |
22 Args: | 22 Args: |
23 path_segments (list[str]): path segments inside the test data directory. | 23 path_segments (list[str]): path segments inside the test data directory. |
24 plugin (ESEDBPlugin): ESE database plugin. | 24 plugin (ESEDBPlugin): ESE database plugin. |
25 knowledge_base_values (Optional[dict[str, object]]): knowledge base | 25 knowledge_base_values (Optional[dict[str, object]]): knowledge base |
26 values. | 26 values. |
27 | 27 |
28 Returns: | 28 Returns: |
29 FakeStorageWriter: storage writer. | 29 FakeStorageWriter: storage writer. |
30 """ | 30 """ |
31 session = sessions.Session() | 31 session = sessions.Session() |
32 storage_writer = writer.FakeStorageWriter(session) | 32 storage_writer = fake_writer.FakeStorageWriter(session) |
33 storage_writer.Open() | 33 storage_writer.Open() |
34 | 34 |
35 file_entry = self._GetTestFileEntry(path_segments) | 35 file_entry = self._GetTestFileEntry(path_segments) |
36 parser_mediator = self._CreateParserMediator( | 36 parser_mediator = self._CreateParserMediator( |
37 storage_writer, file_entry=file_entry, | 37 storage_writer, file_entry=file_entry, |
38 knowledge_base_values=knowledge_base_values) | 38 knowledge_base_values=knowledge_base_values) |
39 | 39 |
40 file_object = file_entry.GetFileObject() | 40 file_object = file_entry.GetFileObject() |
41 | 41 |
42 try: | 42 try: |
43 esedb_file = pyesedb.file() | 43 esedb_file = pyesedb.file() |
44 esedb_file.open_file_object(file_object) | 44 esedb_file.open_file_object(file_object) |
45 cache = esedb.ESEDBCache() | 45 cache = esedb.ESEDBCache() |
46 plugin.Process(parser_mediator, cache=cache, database=esedb_file) | 46 plugin.Process(parser_mediator, cache=cache, database=esedb_file) |
47 esedb_file.close() | 47 esedb_file.close() |
48 | 48 |
49 finally: | 49 finally: |
50 file_object.close() | 50 file_object.close() |
51 | 51 |
52 return storage_writer | 52 return storage_writer |
LEFT | RIGHT |