diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-01-25 03:10:29 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-01-25 03:10:29 +0000 |
| commit | de49699ef9eeccc6339f29d2e197d6f26d4904dc (patch) | |
| tree | af036d35b81a44af233eb4358fe677b87eb8bfc1 /repoze/bfg/tests/test_wsgi.py | |
| parent | cfd4e5e06d05dac3e8f1c03b63bc3cf37242334a (diff) | |
| download | pyramid-de49699ef9eeccc6339f29d2e197d6f26d4904dc.tar.gz pyramid-de49699ef9eeccc6339f29d2e197d6f26d4904dc.tar.bz2 pyramid-de49699ef9eeccc6339f29d2e197d6f26d4904dc.zip | |
Test coverage.
Diffstat (limited to 'repoze/bfg/tests/test_wsgi.py')
| -rw-r--r-- | repoze/bfg/tests/test_wsgi.py | 84 |
1 files changed, 75 insertions, 9 deletions
diff --git a/repoze/bfg/tests/test_wsgi.py b/repoze/bfg/tests/test_wsgi.py index e19e65044..95eaecf80 100644 --- a/repoze/bfg/tests/test_wsgi.py +++ b/repoze/bfg/tests/test_wsgi.py @@ -1,21 +1,87 @@ import unittest -from zope.testing.cleanup import cleanUp class WSGIAppTests(unittest.TestCase): - def setUp(self): - cleanUp() + def _callFUT(self, app): + from repoze.bfg.wsgi import wsgiapp + return wsgiapp(app) - def tearDown(self): - cleanUp() - def test_decorator(self): - from repoze.bfg.wsgi import wsgiapp - wrapped = wsgiapp(dummyapp) context = DummyContext() request = DummyRequest() - response = wrapped(context, request) + decorator = self._callFUT(dummyapp) + response = decorator(context, request) self.assertEqual(response, dummyapp) +class TestNotFound(unittest.TestCase): + def _getTargetClass(self): + from repoze.bfg.wsgi import NotFound + return NotFound + + def _makeOne(self): + return self._getTargetClass()() + + def test_no_message(self): + environ = {} + L = [] + def start_response(status, headers): + L.append((status, headers)) + app = self._makeOne() + result = app(environ, start_response) + self.assertEqual(len(result), 1) + self.failUnless('404 Not Found' in result[0]) + self.assertEqual(L[0][0], '404 Not Found') + self.assertEqual(L[0][1], [('Content-Length', len(result[0])), + ('Content-Type', 'text/html')]) + + def test_with_message(self): + environ = {'message':'<hi!>'} + L = [] + def start_response(status, headers): + L.append((status, headers)) + app = self._makeOne() + result = app(environ, start_response) + self.assertEqual(len(result), 1) + self.failUnless('404 Not Found' in result[0]) + self.failUnless('<hi!>' in result[0]) + self.assertEqual(L[0][0], '404 Not Found') + self.assertEqual(L[0][1], [('Content-Length', len(result[0])), + ('Content-Type', 'text/html')]) + +class TestUnauthorized(unittest.TestCase): + def _getTargetClass(self): + from repoze.bfg.wsgi import Unauthorized + return Unauthorized + + def _makeOne(self): + return self._getTargetClass()() + + def test_no_message(self): + environ = {} + L = [] + def start_response(status, headers): + L.append((status, headers)) + app = self._makeOne() + result = app(environ, start_response) + self.assertEqual(len(result), 1) + self.failUnless('401 Unauthorized' in result[0]) + self.assertEqual(L[0][0], '401 Unauthorized') + self.assertEqual(L[0][1], [('Content-Length', len(result[0])), + ('Content-Type', 'text/html')]) + + def test_with_message(self): + environ = {'message':'<hi!>'} + L = [] + def start_response(status, headers): + L.append((status, headers)) + app = self._makeOne() + result = app(environ, start_response) + self.assertEqual(len(result), 1) + self.failUnless('401 Unauthorized' in result[0]) + self.failUnless('<hi!>' in result[0]) + self.assertEqual(L[0][0], '401 Unauthorized') + self.assertEqual(L[0][1], [('Content-Length', len(result[0])), + ('Content-Type', 'text/html')]) + def dummyapp(environ, start_response): """ """ |
