summaryrefslogtreecommitdiff
path: root/pecan/tests/middleware/test_debug.py
diff options
context:
space:
mode:
Diffstat (limited to 'pecan/tests/middleware/test_debug.py')
-rw-r--r--pecan/tests/middleware/test_debug.py83
1 files changed, 0 insertions, 83 deletions
diff --git a/pecan/tests/middleware/test_debug.py b/pecan/tests/middleware/test_debug.py
deleted file mode 100644
index bc9d65f..0000000
--- a/pecan/tests/middleware/test_debug.py
+++ /dev/null
@@ -1,83 +0,0 @@
-from wsgiref.util import setup_testing_defaults
-
-from webtest import TestApp
-from six import b as b_
-
-from pecan.middleware.debug import DebugMiddleware
-from pecan.tests import PecanTestCase
-
-
-class StripPasteVar(object):
- def __init__(self, app):
- self.app = app
-
- def __call__(self, environ, start_response):
- environ.pop('paste.testing')
- return self.app(environ, start_response)
-
-
-class TestDebugMiddleware(PecanTestCase):
-
- def setUp(self):
- super(TestDebugMiddleware, self).setUp()
-
- def conditional_error_app(environ, start_response):
- setup_testing_defaults(environ)
- if environ['PATH_INFO'] == '/error':
- assert 1 == 2
- start_response("200 OK", [('Content-type', 'text/plain')])
- return [b_('requested page returned')]
- self.app = TestApp(StripPasteVar(DebugMiddleware(
- conditional_error_app
- )))
-
- def test_middleware_passes_through_when_no_exception_raised(self):
- r = self.app.get('/')
- assert r.status_int == 200
- assert r.body == b_('requested page returned')
-
- def test_middleware_gives_stack_trace_on_errors(self):
- r = self.app.get('/error', expect_errors=True)
- assert r.status_int == 400
- assert b_('AssertionError') in r.body
-
- def test_middleware_complains_in_multi_process_environment(self):
-
- class MultiProcessApp(object):
-
- def __init__(self, app):
- self.app = app
-
- def __call__(self, environ, start_response):
- environ['wsgi.multiprocess'] = True
- return self.app(environ, start_response)
-
- def conditional_error_app(environ, start_response):
- start_response("200 OK", [('Content-type', 'text/plain')])
- return ['Hello, World!']
-
- app = TestApp(MultiProcessApp(DebugMiddleware(conditional_error_app)))
- self.assertRaises(
- RuntimeError,
- app.get,
- '/'
- )
-
- def test_middlware_allows_for_post_mortem_debugging(self):
- def patch_debugger(d):
- def _patched_debug_request():
- d.append(True)
- return _patched_debug_request
-
- debugger = []
-
- app = TestApp(StripPasteVar(DebugMiddleware(
- self.app,
- patch_debugger(debugger)
- )))
-
- r = app.get('/error', expect_errors=True)
- assert r.status_int == 400
-
- r = app.get('/__pecan_initiate_pdb__', expect_errors=True)
- assert len(debugger) > 0