Exemple #1
0
    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])
Exemple #2
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])
Exemple #3
0
    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)
Exemple #4
0
    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])