Beispiel #1
0
    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)
Beispiel #2
0
    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)
Beispiel #3
0
  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)
Beispiel #4
0
    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)
Beispiel #5
0
  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)