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')
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)
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')
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)
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')
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, '--:--:--')
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