diff options
| author | Tom Christie | 2013-12-03 16:18:35 +0000 |
|---|---|---|
| committer | Tom Christie | 2013-12-03 16:18:35 +0000 |
| commit | 774298f145d18292b76f2bd90469e25c1950b1af (patch) | |
| tree | a62eb131266214d63ee7e90ad1969618b163737e /rest_framework/tests/test_renderers.py | |
| parent | c1d9a96df03ea81454d7d0e3583c68e270ed5043 (diff) | |
| download | django-rest-framework-774298f145d18292b76f2bd90469e25c1950b1af.tar.bz2 | |
First pass at a test for ParseErrors breaking the browsable API
Diffstat (limited to 'rest_framework/tests/test_renderers.py')
| -rw-r--r-- | rest_framework/tests/test_renderers.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/rest_framework/tests/test_renderers.py b/rest_framework/tests/test_renderers.py index 76299a89..549e763b 100644 --- a/rest_framework/tests/test_renderers.py +++ b/rest_framework/tests/test_renderers.py @@ -88,6 +88,7 @@ urlpatterns = patterns('', url(r'^cache$', MockGETView.as_view()), url(r'^jsonp/jsonrenderer$', MockGETView.as_view(renderer_classes=[JSONRenderer, JSONPRenderer])), url(r'^jsonp/nojsonrenderer$', MockGETView.as_view(renderer_classes=[JSONPRenderer])), + url(r'^parseerror$', MockGETView.as_view(renderer_classes=[JSONRenderer, BrowsableAPIRenderer])), url(r'^html$', HTMLView.as_view()), url(r'^html1$', HTMLView1.as_view()), url(r'^api', include('rest_framework.urls', namespace='rest_framework')) @@ -219,6 +220,12 @@ class RendererEndToEndTests(TestCase): self.assertEqual(resp.content, RENDERER_B_SERIALIZER(DUMMYCONTENT)) self.assertEqual(resp.status_code, DUMMYSTATUS) + def test_parse_error_renderers_browsable_api(self): + """Invalid data should still render the browsable API correctly.""" + resp = self.client.post('/parseerror', data='foobar', content_type='application/json', HTTP_ACCEPT='text/html') + self.assertEqual(resp['Content-Type'], 'text/html; charset=utf-8') + self.assertContains(resp.content, 'Mock GET View') + self.assertEqual(resp.status_code, status.HTTP_400_) _flat_repr = '{"foo": ["bar", "baz"]}' _indented_repr = '{\n "foo": [\n "bar",\n "baz"\n ]\n}' |
