def test_get_log_format_unknown_method(self, mock_logger): get_response = mock.Mock() olm = middleware.OperationLogMiddleware(get_response) request, _ = self._test_ready_for_get() request.method = "FAKE" self.assertIsNone(olm._get_log_format(request))
def test_get_log_format_no_user(self, mock_logger): get_response = mock.Mock() olm = middleware.OperationLogMiddleware(get_response) request, _ = self._test_ready_for_get() delattr(request, "user") self.assertIsNone(olm._get_log_format(request))
def test_get_log_format(self, mock_logger): get_response = mock.Mock() olm = middleware.OperationLogMiddleware(get_response) request, _ = self._test_ready_for_get() self.assertEqual(defaults.OPERATION_LOG_OPTIONS['format'], olm._get_log_format(request))
def test_process_response_for_get_no_target(self, mock_logger): """In default setting, Get method is not logged""" olm = middleware.OperationLogMiddleware() request, response = self._test_ready_for_get() resp = olm.process_response(request, response) self.assertEqual(0, mock_logger.info.call_count) self.assertEqual(302, resp.status_code)
def test_process_response_for_get_no_target(self, mock_logger): """In default setting, Get method is not logged""" request, response = self._test_ready_for_get() get_response = mock.Mock(return_value=response) olm = middleware.OperationLogMiddleware(get_response) resp = olm(request) get_response.assert_called_once_with(request) self.assertEqual(0, mock_logger.info.call_count) self.assertEqual(302, resp.status_code)
def test_process_response_for_get(self, mock_logger): olm = middleware.OperationLogMiddleware() request, response = self._test_ready_for_get() resp = olm.process_response(request, response) self.assertTrue(mock_logger.info.called) self.assertEqual(302, resp.status_code) log_args = mock_logger.info.call_args[0] logging_str = log_args[0] % log_args[1] self.assertIn(request.user.username, logging_str) self.assertIn(self.http_referer, logging_str) self.assertIn(request.path, logging_str) self.assertIn('GET', logging_str) self.assertIn('302', logging_str)
def test_process_exception(self, mock_logger): olm = middleware.OperationLogMiddleware() request, response = self._test_ready_for_post() exception = Exception("Unexpected error occurred.") olm.process_exception(request, exception) log_args = mock_logger.info.call_args[0] logging_str = log_args[0] % log_args[1] self.assertTrue(mock_logger.info.called) self.assertIn(request.user.username, logging_str) self.assertIn(self.http_referer, logging_str) self.assertIn(settings.LOGIN_URL, logging_str) self.assertIn('Unexpected error occurred.', logging_str) post_data = ['"username": "******"', '"password": "******"'] for data in post_data: self.assertIn(data, logging_str)
def test_process_response_for_get(self, mock_logger): request, response = self._test_ready_for_get() get_response = mock.Mock(return_value=response) olm = middleware.OperationLogMiddleware(get_response) resp = olm(request) get_response.assert_called_once_with(request) self.assertTrue(mock_logger.info.called) self.assertEqual(302, resp.status_code) log_args = mock_logger.info.call_args[0] logging_str = log_args[0] % log_args[1] self.assertIn(request.user.username, logging_str) self.assertIn(self.http_referer, logging_str) self.assertIn(request.path, logging_str) self.assertIn('GET', logging_str) self.assertIn('302', logging_str)
def test_process_response_for_post(self, mock_logger): olm = middleware.OperationLogMiddleware() request, response = self._test_ready_for_post() resp = olm.process_response(request, response) self.assertTrue(mock_logger.info.called) self.assertEqual(302, resp.status_code) log_args = mock_logger.info.call_args[0] logging_str = log_args[0] % log_args[1] self.assertIn(request.user.username, logging_str) self.assertIn(self.http_referer, logging_str) self.assertIn(settings.LOGIN_URL, logging_str) self.assertIn('POST', logging_str) self.assertIn('302', logging_str) post_data = ['"username": "******"', '"password": "******"'] for data in post_data: self.assertIn(data, logging_str)
def test_middleware_not_used(self): with self.assertRaises(MiddlewareNotUsed): middleware.OperationLogMiddleware()
def test_get_log_format_ignored_url(self, mock_logger): olm = middleware.OperationLogMiddleware() request, _ = self._test_ready_for_get("/api/policy") self.assertIsNone(olm._get_log_format(request))
def test_get_log_format(self, mock_logger): olm = middleware.OperationLogMiddleware() request, _ = self._test_ready_for_get() self.assertEqual(olm._default_format, olm._get_log_format(request))
def test_middleware_not_used(self): get_response = mock.Mock() with self.assertRaises(MiddlewareNotUsed): middleware.OperationLogMiddleware(get_response) self.assertFalse(get_response.called)