Tres Seaver
2015-06-09 2c3d653e0982eca137e58fe9ba0138469d862bf7
Merge pull request #1836 from Pylons/fix-1832-master

Return concrete classes from 'pyramid.httpexceptions.exception_response'
2 files modified
29 ■■■■■ changed files
pyramid/httpexceptions.py 16 ●●●● patch | view | raw | blame | history
pyramid/tests/test_httpexceptions.py 13 ●●●● patch | view | raw | blame | history
pyramid/httpexceptions.py
@@ -562,10 +562,7 @@
    a bug.  A server-side traceback is not warranted.  Unless specialized,
    this is a '400 Bad Request'
    """
    code = 400
    title = 'Bad Request'
    explanation = ('The server could not comply with the request since '
                   'it is either malformed or otherwise incorrect.')
    pass
class HTTPBadRequest(HTTPClientError):
    """
@@ -576,7 +573,10 @@
    code: 400, title: Bad Request
    """
    pass
    code = 400
    title = 'Bad Request'
    explanation = ('The server could not comply with the request since '
                   'it is either malformed or otherwise incorrect.')
class HTTPUnauthorized(HTTPClientError):
    """
@@ -988,14 +988,14 @@
    This is an error condition in which the server is presumed to be
    in-error.  Unless specialized, this is a '500 Internal Server Error'.
    """
    pass
class HTTPInternalServerError(HTTPServerError):
    code = 500
    title = 'Internal Server Error'
    explanation = (
      'The server has either erred or is incapable of performing '
      'the requested operation.')
class HTTPInternalServerError(HTTPServerError):
    pass
class HTTPNotImplemented(HTTPServerError):
    """
pyramid/tests/test_httpexceptions.py
@@ -10,13 +10,22 @@
        from pyramid.httpexceptions import exception_response
        return exception_response(*arg, **kw)
    def test_status_400(self):
        from pyramid.httpexceptions import HTTPBadRequest
        self.assertTrue(isinstance(self._callFUT(400), HTTPBadRequest))
    def test_status_404(self):
        from pyramid.httpexceptions import HTTPNotFound
        self.assertEqual(self._callFUT(404).__class__, HTTPNotFound)
        self.assertTrue(isinstance(self._callFUT(404), HTTPNotFound))
    def test_status_500(self):
        from pyramid.httpexceptions import HTTPInternalServerError
        self.assertTrue(isinstance(self._callFUT(500),
                        HTTPInternalServerError))
    def test_status_201(self):
        from pyramid.httpexceptions import HTTPCreated
        self.assertEqual(self._callFUT(201).__class__, HTTPCreated)
        self.assertTrue(isinstance(self._callFUT(201), HTTPCreated))
    def test_extra_kw(self):
        resp = self._callFUT(404,  headers=[('abc', 'def')])