summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests/test_exceptions.py
diff options
context:
space:
mode:
Diffstat (limited to 'repoze/bfg/tests/test_exceptions.py')
-rw-r--r--repoze/bfg/tests/test_exceptions.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/repoze/bfg/tests/test_exceptions.py b/repoze/bfg/tests/test_exceptions.py
new file mode 100644
index 000000000..4091eb941
--- /dev/null
+++ b/repoze/bfg/tests/test_exceptions.py
@@ -0,0 +1,45 @@
+import unittest
+
+class TestExceptionResponse(unittest.TestCase):
+ def _makeOne(self, message):
+ from repoze.bfg.exceptions import ExceptionResponse
+ return ExceptionResponse(message)
+
+ def test_app_iter(self):
+ exc = self._makeOne('')
+ self.failUnless('<code></code>' in exc.app_iter[0])
+
+ def test_headerlist(self):
+ exc = self._makeOne('')
+ headerlist = exc.headerlist
+ headerlist.sort()
+ app_iter = exc.app_iter
+ clen = str(len(app_iter[0]))
+ self.assertEqual(headerlist[0], ('Content-Length', clen))
+ self.assertEqual(headerlist[1], ('Content-Type', 'text/html'))
+
+ def test_withmessage(self):
+ exc = self._makeOne('abc&123')
+ self.failUnless('<code>abc&amp;123</code>' in exc.app_iter[0])
+
+class TestNotFound(unittest.TestCase):
+ def _makeOne(self, message):
+ from repoze.bfg.exceptions import NotFound
+ return NotFound(message)
+
+ def test_it(self):
+ from repoze.bfg.exceptions import ExceptionResponse
+ e = self._makeOne('notfound')
+ self.failUnless(isinstance(e, ExceptionResponse))
+ self.assertEqual(e.status, '404 Not Found')
+
+class TestForbidden(unittest.TestCase):
+ def _makeOne(self, message):
+ from repoze.bfg.exceptions import Forbidden
+ return Forbidden(message)
+
+ def test_it(self):
+ from repoze.bfg.exceptions import ExceptionResponse
+ e = self._makeOne('unauthorized')
+ self.failUnless(isinstance(e, ExceptionResponse))
+ self.assertEqual(e.status, '401 Unauthorized')