aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/tests/test_renderers.py
diff options
context:
space:
mode:
authorTom Christie2013-12-03 16:55:11 +0000
committerTom Christie2013-12-03 16:55:11 +0000
commit38d78b21c0a7c68c205ebe6e79433ca51fe609ce (patch)
treec301326f5ad77557a5e9105e4b68cdfd29868095 /rest_framework/tests/test_renderers.py
parent9f1918e41e1b8dcfa621b00788bab865f2fc31aa (diff)
downloaddjango-rest-framework-38d78b21c0a7c68c205ebe6e79433ca51fe609ce.tar.bz2
Remove Content-Type header from empty responses. Fixes #1196
Diffstat (limited to 'rest_framework/tests/test_renderers.py')
-rw-r--r--rest_framework/tests/test_renderers.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/rest_framework/tests/test_renderers.py b/rest_framework/tests/test_renderers.py
index 76299a89..f7de8fd7 100644
--- a/rest_framework/tests/test_renderers.py
+++ b/rest_framework/tests/test_renderers.py
@@ -64,11 +64,16 @@ class MockView(APIView):
class MockGETView(APIView):
-
def get(self, request, **kwargs):
return Response({'foo': ['bar', 'baz']})
+class EmptyGETView(APIView):
+ renderer_classes = (JSONRenderer,)
+
+ def get(self, request, **kwargs):
+ return Response(status=status.HTTP_204_NO_CONTENT)
+
class HTMLView(APIView):
renderer_classes = (BrowsableAPIRenderer, )
@@ -90,6 +95,7 @@ urlpatterns = patterns('',
url(r'^jsonp/nojsonrenderer$', MockGETView.as_view(renderer_classes=[JSONPRenderer])),
url(r'^html$', HTMLView.as_view()),
url(r'^html1$', HTMLView1.as_view()),
+ url(r'^empty$', EmptyGETView.as_view()),
url(r'^api', include('rest_framework.urls', namespace='rest_framework'))
)
@@ -219,6 +225,16 @@ class RendererEndToEndTests(TestCase):
self.assertEqual(resp.content, RENDERER_B_SERIALIZER(DUMMYCONTENT))
self.assertEqual(resp.status_code, DUMMYSTATUS)
+ def test_204_no_content_responses_have_no_content_type_set(self):
+ """
+ Regression test for #1196
+
+ https://github.com/tomchristie/django-rest-framework/issues/1196
+ """
+ resp = self.client.get('/empty')
+ self.assertEqual(resp.get('Content-Type', None), None)
+ self.assertEqual(resp.status_code, status.HTTP_204_NO_CONTENT)
+
_flat_repr = '{"foo": ["bar", "baz"]}'
_indented_repr = '{\n "foo": [\n "bar",\n "baz"\n ]\n}'