def test_unbound(self): record = logging.LogRecord('request_filter', 1, '/fake/path', 123, 'test message', (), None) apf = RequestFilter() self.assertTrue(apf.filter(record)) self.assertEqual('-', record.remote_addr) self.assertEqual('-', record.username) self.assertEqual('-', record.request_method) self.assertEqual('-', record.path_info) self.assertEqual('-', record.server_protocol) self.assertEqual('-', record.http_user_agent) self.assertEqual('test message', record.msg)
def test_request_filter(self): request = self.factory.get('/') record = logging.LogRecord('request_filter', 1, '/fake/path', 123, 'test message', (), None) request.user = User.objects.create_user(username='******', password='******', email='*****@*****.**') rf = RequestFilter(request) self.assertTrue(rf.filter(record)) self.assertEqual('127.0.0.1', record.remote_addr) self.assertEqual('test', record.username) self.assertEqual('GET', record.request_method) self.assertEqual('/', record.path_info) self.assertEqual('HTTP/1.1', record.server_protocol) self.assertEqual('-', record.http_user_agent) self.assertEqual('test message', record.msg)
def setUp(self, *args, **kwargs): super(LogSetupMiddlewareTest, self).setUp(*args, **kwargs) self.factory = RequestFactory() # LogSetupMiddleware only looks under this module logging_root = __name__ self.middleware = LogSetupMiddleware(root=logging_root) self.filter = RequestFilter(request=None) # Create test logger with a placeholder logger self.logger = logging.getLogger(__name__) self.logger.filters = [] self.logger.addFilter(self.filter) # Stub out original handlers self._original_handlers = logging._handlers self._original_handlerList = logging._handlerList logging._handlers = {} logging._handlerList = [] # Create test handler self.handler = NullHandler() self.handler.filters = [] self.handler.addFilter(self.filter) self.logger.addHandler(self.handler)
def process_request(self, request): """Adds a filter, bound to *request*, to the appropriate loggers.""" request.logging_filter = RequestFilter(request) self.add_filter(request.logging_filter)
def create_filter(self, request): return RequestFilter(request)