def testWriteHeader(self): """Tests the WriteHeader function.""" expected_header = [ u'datetime', u'timestamp_desc', u'source', u'source_long', u'message', u'parser', u'display_name', u'tag' ] with shared_test_lib.TempDirectory() as temp_directory: output_mediator = self._CreateOutputMediator() output_module = xlsx.XLSXOutputModule(output_mediator) xlsx_file = os.path.join(temp_directory, u'xlsx.out') output_module.SetFilename(xlsx_file) output_module.Open() output_module.WriteHeader() output_module.WriteFooter() output_module.Close() try: rows = self._GetSheetRows(xlsx_file) except ValueError as exception: self.fail(exception) self.assertEqual(expected_header, rows[0])
def testWriteEventBody(self): """Tests the WriteHeader function.""" formatters_manager.FormattersManager.RegisterFormatter(TestEventFormatter) expected_header = [ 'datetime', 'timestamp_desc', 'source', 'source_long', 'message', 'parser', 'display_name', 'tag'] expected_event_body = [ '41087.76181712963', 'Metadata Modification Time', 'LOG', 'Syslog', 'Reporter <CRON> PID: 8442 (pam_unix(cron:session): session ' 'closed for user root) Invalid character -> \ufffd', '-', '-', '-'] with shared_test_lib.TempDirectory() as temp_directory: output_mediator = self._CreateOutputMediator() output_module = xlsx.XLSXOutputModule(output_mediator) xslx_file = os.path.join(temp_directory, 'xlsx.out') output_module.SetFilename(xslx_file) output_module.Open() output_module.WriteHeader() output_module.WriteEvent(TestEvent()) output_module.WriteFooter() output_module.Close() try: rows = self._GetSheetRows(xslx_file) except ValueError as exception: self.fail(exception) self.assertEqual(expected_header, rows[0]) self.assertEqual(len(expected_event_body), len(rows[1])) self.assertEqual(expected_event_body, rows[1])
def testParseOptions(self): """Tests the ParseOptions function.""" options = cli_test_lib.TestOptions() output_mediator = self._CreateOutputMediator() output_module = xlsx.XLSXOutputModule(output_mediator) with self.assertRaises(errors.BadConfigOption): xlsx_output.XLSXOutputArgumentsHelper.ParseOptions( options, output_module) options.write = 'plaso.xlsx' xlsx_output.XLSXOutputArgumentsHelper.ParseOptions( options, output_module) with self.assertRaises(errors.BadConfigObject): xlsx_output.XLSXOutputArgumentsHelper.ParseOptions(options, None)
def testWriteEventBody(self): """Tests the WriteHeader function.""" output_mediator = self._CreateOutputMediator() formatters_directory_path = self._GetTestFilePath(['formatters']) output_mediator.ReadMessageFormattersFromDirectory( formatters_directory_path) output_module = xlsx.XLSXOutputModule(output_mediator) with shared_test_lib.TempDirectory() as temp_directory: xslx_file = os.path.join(temp_directory, 'xlsx.out') output_module.Open(path=xslx_file) output_module.WriteHeader() event, event_data, event_data_stream = ( containers_test_lib.CreateEventFromValues( self._TEST_EVENTS[0])) output_module.WriteEvent(event, event_data, event_data_stream, None) output_module.WriteFooter() output_module.Close() try: rows = self._GetSheetRows(xslx_file) except ValueError as exception: self.fail(exception) expected_header = [ 'datetime', 'timestamp_desc', 'source', 'source_long', 'message', 'parser', 'display_name', 'tag' ] expected_event_body = [ '41087.76181712963', 'Metadata Modification Time', 'FILE', 'Test log file', 'Reporter <CRON> PID: 8442 (pam_unix(cron:session): session ' 'closed for user root) Invalid character -> \ufffd', '-', '-', '-' ] self.assertEqual(expected_header, rows[0]) self.assertEqual(len(expected_event_body), len(rows[1])) self.assertEqual(expected_event_body, rows[1])