Ejemplo n.º 1
0
 def test__exc_to_http_exc__HTTPException_no_server_error(self, LOGGER):
     exc = HTTPNotFound()
     http_exc = ConfigHelper.exc_to_http_exc(exc)
     self.assertIs(http_exc, exc)
     self.assertEqual(http_exc.code, 404)
     self.assertEqual(LOGGER.mock_calls, [
         call.debug(ANY, exc, ANY, 404),
     ])
Ejemplo n.º 2
0
 def test__exc_to_http_exc__HTTPException_no_server_error(self, LOGGER):
     exc = HTTPNotFound()
     http_exc = ConfigHelper.exc_to_http_exc(exc)
     self.assertIs(http_exc, exc)
     self.assertEqual(http_exc.code, 404)
     self.assertEqual(LOGGER.mock_calls, [
         call.debug(ANY, exc, ANY, 404),
     ])
Ejemplo n.º 3
0
 def test__exc_to_http_exc__HTTPException_server_error(self, LOGGER):
     exc = HTTPServerError()
     http_exc = ConfigHelper.exc_to_http_exc(exc)
     self.assertIs(http_exc, exc)
     self.assertEqual(http_exc.code, 500)
     self.assertEqual(LOGGER.mock_calls, [
         call.error(ANY, exc, ANY, 500, exc_info=True),
     ])
Ejemplo n.º 4
0
 def test__exc_to_http_exc__HTTPException_server_error(self, LOGGER):
     exc = HTTPServerError()
     http_exc = ConfigHelper.exc_to_http_exc(exc)
     self.assertIs(http_exc, exc)
     self.assertEqual(http_exc.code, 500)
     self.assertEqual(LOGGER.mock_calls, [
         call.error(ANY, exc, ANY, 500, exc_info=True),
     ])
Ejemplo n.º 5
0
 def test__exc_to_http_exc__other_exception(self, LOGGER):
     exc = ZeroDivisionError
     http_exc = ConfigHelper.exc_to_http_exc(exc)
     self.assertIsInstance(http_exc, HTTPServerError)
     self.assertEqual(http_exc.code, 500)
     self.assertIs(http_exc.detail, None)  # no detail
     self.assertEqual(LOGGER.mock_calls, [
         call.error(ANY, exc, exc_info=True),
     ])
Ejemplo n.º 6
0
 def test__exc_to_http_exc__other_DataAPIError_2(self, LOGGER):
     exc = DataAPIError()  # no specific public message
     http_exc = ConfigHelper.exc_to_http_exc(exc)
     self.assertIsInstance(http_exc, HTTPServerError)
     self.assertEqual(http_exc.code, 500)
     self.assertIs(http_exc.detail, None)  # *no* detail
     self.assertEqual(LOGGER.mock_calls, [
         call.error(ANY, exc, ANY, exc_info=True),
     ])
Ejemplo n.º 7
0
 def test__exc_to_http_exc__other_DataAPIError(self, LOGGER):
     exc = DataAPIError(public_message='FOO')  # custom public message
     http_exc = ConfigHelper.exc_to_http_exc(exc)
     self.assertIsInstance(http_exc, HTTPServerError)
     self.assertEqual(http_exc.code, 500)
     self.assertEqual(http_exc.detail, 'FOO')  # detail == custom public message
     self.assertEqual(LOGGER.mock_calls, [
         call.error(ANY, exc, ANY, exc_info=True),
     ])
Ejemplo n.º 8
0
 def test__exc_to_http_exc__ParamCleaningError(self, LOGGER):
     exc = ParamCleaningError(public_message='FOO')  # custom public message
     http_exc = ConfigHelper.exc_to_http_exc(exc)
     self.assertIsInstance(http_exc, HTTPBadRequest)
     self.assertEqual(http_exc.code, 400)
     self.assertEqual(http_exc.detail, 'FOO')  # detail == custom public message
     self.assertEqual(LOGGER.mock_calls, [
         call.debug(ANY, exc, ANY),
     ])
Ejemplo n.º 9
0
 def test__exc_to_http_exc__TooMuchDataError(self, LOGGER):
     exc = TooMuchDataError(public_message='FOO')  # custom public message
     http_exc = ConfigHelper.exc_to_http_exc(exc)
     self.assertIsInstance(http_exc, HTTPForbidden)
     self.assertEqual(http_exc.code, 403)
     self.assertEqual(http_exc.detail, 'FOO')  # detail == custom public message
     self.assertEqual(LOGGER.mock_calls, [
         call.debug(ANY, exc, ANY),
     ])
Ejemplo n.º 10
0
 def test__exc_to_http_exc__other_DataAPIError_2(self, LOGGER):
     exc = DataAPIError()  # no specific public message
     http_exc = ConfigHelper.exc_to_http_exc(exc)
     self.assertIsInstance(http_exc, HTTPServerError)
     self.assertEqual(http_exc.code, 500)
     self.assertIs(http_exc.detail, None)  # *no* detail
     self.assertEqual(LOGGER.mock_calls, [
         call.error(ANY, exc, ANY, exc_info=True),
     ])
Ejemplo n.º 11
0
 def test__exc_to_http_exc__other_exception(self, LOGGER):
     exc = ZeroDivisionError
     http_exc = ConfigHelper.exc_to_http_exc(exc)
     self.assertIsInstance(http_exc, HTTPServerError)
     self.assertEqual(http_exc.code, 500)
     self.assertIs(http_exc.detail, None)  # no detail
     self.assertEqual(LOGGER.mock_calls, [
         call.error(ANY, exc, exc_info=True),
     ])
Ejemplo n.º 12
0
 def test__exc_to_http_exc__ParamCleaningError_2(self, LOGGER):
     exc = ParamCleaningError()  # no specific public message
     http_exc = ConfigHelper.exc_to_http_exc(exc)
     self.assertIsInstance(http_exc, HTTPBadRequest)
     self.assertEqual(http_exc.code, 400)
     self.assertEqual(http_exc.detail,  # detail == default public message
                      ParamCleaningError.default_public_message)
     self.assertEqual(LOGGER.mock_calls, [
         call.debug(ANY, exc, ANY),
     ])
Ejemplo n.º 13
0
 def test__exc_to_http_exc__TooMuchDataError_2(self, LOGGER):
     exc = TooMuchDataError()  # no specific public message
     http_exc = ConfigHelper.exc_to_http_exc(exc)
     self.assertIsInstance(http_exc, HTTPForbidden)
     self.assertEqual(http_exc.code, 403)
     self.assertEqual(http_exc.detail,  # detail == default public message
                      TooMuchDataError.default_public_message)
     self.assertEqual(LOGGER.mock_calls, [
         call.debug(ANY, exc, ANY),
     ])
Ejemplo n.º 14
0
 def test__exc_to_http_exc__other_DataAPIError(self, LOGGER):
     exc = DataAPIError(public_message='FOO')  # custom public message
     http_exc = ConfigHelper.exc_to_http_exc(exc)
     self.assertIsInstance(http_exc, HTTPServerError)
     self.assertEqual(http_exc.code, 500)
     self.assertEqual(http_exc.detail,
                      'FOO')  # detail == custom public message
     self.assertEqual(LOGGER.mock_calls, [
         call.error(ANY, exc, ANY, exc_info=True),
     ])
Ejemplo n.º 15
0
 def test__exc_to_http_exc__ParamCleaningError(self, LOGGER):
     exc = ParamCleaningError(public_message='FOO')  # custom public message
     http_exc = ConfigHelper.exc_to_http_exc(exc)
     self.assertIsInstance(http_exc, HTTPBadRequest)
     self.assertEqual(http_exc.code, 400)
     self.assertEqual(http_exc.detail,
                      'FOO')  # detail == custom public message
     self.assertEqual(LOGGER.mock_calls, [
         call.debug(ANY, exc, ANY),
     ])
Ejemplo n.º 16
0
 def test__exc_to_http_exc__TooMuchDataError(self, LOGGER):
     exc = TooMuchDataError(public_message='FOO')  # custom public message
     http_exc = ConfigHelper.exc_to_http_exc(exc)
     self.assertIsInstance(http_exc, HTTPForbidden)
     self.assertEqual(http_exc.code, 403)
     self.assertEqual(http_exc.detail,
                      'FOO')  # detail == custom public message
     self.assertEqual(LOGGER.mock_calls, [
         call.debug(ANY, exc, ANY),
     ])
Ejemplo n.º 17
0
 def test__exc_to_http_exc__ParamCleaningError_2(self, LOGGER):
     exc = ParamCleaningError()  # no specific public message
     http_exc = ConfigHelper.exc_to_http_exc(exc)
     self.assertIsInstance(http_exc, HTTPBadRequest)
     self.assertEqual(http_exc.code, 400)
     self.assertEqual(
         http_exc.detail,  # detail == default public message
         ParamCleaningError.default_public_message)
     self.assertEqual(LOGGER.mock_calls, [
         call.debug(ANY, exc, ANY),
     ])
Ejemplo n.º 18
0
 def test__exc_to_http_exc__TooMuchDataError_2(self, LOGGER):
     exc = TooMuchDataError()  # no specific public message
     http_exc = ConfigHelper.exc_to_http_exc(exc)
     self.assertIsInstance(http_exc, HTTPForbidden)
     self.assertEqual(http_exc.code, 403)
     self.assertEqual(
         http_exc.detail,  # detail == default public message
         TooMuchDataError.default_public_message)
     self.assertEqual(LOGGER.mock_calls, [
         call.debug(ANY, exc, ANY),
     ])