LEFT | RIGHT |
1 # -*- coding: utf-8 -*- | 1 # -*- coding: utf-8 -*- |
2 """Syslog plugin related functions and classes for testing.""" | 2 """Syslog plugin related functions and classes for testing.""" |
3 | 3 |
4 from __future__ import unicode_literals | 4 from __future__ import unicode_literals |
5 | 5 |
6 from plaso.containers import sessions | 6 from plaso.containers import sessions |
7 from plaso.parsers import syslog | 7 from plaso.parsers import syslog |
8 from plaso.storage.fake import writer | 8 from plaso.storage.fake import writer as fake_writer |
9 | 9 |
10 from tests.parsers import test_lib | 10 from tests.parsers import test_lib |
11 | 11 |
12 | 12 |
13 class SyslogPluginTestCase(test_lib.ParserTestCase): | 13 class SyslogPluginTestCase(test_lib.ParserTestCase): |
14 """The unit test case for Syslog plugins.""" | 14 """The unit test case for Syslog plugins.""" |
15 | 15 |
16 def _ParseFileWithPlugin( | 16 def _ParseFileWithPlugin( |
17 self, path_segments, plugin_name, knowledge_base_values=None): | 17 self, path_segments, plugin_name, knowledge_base_values=None): |
18 """Parses a syslog file with a specific plugin. | 18 """Parses a syslog file with a specific plugin. |
19 | 19 |
20 Args: | 20 Args: |
21 path_segments (list[str]): path segments inside the test data directory. | 21 path_segments (list[str]): path segments inside the test data directory. |
22 plugin_name (str): name of the plugin. | 22 plugin_name (str): name of the plugin. |
23 knowledge_base_values (Optional[dict]): knowledge base values. | 23 knowledge_base_values (Optional[dict]): knowledge base values. |
24 | 24 |
25 Returns: | 25 Returns: |
26 FakeStorageWriter: storage writer. | 26 FakeStorageWriter: storage writer. |
27 """ | 27 """ |
28 session = sessions.Session() | 28 session = sessions.Session() |
29 storage_writer = writer.FakeStorageWriter(session) | 29 storage_writer = fake_writer.FakeStorageWriter(session) |
30 storage_writer.Open() | 30 storage_writer.Open() |
31 | 31 |
32 file_entry = self._GetTestFileEntry(path_segments) | 32 file_entry = self._GetTestFileEntry(path_segments) |
33 parser_mediator = self._CreateParserMediator( | 33 parser_mediator = self._CreateParserMediator( |
34 storage_writer, file_entry=file_entry, | 34 storage_writer, file_entry=file_entry, |
35 knowledge_base_values=knowledge_base_values) | 35 knowledge_base_values=knowledge_base_values) |
36 | 36 |
37 parser = syslog.SyslogParser() | 37 parser = syslog.SyslogParser() |
38 parser.EnablePlugins([plugin_name]) | 38 parser.EnablePlugins([plugin_name]) |
39 | 39 |
40 file_object = file_entry.GetFileObject() | 40 file_object = file_entry.GetFileObject() |
41 try: | 41 try: |
42 parser.Parse(parser_mediator, file_object) | 42 parser.Parse(parser_mediator, file_object) |
43 finally: | 43 finally: |
44 file_object.close() | 44 file_object.close() |
45 | 45 |
46 return storage_writer | 46 return storage_writer |
LEFT | RIGHT |