Michael Merickel
2018-10-15 bda1306749c62ef4f11cfe567ed7d56c8ad94240
tests/test_tweens.py
@@ -1,6 +1,7 @@
import unittest
from pyramid import testing
class Test_excview_tween_factory(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
@@ -10,14 +11,17 @@
    def _makeOne(self, handler, registry=None):
        from pyramid.tweens import excview_tween_factory
        if registry is None:
            registry = self.config.registry
        return excview_tween_factory(handler, registry)
    def test_it_passthrough_no_exception(self):
        dummy_response = DummyResponse()
        def handler(request):
            return dummy_response
        tween = self._makeOne(handler)
        request = DummyRequest()
        result = tween(request)
@@ -28,9 +32,12 @@
    def test_it_catches_notfound(self):
        from pyramid.request import Request
        from pyramid.httpexceptions import HTTPNotFound
        self.config.add_notfound_view(lambda exc, request: exc)
        def handler(request):
            raise HTTPNotFound
        tween = self._makeOne(handler)
        request = Request.blank('/')
        request.registry = self.config.registry
@@ -42,11 +49,15 @@
    def test_it_catches_with_predicate(self):
        from pyramid.request import Request
        from pyramid.response import Response
        def excview(request):
            return Response('foo')
        self.config.add_view(excview, context=ValueError, request_method='GET')
        def handler(request):
            raise ValueError
        tween = self._makeOne(handler)
        request = Request.blank('/')
        request.registry = self.config.registry
@@ -57,10 +68,15 @@
    def test_it_reraises_on_mismatch(self):
        from pyramid.request import Request
        def excview(request): pass
        def excview(request):  # pragma: no cover
            pass
        self.config.add_view(excview, context=ValueError, request_method='GET')
        def handler(request):
            raise ValueError
        tween = self._makeOne(handler)
        request = Request.blank('/')
        request.registry = self.config.registry
@@ -71,8 +87,10 @@
    def test_it_reraises_on_no_match(self):
        from pyramid.request import Request
        def handler(request):
            raise ValueError
        tween = self._makeOne(handler)
        request = Request.blank('/')
        request.registry = self.config.registry
@@ -80,9 +98,11 @@
        self.assertIsNone(request.exception)
        self.assertIsNone(request.exc_info)
class DummyRequest:
    exception = None
    exc_info = None
class DummyResponse:
    pass