OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # -*- coding: utf-8 -*- | 2 # -*- coding: utf-8 -*- |
3 """Tests for the MacOS Document Versions plugin.""" | 3 """Tests for the MacOS Document Versions plugin.""" |
4 | 4 |
5 from __future__ import unicode_literals | 5 from __future__ import unicode_literals |
6 | 6 |
7 import unittest | 7 import unittest |
8 | 8 |
9 from plaso.formatters import mac_document_versions as _ # pylint: disable=unuse
d-import | 9 from plaso.formatters import mac_document_versions as _ # pylint: disable=unuse
d-import |
10 from plaso.lib import definitions | 10 from plaso.lib import definitions |
11 from plaso.lib import timelib | |
12 from plaso.parsers.sqlite_plugins import mac_document_versions | 11 from plaso.parsers.sqlite_plugins import mac_document_versions |
13 | 12 |
14 from tests import test_lib as shared_test_lib | 13 from tests import test_lib as shared_test_lib |
15 from tests.parsers.sqlite_plugins import test_lib | 14 from tests.parsers.sqlite_plugins import test_lib |
16 | 15 |
17 | 16 |
18 class MacDocumentVersionsTest(test_lib.SQLitePluginTestCase): | 17 class MacDocumentVersionsTest(test_lib.SQLitePluginTestCase): |
19 """Tests for the MacOS Document Versions plugin.""" | 18 """Tests for the MacOS Document Versions plugin.""" |
20 | 19 |
21 @shared_test_lib.skipUnlessHasTestFile(['document_versions.sql']) | 20 @shared_test_lib.skipUnlessHasTestFile(['document_versions.sql']) |
22 def testProcess(self): | 21 def testProcess(self): |
23 """Tests the Process function on a MacOS Document Versions file.""" | 22 """Tests the Process function on a MacOS Document Versions file.""" |
24 plugin = mac_document_versions.MacDocumentVersionsPlugin() | 23 plugin = mac_document_versions.MacDocumentVersionsPlugin() |
25 storage_writer = self._ParseDatabaseFileWithPlugin( | 24 storage_writer = self._ParseDatabaseFileWithPlugin( |
26 ['document_versions.sql'], plugin) | 25 ['document_versions.sql'], plugin) |
27 | 26 |
28 self.assertEqual(storage_writer.number_of_events, 4) | 27 self.assertEqual(storage_writer.number_of_events, 4) |
29 | 28 |
30 events = list(storage_writer.GetEvents()) | 29 events = list(storage_writer.GetEvents()) |
31 | 30 |
32 # Check the first page visited entry. | 31 # Check the first page visited entry. |
33 event = events[0] | 32 event = events[0] |
34 | 33 |
| 34 self.CheckTimestamp(event.timestamp, '2014-01-21 02:03:00.000000') |
35 self.assertEqual( | 35 self.assertEqual( |
36 event.timestamp_desc, definitions.TIME_DESCRIPTION_CREATION) | 36 event.timestamp_desc, definitions.TIME_DESCRIPTION_CREATION) |
37 expected_timestamp = timelib.Timestamp.CopyFromString( | |
38 '2014-01-21 02:03:00') | |
39 self.assertEqual(event.timestamp, expected_timestamp) | |
40 | 37 |
41 self.assertEqual(event.name, 'Spain is beautiful.rtf') | 38 self.assertEqual(event.name, 'Spain is beautiful.rtf') |
42 self.assertEqual(event.path, '/Users/moxilo/Documents') | 39 self.assertEqual(event.path, '/Users/moxilo/Documents') |
43 self.assertEqual(event.user_sid, '501') | 40 self.assertEqual(event.user_sid, '501') |
44 expected_version_path = ( | 41 expected_version_path = ( |
45 '/.DocumentRevisions-V100/PerUID/501/1/' | 42 '/.DocumentRevisions-V100/PerUID/501/1/' |
46 'com.apple.documentVersions/' | 43 'com.apple.documentVersions/' |
47 '08CFEB5A-5CDA-486F-AED5-EA35BF3EE4C2.rtf') | 44 '08CFEB5A-5CDA-486F-AED5-EA35BF3EE4C2.rtf') |
48 self.assertEqual(event.version_path, expected_version_path) | 45 self.assertEqual(event.version_path, expected_version_path) |
49 | 46 |
50 expected_message = ( | 47 expected_message = ( |
51 'Version of [{0:s}] ({1:s}) stored in {2:s} by {3:s}'.format( | 48 'Version of [{0:s}] ({1:s}) stored in {2:s} by {3:s}'.format( |
52 event.name, event.path, | 49 event.name, event.path, event.version_path, event.user_sid)) |
53 event.version_path, event.user_sid)) | |
54 expected_short_message = 'Stored a document version of [{0:s}]'.format( | 50 expected_short_message = 'Stored a document version of [{0:s}]'.format( |
55 event.name) | 51 event.name) |
56 self._TestGetMessageStrings(event, expected_message, expected_short_message) | 52 self._TestGetMessageStrings(event, expected_message, expected_short_message) |
57 | 53 |
58 | 54 |
59 if __name__ == '__main__': | 55 if __name__ == '__main__': |
60 unittest.main() | 56 unittest.main() |
OLD | NEW |