def testCatch_ConflictErrorRaisedByPythonModule(self): self.app._setObject('raiseConflictError', dummy.Raiser(ConflictError)) try: self.check(''' from ZODB.POSException import ConflictError try: context.raiseConflictError() except ConflictError: pass ''') except Exception as e: self.fail('Failed to catch: %s %s (module %s)' % (e.__class__.__name__, e, e.__module__))
def testCatch_CopyErrorRaisedByPythonModule(self): self.folder._setObject('raiseCopyError', dummy.Raiser(CopyError)) try: self.check(''' from OFS.CopySupport import CopyError try: context.raiseCopyError() except CopyError: pass ''') except Exception, e: self.fail('Failed to catch: %s %s (module %s)' % (e.__class__.__name__, e, e.__module__))
def testCatch_ParseErrorRaisedByPythonModule(self): self.folder._setObject('raiseParseError', dummy.Raiser(ParseError)) try: self.check(''' from Products.ZCTextIndex.ParseTree import ParseError try: context.raiseParseError() except ParseError: pass ''') except Exception, e: self.fail('Failed to catch: %s %s (module %s)' % (e.__class__.__name__, e, e.__module__))
def testCatch_SyntaxErrorRaisedByPythonModule(self): self.folder._setObject('raiseSyntaxError', dummy.Raiser(self.SyntaxError)) try: self.check(''' from DateTime.interfaces import SyntaxError try: context.raiseSyntaxError() except SyntaxError: pass ''') except Exception, e: self.fail('Failed to catch: %s %s (module %s)' % (e.__class__.__name__, e, e.__module__))
def testCatch_DiscussionNotAllowedRaisedByPythonModule(self): self.folder._setObject('raiseDiscussionNotAllowed', dummy.Raiser(DiscussionNotAllowed)) try: self.check(''' from Products.CMFDefault.DiscussionTool import DiscussionNotAllowed try: context.raiseDiscussionNotAllowed() except DiscussionNotAllowed: pass ''') except Exception, e: self.fail('Failed to catch: %s %s (module %s)' % (e.__class__.__name__, e, e.__module__))
def testContainerHookRaisesConflictError(self): # check_id should not swallow ConflictErrors raised by hook self.folder._setObject('checkValidId', dummy.Raiser(ConflictError)) self.folder._setObject('foo', dummy.Item('foo')) self.assertRaises(ConflictError, check_id(self.folder.foo), 'whatever')
def testContainerHookRaisesUnauthorized(self): # check_id should not swallow Unauthorized errors raised by hook self.folder._setObject('checkValidId', dummy.Raiser(Unauthorized)) self.folder._setObject('foo', dummy.Item('foo')) self.assertRaises(Unauthorized, check_id(self.folder.foo), 'whatever')
def testContainerHook(self): # Container may have a checkValidId method; make sure it is called self.folder._setObject('checkValidId', dummy.Raiser(dummy.Error)) self.folder._setObject('foo', dummy.Item('foo')) r = check_id(self.folder.foo, 'whatever') self.assertEqual(r, u'whatever is reserved.')
def testContainerHookRaisesUnauthorized(self): # check_id does not raise Unauthorized errors raised by hook self.folder._setObject('checkValidId', dummy.Raiser(Unauthorized)) self.folder._setObject('foo', dummy.Item('foo')) r = check_id(self.folder.foo, 'whatever') self.assertEqual(r, u'whatever is reserved.')