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())
Example #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())
Example #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())
Example #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())
Example #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())