示例#1
0
    def testFormatDate(self):
        """Tests the _FormatDate function."""
        output_mediator = self._CreateOutputMediator()
        formatting_helper = dynamic.DynamicFieldFormattingHelper(
            output_mediator)

        event, event_data, event_data_stream = (
            containers_test_lib.CreateEventFromValues(self._TEST_EVENTS[0]))

        # Test with event.date_time
        date_string = formatting_helper._FormatDate(event, event_data,
                                                    event_data_stream)
        self.assertEqual(date_string, '2012-06-27')

        # Test with event.timestamp
        event.date_time = None
        date_string = formatting_helper._FormatDate(event, event_data,
                                                    event_data_stream)
        self.assertEqual(date_string, '2012-06-27')

        event.timestamp = 0
        date_string = formatting_helper._FormatDate(event, event_data,
                                                    event_data_stream)
        self.assertEqual(date_string, '0000-00-00')

        event.timestamp = -9223372036854775808
        date_string = formatting_helper._FormatDate(event, event_data,
                                                    event_data_stream)
        self.assertEqual(date_string, '0000-00-00')
示例#2
0
  def _TestGetMessageStrings(
      self, event_data, expected_message, expected_short_message):
    """Tests the formatting of the message strings.

    This function invokes the GetMessageStrings function of the event data
    formatter on the event data and compares the resulting messages strings
    with those expected.

    Args:
      event_data (EventData): event data.
      expected_message (str): expected message string.
      expected_short_message (str): expected short message string.
    """
    knowledge_base_object = knowledge_base.KnowledgeBase()
    output_mediator_object = output_mediator.OutputMediator(
        knowledge_base_object, data_location=shared_test_lib.TEST_DATA_PATH)

    formatters_directory_path = self._GetDataFilePath(['formatters'])
    output_mediator_object.ReadMessageFormattersFromDirectory(
        formatters_directory_path)

    fields_formatting_helper = dynamic.DynamicFieldFormattingHelper(
        output_mediator_object)

    message = fields_formatting_helper.GetFormattedField(
        'message', None, event_data, None, None)
    self.assertEqual(message, expected_message)

    message_short = fields_formatting_helper.GetFormattedField(
        'message_short', None, event_data, None, None)
    self.assertEqual(message_short, expected_short_message)
示例#3
0
    def testFormatDate(self):
        """Tests the _FormatDate function."""
        output_mediator = self._CreateOutputMediator()
        formatting_helper = dynamic.DynamicFieldFormattingHelper(
            output_mediator)

        # Test with event.date_time
        event, event_data, event_data_stream = (
            containers_test_lib.CreateEventFromValues(self._TEST_EVENTS[0]))

        date_string = formatting_helper._FormatDate(event, event_data,
                                                    event_data_stream)
        self.assertEqual(date_string, '2012-06-27')

        output_mediator.SetTimeZone('Australia/Sydney')

        date_string = formatting_helper._FormatDate(event, event_data,
                                                    event_data_stream)
        self.assertEqual(date_string, '2012-06-28')

        output_mediator.SetTimeZone('UTC')

        event, event_data, event_data_stream = (
            containers_test_lib.CreateEventFromValues(self._TEST_EVENTS[1]))
        event.date_time._time_zone_offset = 600

        date_string = formatting_helper._FormatDate(event, event_data,
                                                    event_data_stream)
        self.assertEqual(date_string, '2012-06-27')

        # Test with event.is_local_time
        event, event_data, event_data_stream = (
            containers_test_lib.CreateEventFromValues(self._TEST_EVENTS[0]))
        event.timestamp += 600 * 60 * 1000000
        event.date_time.is_local_time = True

        date_string = formatting_helper._FormatDate(event, event_data,
                                                    event_data_stream)
        self.assertEqual(date_string, '2012-06-28')

        # Test with event.timestamp
        event, event_data, event_data_stream = (
            containers_test_lib.CreateEventFromValues(self._TEST_EVENTS[0]))
        event.date_time = None

        date_string = formatting_helper._FormatDate(event, event_data,
                                                    event_data_stream)
        self.assertEqual(date_string, '2012-06-27')

        event.timestamp = 0
        date_string = formatting_helper._FormatDate(event, event_data,
                                                    event_data_stream)
        self.assertEqual(date_string, '0000-00-00')

        event.timestamp = -9223372036854775808
        date_string = formatting_helper._FormatDate(event, event_data,
                                                    event_data_stream)
        self.assertEqual(date_string, '0000-00-00')
示例#4
0
文件: rawpy.py 项目: dfjxs/plaso
  def __init__(self, output_mediator):
    """Initializes a JSON output module event formatting helper.

    Args:
      output_mediator (OutputMediator): output mediator.
    """
    super(NativePythonEventFormattingHelper, self).__init__(output_mediator)
    self._field_formatting_helper = dynamic.DynamicFieldFormattingHelper(
        output_mediator)
示例#5
0
    def testFormatTimestampDescription(self):
        """Tests the _FormatTimestampDescription function."""
        output_mediator = self._CreateOutputMediator()
        formatting_helper = dynamic.DynamicFieldFormattingHelper(
            output_mediator)

        event, event_data, event_data_stream = (
            containers_test_lib.CreateEventFromValues(self._TEST_EVENTS[0]))
        timestamp_description_string = (
            formatting_helper._FormatTimestampDescription(
                event, event_data, event_data_stream))
        self.assertEqual(timestamp_description_string,
                         'Metadata Modification Time')
示例#6
0
    def testFormatTime(self):
        """Tests the _FormatTime function."""
        output_mediator = self._CreateOutputMediator()
        formatting_helper = dynamic.DynamicFieldFormattingHelper(
            output_mediator)

        event, event_data, event_data_stream = (
            containers_test_lib.CreateEventFromValues(self._TEST_EVENTS[0]))
        time_string = formatting_helper._FormatTime(event, event_data,
                                                    event_data_stream)
        self.assertEqual(time_string, '18:17:01')

        event.timestamp = -9223372036854775808
        time_string = formatting_helper._FormatTime(event, event_data,
                                                    event_data_stream)
        self.assertEqual(time_string, '--:--:--')
示例#7
0
    def __init__(self, output_mediator):
        """Initializes an Excel Spreadsheet (XLSX) output module.

    Args:
      output_mediator (OutputMediator): mediates interactions between output
          modules and other components, such as storage and dfvfs.
    """
        super(XLSXOutputModule, self).__init__(output_mediator)
        self._column_widths = []
        self._current_row = 0
        self._field_formatting_helper = dynamic.DynamicFieldFormattingHelper(
            output_mediator)
        self._fields = self._DEFAULT_FIELDS
        self._sheet = None
        self._timestamp_format = self._DEFAULT_TIMESTAMP_FORMAT
        self._workbook = None