Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
 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 = logging.NullHandler()
     self.handler.filters = []
     self.handler.addFilter(self.filter)
     self.logger.addHandler(self.handler)
Ejemplo n.º 3
0
class LogSetupMiddlewareTest(TestCase):
    maxDiff = None

    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 = logging.NullHandler()
        self.handler.filters = []
        self.handler.addFilter(self.filter)
        self.logger.addHandler(self.handler)

    def tearDown(self, *args, **kwargs):
        logging._handlers = self._original_handlers
        logging._handlerList = self._original_handlerList

    def bound_logger(self, request):
        loggers = self.middleware.find_loggers_with_filter(RequestFilter)
        bound_logger, bound_handler = False, False
        for logger, filters in loggers.items():
            if any(f.request == request for f in filters):
                return True
        return False

    def bound_handler(self, request):
        handlers = self.middleware.find_handlers_with_filter(RequestFilter)
        for handler, filters in handlers.items():
            if any(f.request == request for f in filters):
                return True
        return False

    def assertBound(self, request):
        self.assertTrue(self.bound_logger(request))
        self.assertTrue(self.bound_handler(request))

    def assertNotBound(self, request):
        self.assertFalse(self.bound_logger(request))
        self.assertFalse(self.bound_handler(request))

    def test_request(self):
        request = self.factory.get('/')
        self.assertNotBound(request)
        response = self.middleware.process_request(request)
        self.assertBound(request)
        self.middleware.process_response(request, response)

    def test_response(self):
        request = self.factory.get('/')
        self.assertNotBound(request)
        response = self.middleware.process_request(request)
        self.assertBound(request)
        self.middleware.process_response(request, response)
        self.assertNotBound(request)

    def test_exception(self):
        request = self.factory.get('/')
        self.assertNotBound(request)
        self.middleware.process_request(request)
        self.assertBound(request)
        self.middleware.process_exception(request, Exception())
        self.assertNotBound(request)

    def test_process_response_alone(self):
        request = self.factory.get('/')
        self.assertNotBound(request)
        self.middleware.process_response(request, HttpResponse(''))
        self.assertNotBound(request)

    def test_process_exception_alone(self):
        request = self.factory.get('/')
        self.assertNotBound(request)
        self.middleware.process_exception(request, Exception())
        self.assertNotBound(request)

    def test_find_loggers(self):
        # Find a subset of loggers
        self.assertEqual(self.middleware.find_loggers(),
                         {__name__: self.logger})
        # Look for all loggers
        self.middleware.root = ''
        loggers = self.middleware.find_loggers()
        self.assertEqual(loggers[''], logging.getLogger(''))
        self.assertEqual(loggers[__name__], self.logger)

    def test_find_loggers_with_filter(self):
        loggers = self.middleware.find_loggers_with_filter(RequestFilter)
        self.assertEqual(list(loggers.keys()), [self.logger])
        self.assertEqual([type(f) for f in loggers[self.logger]],
                         [RequestFilter],
                         loggers[self.logger])

    def test_find_handlers(self):
        # Find our handler
        self.assertTrue(self.handler in [x() for x in self.middleware.find_handlers()])

    def test_find_handlers_with_filter(self):
        handlers = self.middleware.find_handlers_with_filter(RequestFilter)
        self.assertTrue(self.handler in handlers)
Ejemplo n.º 4
0
class LogSetupMiddlewareTest(TestCase):
    maxDiff = None

    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 tearDown(self, *args, **kwargs):
        logging._handlers = self._original_handlers
        logging._handlerList = self._original_handlerList

    def bound_logger(self, request):
        loggers = self.middleware.find_loggers_with_filter(RequestFilter)
        bound_logger, bound_handler = False, False
        for logger, filters in loggers.items():
            if any(f.request == request for f in filters):
                return True
        return False

    def bound_handler(self, request):
        handlers = self.middleware.find_handlers_with_filter(RequestFilter)
        for handler, filters in handlers.items():
            if any(f.request == request for f in filters):
                return True
        return False

    def assertBound(self, request):
        self.assertTrue(self.bound_logger(request))
        self.assertTrue(self.bound_handler(request))

    def assertNotBound(self, request):
        self.assertFalse(self.bound_logger(request))
        self.assertFalse(self.bound_handler(request))

    def test_request(self):
        request = self.factory.get('/')
        self.assertNotBound(request)
        response = self.middleware.process_request(request)
        self.assertBound(request)
        self.middleware.process_response(request, response)

    def test_response(self):
        request = self.factory.get('/')
        self.assertNotBound(request)
        response = self.middleware.process_request(request)
        self.assertBound(request)
        self.middleware.process_response(request, response)
        self.assertNotBound(request)

    def test_exception(self):
        request = self.factory.get('/')
        self.assertNotBound(request)
        self.middleware.process_request(request)
        self.assertBound(request)
        self.middleware.process_exception(request, Exception())
        self.assertNotBound(request)

    def test_process_response_alone(self):
        request = self.factory.get('/')
        self.assertNotBound(request)
        self.middleware.process_response(request, HttpResponse(''))
        self.assertNotBound(request)

    def test_process_exception_alone(self):
        request = self.factory.get('/')
        self.assertNotBound(request)
        self.middleware.process_exception(request, Exception())
        self.assertNotBound(request)

    def test_find_loggers(self):
        # Find a subset of loggers
        self.assertEqual(self.middleware.find_loggers(),
                         {__name__: self.logger})
        # Look for all loggers
        self.middleware.root = ''
        loggers = self.middleware.find_loggers()
        self.assertEqual(loggers[''], logging.getLogger(''))
        self.assertEqual(loggers[__name__], self.logger)

    def test_find_loggers_with_filter(self):
        loggers = self.middleware.find_loggers_with_filter(RequestFilter)
        self.assertEqual(loggers.keys(), [self.logger])
        self.assertEqual([type(f) for f in loggers[self.logger]],
                         [RequestFilter],
                         loggers[self.logger])

    def test_find_handlers(self):
        # Find our handler
        self.assertTrue(self.handler in self.middleware.find_handlers())

    def test_find_handlers_with_filter(self):
        handlers = self.middleware.find_handlers_with_filter(RequestFilter)
        self.assertTrue(self.handler in handlers)