def testProduceEvent(self): """Tests the _ProduceEvent function.""" plugin = oxml.OpenXMLPlugin() storage_writer = self._CreateStorageWriter() parser_mediator = self._CreateParserMediator(storage_writer) event_data = oxml.OpenXMLEventData() properties = plugin._ParsePropertiesXMLFile(self._PROPERTIES_XML_DATA) # Test parsing a date and time string in intervals of 1 s. plugin._ProduceEvent(parser_mediator, event_data, properties, 'modified', definitions.TIME_DESCRIPTION_MODIFICATION, 'modification time') self.assertEqual(storage_writer.number_of_errors, 0) self.assertEqual(storage_writer.number_of_events, 1) # Test parsing a date and time string in intervals of 100 ns. plugin._ProduceEvent(parser_mediator, event_data, properties, 'created', definitions.TIME_DESCRIPTION_CREATION, 'creation time') self.assertEqual(storage_writer.number_of_errors, 0) self.assertEqual(storage_writer.number_of_events, 2)
def testParseFileObject(self): """Tests the ParseFileObject function.""" plugin = oxml.OpenXMLPlugin() storage_writer = self._ParseZIPFileWithPlugin(['Document.docx'], plugin) self.assertEqual(storage_writer.number_of_warnings, 0) self.assertEqual(storage_writer.number_of_events, 2) events = list(storage_writer.GetEvents()) expected_event_values = { 'timestamp': '2012-11-07 23:29:00.000000', 'timestamp_desc': definitions.TIME_DESCRIPTION_CREATION } self.CheckEventValues(storage_writer, events[0], expected_event_values) expected_event_values = { 'app_version': '14.0000', 'author': 'Nides', 'creating_app': 'Microsoft Office Word', 'doc_security': '0', 'hyperlinks_changed': 'false', 'i4': '1', 'last_saved_by': 'Nides', 'links_up_to_date': 'false', 'number_of_characters': '13', 'number_of_characters_with_spaces': '14', 'number_of_lines': '1', 'number_of_pages': '1', 'number_of_paragraphs': '1', 'number_of_words': '2', 'revision_number': '3', 'scale_crop': 'false', 'template': 'Normal.dotm', 'total_time': '1385' } self.CheckEventValues(storage_writer, events[1], expected_event_values) expected_message = ('Creating App: Microsoft Office Word ' 'App version: 14.0000 ' 'Last saved by: Nides ' 'Author: Nides ' 'Revision number: 3 ' 'Template: Normal.dotm ' 'Number of pages: 1 ' 'Number of words: 2 ' 'Number of characters: 13 ' 'Number of characters with spaces: 14 ' 'Number of lines: 1 ' 'Hyperlinks changed: false ' 'Links up to date: false ' 'Scale crop: false') expected_short_message = ('Author: Nides') event_data = self._GetEventDataOfEvent(storage_writer, events[1]) self._TestGetMessageStrings(event_data, expected_message, expected_short_message)
def testParseRelationshipsXMLFile(self): """Tests the _ParseRelationshipsXMLFile function.""" plugin = oxml.OpenXMLPlugin() expected_property_files = ['docProps/core.xml', 'docProps/app.xml'] property_files = plugin._ParseRelationshipsXMLFile( self._RELATIONSHIPS_XML_DATA) self.assertEqual(property_files, expected_property_files)
def testParseFileObject(self): """Tests the ParseFileObject function.""" plugin = oxml.OpenXMLPlugin() storage_writer = self._ParseZIPFileWithPlugin(['Document.docx'], plugin) number_of_events = storage_writer.GetNumberOfAttributeContainers( 'event') self.assertEqual(number_of_events, 2) number_of_warnings = storage_writer.GetNumberOfAttributeContainers( 'extraction_warning') self.assertEqual(number_of_warnings, 0) number_of_warnings = storage_writer.GetNumberOfAttributeContainers( 'recovery_warning') self.assertEqual(number_of_warnings, 0) events = list(storage_writer.GetEvents()) expected_event_values = { 'data_type': 'metadata:openxml', 'date_time': '2012-11-07 23:29:00', 'timestamp_desc': definitions.TIME_DESCRIPTION_CREATION } self.CheckEventValues(storage_writer, events[0], expected_event_values) expected_event_values = { 'app_version': '14.0000', 'author': 'Nides', 'creating_app': 'Microsoft Office Word', 'data_type': 'metadata:openxml', 'date_time': '2013-08-25 22:18:00', 'doc_security': '0', 'hyperlinks_changed': 'false', 'i4': '1', 'last_saved_by': 'Nides', 'links_up_to_date': 'false', 'number_of_characters': '13', 'number_of_characters_with_spaces': '14', 'number_of_lines': '1', 'number_of_pages': '1', 'number_of_paragraphs': '1', 'number_of_words': '2', 'revision_number': '3', 'scale_crop': 'false', 'template': 'Normal.dotm', 'total_time': '1385' } self.CheckEventValues(storage_writer, events[1], expected_event_values)
def testParsePropertiesXMLFile(self): """Tests the _ParsePropertiesXMLFile function.""" plugin = oxml.OpenXMLPlugin() expected_properties = { 'author': 'Nides', 'created': '2012-11-07T23:29:00.1234567Z', 'last_saved_by': 'Nides', 'modified': '2013-08-25T22:18:00Z', 'revision_number': '3'} properties = plugin._ParsePropertiesXMLFile(self._PROPERTIES_XML_DATA) self.assertEqual(properties, expected_properties)