Ejemplo n.º 1
0
 def run(self, path, database_uri):
     setupLogging(self.outf)
     store = setupStore(database_uri, 'logs')
     schema = logs.createSchema()
     logging.info('Creating schema')
     patchDatabase(store, schema)
     logging.info('Loading log file %s', path)
     loadLogs(path, store)
     logging.info('Finished loading log file %s', path)
Ejemplo n.º 2
0
 def run(self, path, database_uri):
     setupLogging(self.outf)
     store = setupStore(database_uri, 'logs')
     schema = logs.createSchema()
     logging.info('Creating schema')
     patchDatabase(store, schema)
     logging.info('Loading log file %s', path)
     loadLogs(path, store)
     logging.info('Finished loading log file %s', path)
Ejemplo n.º 3
0
 def testLoadWithError(self):
     """
     L{loadLogs} stores L{ErrorLine}s instances loaded from the log file in
     the database.
     """
     path = sibpath(__file__, 'error-line.log')
     loadLogs(path, self.store)
     error = self.store.find(ErrorLine).one()
     self.assertEqual(datetime(2011, 6, 14, 10, 33, 33, 312), error.time)
     self.assertEqual("Unknown path u'fluidinfo/chrome-ext.xml'.",
                      error.message)
     self.assertIdentical(None, error.exceptionClass)
     self.assertIdentical(None, error.traceback)
Ejemplo n.º 4
0
 def testLoadWithError(self):
     """
     L{loadLogs} stores L{ErrorLine}s instances loaded from the log file in
     the database.
     """
     path = sibpath(__file__, 'error-line.log')
     loadLogs(path, self.store)
     error = self.store.find(ErrorLine).one()
     self.assertEqual(datetime(2011, 6, 14, 10, 33, 33, 312), error.time)
     self.assertEqual("Unknown path u'fluidinfo/chrome-ext.xml'.",
                      error.message)
     self.assertIdentical(None, error.exceptionClass)
     self.assertIdentical(None, error.traceback)
Ejemplo n.º 5
0
 def testLoadWithStatus(self):
     """
     L{loadLogs} stores L{StatusLine} instances loaded from the log file in
     the database.
     """
     path = sibpath(__file__, 'status-line.log')
     loadLogs(path, self.store)
     status = self.store.find(StatusLine).one()
     self.assertEqual(datetime(2011, 6, 14, 6, 36, 47, 68), status.time)
     self.assertEqual(201, status.code)
     self.assertEqual('POST', status.method)
     self.assertEqual('/objects', status.endpoint)
     self.assertEqual('fom/0.9.2', status.agent)
     self.assertEqual(131, status.contentLength)
Ejemplo n.º 6
0
 def testLoadWithStatus(self):
     """
     L{loadLogs} stores L{StatusLine} instances loaded from the log file in
     the database.
     """
     path = sibpath(__file__, 'status-line.log')
     loadLogs(path, self.store)
     status = self.store.find(StatusLine).one()
     self.assertEqual(datetime(2011, 6, 14, 6, 36, 47, 68), status.time)
     self.assertEqual(201, status.code)
     self.assertEqual('POST', status.method)
     self.assertEqual('/objects', status.endpoint)
     self.assertEqual('fom/0.9.2', status.agent)
     self.assertEqual(131, status.contentLength)
Ejemplo n.º 7
0
 def testLoadWithTraceback(self):
     """
     L{loadLogs} stores the tracebacks loaded with errors in the database.
     """
     path = sibpath(__file__, 'error-traceback.log')
     loadLogs(path, self.store)
     error = self.store.find(ErrorLine).one()
     self.assertEqual(datetime(2011, 6, 14, 10, 33, 33, 312), error.time)
     self.assertEqual("Unknown path u'fluidinfo/chrome-ext.xml'.",
                      error.message)
     self.assertEqual('UnknownPathError', error.exceptionClass)
     with open(path, 'r') as stream:
         traceback = stream.read()
         traceback = '\n'.join(traceback.split('\n')[1:])
     self.assertEqual(traceback.strip(), error.traceback.strip())
Ejemplo n.º 8
0
 def testLoadWithTraceback(self):
     """
     L{loadLogs} stores the tracebacks loaded with errors in the database.
     """
     path = sibpath(__file__, 'error-traceback.log')
     loadLogs(path, self.store)
     error = self.store.find(ErrorLine).one()
     self.assertEqual(datetime(2011, 6, 14, 10, 33, 33, 312), error.time)
     self.assertEqual("Unknown path u'fluidinfo/chrome-ext.xml'.",
                      error.message)
     self.assertEqual('UnknownPathError', error.exceptionClass)
     with open(path, 'r') as stream:
         traceback = stream.read()
         traceback = '\n'.join(traceback.split('\n')[1:])
     self.assertEqual(traceback.strip(), error.traceback.strip())
Ejemplo n.º 9
0
    def testLoadWithMixedLines(self):
        """L{loadLogs} correctly parses and skips lines in a log."""
        path = sibpath(__file__, 'mixed-lines.log')
        loadLogs(path, self.store)
        error = self.store.find(ErrorLine).one()
        self.assertEqual(datetime(2011, 6, 14, 10, 33, 33, 312), error.time)
        self.assertEqual("Unknown path u'fluidinfo/chrome-ext.xml'.",
                         error.message)
        with open(path, 'r') as stream:
            traceback = stream.read()
            traceback = '\n'.join(traceback.split('\n')[2:-3])
        self.assertEqual(traceback.strip(), error.traceback.strip())

        status = self.store.find(StatusLine).one()
        self.assertEqual(datetime(2011, 6, 14, 11, 36, 47, 68), status.time)
        self.assertEqual(201, status.code)
        self.assertEqual('POST', status.method)
        self.assertEqual('/objects', status.endpoint)
        self.assertEqual('fom/0.9.2', status.agent)
        self.assertEqual(131, status.contentLength)
Ejemplo n.º 10
0
    def testLoadWithMixedLines(self):
        """L{loadLogs} correctly parses and skips lines in a log."""
        path = sibpath(__file__, 'mixed-lines.log')
        loadLogs(path, self.store)
        error = self.store.find(ErrorLine).one()
        self.assertEqual(datetime(2011, 6, 14, 10, 33, 33, 312), error.time)
        self.assertEqual("Unknown path u'fluidinfo/chrome-ext.xml'.",
                         error.message)
        with open(path, 'r') as stream:
            traceback = stream.read()
            traceback = '\n'.join(traceback.split('\n')[2:-3])
        self.assertEqual(traceback.strip(), error.traceback.strip())

        status = self.store.find(StatusLine).one()
        self.assertEqual(datetime(2011, 6, 14, 11, 36, 47, 68), status.time)
        self.assertEqual(201, status.code)
        self.assertEqual('POST', status.method)
        self.assertEqual('/objects', status.endpoint)
        self.assertEqual('fom/0.9.2', status.agent)
        self.assertEqual(131, status.contentLength)
Ejemplo n.º 11
0
 def testLoadWithUnexpectedContent(self):
     """L{loadLogs} skips lines in the log that can't be parsed."""
     path = sibpath(__file__, 'unknown-line.log')
     loadLogs(path, self.store)
     self.assertTrue(self.store.find(ErrorLine).is_empty())
     self.assertTrue(self.store.find(StatusLine).is_empty())
Ejemplo n.º 12
0
 def testLoadWithEmptyFile(self):
     """Calling L{loadLogs} with an empty file is essentially a no-op."""
     path = self.fs.makePath('')
     loadLogs(path, self.store)
     self.assertTrue(self.store.find(ErrorLine).is_empty())
     self.assertTrue(self.store.find(StatusLine).is_empty())
Ejemplo n.º 13
0
 def testLoadWithUnexpectedContent(self):
     """L{loadLogs} skips lines in the log that can't be parsed."""
     path = sibpath(__file__, 'unknown-line.log')
     loadLogs(path, self.store)
     self.assertTrue(self.store.find(ErrorLine).is_empty())
     self.assertTrue(self.store.find(StatusLine).is_empty())
Ejemplo n.º 14
0
 def testLoadWithEmptyFile(self):
     """Calling L{loadLogs} with an empty file is essentially a no-op."""
     path = self.fs.makePath('')
     loadLogs(path, self.store)
     self.assertTrue(self.store.find(ErrorLine).is_empty())
     self.assertTrue(self.store.find(StatusLine).is_empty())