def test_usable_as_contextmanager(self):
        from zope.security.management import getInteraction
        from zope.security.management import queryInteraction

        with testing.interaction('foo'):
            ix = getInteraction()
            participation = ix.participations[0]
            self.assertEqual('foo', participation.principal.id)
            # Nesting doesn't change anything
            with testing.interaction('baz'):
                ix = getInteraction()
                participation = ix.participations[0]
                self.assertEqual('foo', participation.principal.id)

        self.assertFalse(queryInteraction())
示例#2
0
    def test_usable_as_contextmanager(self):
        from zope.security.management import getInteraction
        from zope.security.management import queryInteraction

        with testing.interaction('foo'):
            ix = getInteraction()
            participation = ix.participations[0]
            self.assertEqual('foo', participation.principal.id)
            # Nesting doesn't change anything
            with testing.interaction('baz'):
                ix = getInteraction()
                participation = ix.participations[0]
                self.assertEqual('foo', participation.principal.id)

        self.assertFalse(queryInteraction())
示例#3
0
 def test_contextmanager_ends_interaction_on_exception(self):
     from zope.security.management import queryInteraction
     from zope.security.testing import interaction
     try:
         with interaction('foo'):
             raise RuntimeError()
     except RuntimeError:
         pass
     self.assertFalse(queryInteraction())
示例#4
0
 def test_contextmanager_ends_interaction_on_exception(self):
     from zope.security.management import queryInteraction
     from zope.security.testing import interaction
     try:
         with interaction('foo'):
             raise RuntimeError()
     except RuntimeError:
         pass
     self.assertFalse(queryInteraction())
    def test_contextmanager_ends_interaction_on_exception(self):
        from zope.security.management import queryInteraction
        class MyError(Exception):
            pass

        with self.assertRaises(MyError):
            with testing.interaction('foo'):
                raise MyError()

        self.assertFalse(queryInteraction())
示例#6
0
    def test_contextmanager_ends_interaction_on_exception(self):
        from zope.security.management import queryInteraction

        class MyError(Exception):
            pass

        with self.assertRaises(MyError):
            with testing.interaction('foo'):
                raise MyError()

        self.assertFalse(queryInteraction())