diff --git a/cover.sh b/cover.sh index ce4a1db..44f751a 100755 --- a/cover.sh +++ b/cover.sh @@ -1,3 +1,3 @@ #!/usr/bin/env bash -nosetests --with-coverage --cover-package=falcon +nosetests --with-coverage --cover-package=falcon --cover-min-percentage=90 diff --git a/falcon/test/test_headers.py b/falcon/test/test_headers.py index 6916b0f..dab3d3e 100644 --- a/falcon/test/test_headers.py +++ b/falcon/test/test_headers.py @@ -48,6 +48,12 @@ class TestHeaders(helpers.TestSuite): content_length_header = ('Content-Length', content_length) self.assertThat(headers, Contains(content_length_header)) + def test_default_value(self): + self._simulate_request(self.test_route) + + value = self.resource.req.get_header('X-Not-Found', '876') + self.assertEquals(value, '876') + def test_prefer_host_header(self): self._simulate_request(self.test_route) diff --git a/falcon/test/test_httperror.py b/falcon/test/test_httperror.py index 1855148..14f1205 100644 --- a/falcon/test/test_httperror.py +++ b/falcon/test/test_httperror.py @@ -38,7 +38,6 @@ class UnauthorizedResource: 'Missing or invalid token header.', 'Token') - class NotFoundResource: def on_get(self, req, resp): @@ -50,6 +49,13 @@ class MethodNotAllowedResource: raise falcon.HTTPMethodNotAllowed(['PUT']) +class InternalServerErrorResource: + + def on_get(self, req, resp): + raise falcon.HTTPInternalServerError('Excuse Us', 'Something went' + 'boink!') + + class TestHTTPError(helpers.TestSuite): def prepare(self): @@ -168,3 +174,9 @@ class TestHTTPError(helpers.TestSuite): self.assertEqual(self.srmock.status, falcon.HTTP_405) self.assertEqual(body, []) self.assertIn(('Allow', 'PUT'), self.srmock.headers) + + def test_500(self): + self.api.add_route('/500', InternalServerErrorResource()) + body = self._simulate_request('/500') + + self.assertEqual(self.srmock.status, falcon.HTTP_500)