summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests/test_wsgi.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-01-25 03:10:29 +0000
committerChris McDonough <chrism@agendaless.com>2009-01-25 03:10:29 +0000
commitde49699ef9eeccc6339f29d2e197d6f26d4904dc (patch)
treeaf036d35b81a44af233eb4358fe677b87eb8bfc1 /repoze/bfg/tests/test_wsgi.py
parentcfd4e5e06d05dac3e8f1c03b63bc3cf37242334a (diff)
downloadpyramid-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.py84
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('&lt;hi!&gt;' 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('&lt;hi!&gt;' 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):
""" """