From de49699ef9eeccc6339f29d2e197d6f26d4904dc Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Sun, 25 Jan 2009 03:10:29 +0000 Subject: Test coverage. --- repoze/bfg/tests/test_wsgi.py | 84 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 75 insertions(+), 9 deletions(-) (limited to 'repoze/bfg/tests/test_wsgi.py') 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':''} + 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':''} + 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): """ """ -- cgit v1.2.3