Commit 0b16f3e4 authored by 's avatar

- added one more Unauthorized test

parent 5f046a9c
......@@ -16,6 +16,7 @@ Create the objects that are raising exceptions.
>>> dummy = app.test_folder_1_._setObject('foo', ExceptionRaiser1())
>>> dummy = app.test_folder_1_._setObject('bar', ExceptionRaiser2())
>>> dummy = app.test_folder_1_._setObject('baz', ExceptionRaiser3())
Handle AttributeError.
......@@ -121,8 +122,8 @@ Handle zExceptions.Redirect.
Redirect: LOCATION
>>> browser.contents
Handle zExceptions.Unauthorized. We take the 'WWW-Authenticate' header as a
sign that HTTPResponse._unauthorized was called.
Handle zExceptions.Unauthorized raised by the object. We take the
'WWW-Authenticate' header as a sign that HTTPResponse._unauthorized was called.
>>> from zExceptions import Unauthorized
>>> app.test_folder_1_.foo.exception = Unauthorized('ERROR VALUE')
......@@ -146,13 +147,35 @@ sign that HTTPResponse._unauthorized was called.
Unauthorized: ERROR VALUE
>>> browser.contents
Handle zExceptions.Forbidden in BaseRequest.traverse. 'traverse' converts it
into zExceptions.NotFound if we are not in debug mode.
Handle zExceptions.Unauthorized raised by BaseRequest.traverse. We take the
'WWW-Authenticate' header as a sign that HTTPResponse._unauthorized was called.
>>> browser.handleErrors = True
>>> browser.open('http://localhost/test_folder_1_/bar')
Traceback (most recent call last):
...
HTTPError: HTTP Error 401: Unauthorized
>>> 'Site Error' in browser.contents
True
>>> 'You are not authorized to access this resource.' in browser.contents
True
>>> browser.headers['WWW-Authenticate']
'basic realm="Zope2"'
>>> browser.handleErrors = False
>>> browser.open('http://localhost/test_folder_1_/bar')
Traceback (most recent call last):
...
Unauthorized: <strong>You are not authorized to access this resource...
>>> browser.contents
Handle zExceptions.Forbidden raised by BaseRequest.traverse. 'traverse'
converts it into zExceptions.NotFound if we are not in debug mode.
>>> browser.handleErrors = True
>>> browser.open('http://localhost/test_folder_1_/baz')
Traceback (most recent call last):
...
HTTPError: HTTP Error 404: Not Found
>>> '<p><strong>Resource not found</strong></p>' in browser.contents
True
......@@ -160,7 +183,7 @@ into zExceptions.NotFound if we are not in debug mode.
True
>>> browser.handleErrors = False
>>> browser.open('http://localhost/test_folder_1_/bar')
>>> browser.open('http://localhost/test_folder_1_/baz')
Traceback (most recent call last):
...
NotFound: <h2>Site Error</h2>
......
......@@ -29,7 +29,12 @@ class ExceptionRaiser1(SimpleItem):
raise self.exception
class ExceptionRaiser2(SimpleItem):
class ExceptionRaiser2(ExceptionRaiser1):
__roles__ = ()
class ExceptionRaiser3(SimpleItem):
def index_html(self):
return 'NO DOCSTRING'
......@@ -39,7 +44,8 @@ def test_suite():
return unittest.TestSuite([
FunctionalDocFileSuite('exception_handling.txt',
globs={'ExceptionRaiser1': ExceptionRaiser1,
'ExceptionRaiser2': ExceptionRaiser2,}),
'ExceptionRaiser2': ExceptionRaiser2,
'ExceptionRaiser3': ExceptionRaiser3,}),
])
if __name__ == '__main__':
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment