def testRejectLog(self):
     stream = StringIO()
     writer = ApacheLogWriter(
         stream,
         rejectLog=lambda collectedLog: getScoped(
             collectedLog, scopeNames=(), key='httpRequest').get(
                 'RequestURI') == ['/abc'])
     collectedLog = {
         'httpRequest': {
             'Headers': [{}],
             'Client': [('10.11.12.13', 12345)],
             'timestamp': [1468845136.824253],
             'Method': ['GET'],
             'RequestURI': ['/abc'],
         },
         'httpResponse': {
             'httpStatus': ['200'],
         }
     }
     writer.writeLog(collectedLog)
     self.assertEquals('', stream.getvalue())
     collectedLog['httpRequest']['RequestURI'] = ['/abcd']
     writer.writeLog(collectedLog)
     self.assertEquals(
         '10.11.12.13 - - [18/Jul/2016:12:32:16 +0000] "GET /abcd HTTP/1.0" 200 - "-" "-"\n',
         stream.getvalue())
Beispiel #2
0
 def fillReport(self, groups, collectedLog):
     httpRequest = getScoped(collectedLog,
                             scopeNames=self._scopeNames,
                             key='httpRequest')
     bodySize = getFirst(httpRequest, 'bodySize')
     if bodySize:
         self.subgroupReport(groups, 'Upload size')['size'] = {
             MEMORY: bodySize
         }
 def testGetScopeForHttpRequestExample(self):
     collectedLog = {
         'global': {
             'httpRequest': {
                 'path': ['/path']
             },
             'subscope': {
                 'sru': {
                     'numberOfRecords': [0]
                 }
             }
         }
     }
     self.assertEquals({'path': ['/path']}, getScoped(collectedLog, scopeNames=('global', 'subscope'), key='httpRequest'))
Beispiel #4
0
 def testGetScoped(self):
     collectedLog = {
         'scope level 1': {
             'scope level 2': {
                 'key': ['value']
             },
             'otherkey': ['other value'],
         },
     }
     self.assertEqual(['value'],
                      getScoped(collectedLog,
                                scopeNames=('scope level 1',
                                            'scope level 2'),
                                key='key'))
     self.assertEqual(['value'],
                      getScoped(collectedLog,
                                scopeNames=('scope level 1',
                                            'scope level 2',
                                            'scope level 3'),
                                key='key'))
     self.assertEqual({},
                      getScoped(collectedLog,
                                scopeNames=('scope level 1',
                                            'scope level not here',
                                            'scope level 2'),
                                key='key'))
     self.assertEqual(
         None,
         getScoped(collectedLog,
                   scopeNames=('scope level 1', 'scope level not here',
                               'scope level 2'),
                   key='key',
                   default=None))
     self.assertEqual({'key': ['value']},
                      getScoped(collectedLog,
                                scopeNames=('scope level 1', ),
                                key='scope level 2'))
     self.assertEqual(
         {
             'scope level 2': {
                 'key': ['value']
             },
             'otherkey': ['other value'],
         }, getScoped(collectedLog, scopeNames=(), key='scope level 1'))
     self.assertEqual(
         'strange',
         getScoped(collectedLog,
                   scopeNames=('scope level 1', ),
                   key=None,
                   default='strange'))
 def testRejectLog(self):
     stream = StringIO()
     writer = ApacheLogWriter(stream, rejectLog=lambda collectedLog: getScoped(collectedLog, scopeNames=(), key='httpRequest').get('RequestURI') == ['/abc'])
     collectedLog={
         'httpRequest': {
             'Headers': [{}],
             'Client': [('10.11.12.13', 12345)],
             'timestamp': [1468845136.824253],
             'Method': ['GET'],
             'RequestURI': ['/abc'],
         },
         'httpResponse': {
             'httpStatus': ['200'],
         }
     }
     writer.writeLog(collectedLog)
     self.assertEquals('', stream.getvalue())
     collectedLog['httpRequest']['RequestURI'] = ['/abcd']
     writer.writeLog(collectedLog)
     self.assertEquals('10.11.12.13 - - [18/Jul/2016:12:32:16 +0000] "GET /abcd HTTP/1.0" 200 - "-" "-"\n', stream.getvalue())
 def testGetScoped(self):
     collectedLog = {
         'scope level 1': {
             'scope level 2': {
                 'key': ['value']
             },
             'otherkey': ['other value'],
         },
     }
     self.assertEquals(['value'], getScoped(collectedLog, scopeNames=('scope level 1', 'scope level 2'), key='key'))
     self.assertEquals(['value'], getScoped(collectedLog, scopeNames=('scope level 1', 'scope level 2', 'scope level 3'), key='key'))
     self.assertEquals({}, getScoped(collectedLog, scopeNames=('scope level 1', 'scope level not here', 'scope level 2'), key='key'))
     self.assertEquals(None, getScoped(collectedLog, scopeNames=('scope level 1', 'scope level not here', 'scope level 2'), key='key', default=None))
     self.assertEquals({'key': ['value']}, getScoped(collectedLog, scopeNames=('scope level 1',), key='scope level 2'))
     self.assertEquals({
             'scope level 2': {
                 'key': ['value']
             },
             'otherkey': ['other value'],
         }, getScoped(collectedLog, scopeNames=(), key='scope level 1'))
     self.assertEquals('strange', getScoped(collectedLog, scopeNames=('scope level 1',), key=None, default='strange'))
Beispiel #7
0
 def _getScoped(self, collectedLog, *args, **kwargs):
     return getScoped(collectedLog, scopeNames=self._scopeNames, *args, **kwargs)