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('' 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('abc&123' 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')