diff options
| author | Xavier Ordoquy | 2014-04-13 00:05:57 +0200 | 
|---|---|---|
| committer | Xavier Ordoquy | 2014-04-13 00:05:57 +0200 | 
| commit | d08536ad9d026fb7126c430f6d9c18f8540aacd6 (patch) | |
| tree | a8a1d36ce76867e57da23379694ea0609801990b /rest_framework/tests/test_renderers.py | |
| parent | 2911cd64ad67ba193e3d37322ee71692cb482623 (diff) | |
| parent | 93b9245b8714287a440023451ff7880a2f6e5b32 (diff) | |
| download | django-rest-framework-d08536ad9d026fb7126c430f6d9c18f8540aacd6.tar.bz2 | |
Merge remote-tracking branch 'origin/master' into 2.4.0
Conflicts:
	.travis.yml
	docs/api-guide/fields.md
	docs/api-guide/routers.md
	docs/topics/release-notes.md
	rest_framework/authentication.py
	rest_framework/serializers.py
	rest_framework/templatetags/rest_framework.py
	rest_framework/tests/test_authentication.py
	rest_framework/tests/test_filters.py
	rest_framework/tests/test_hyperlinkedserializers.py
	rest_framework/tests/test_serializer.py
	rest_framework/tests/test_testing.py
	rest_framework/utils/encoders.py
	tox.ini
Diffstat (limited to 'rest_framework/tests/test_renderers.py')
| -rw-r--r-- | rest_framework/tests/test_renderers.py | 35 | 
1 files changed, 35 insertions, 0 deletions
| diff --git a/rest_framework/tests/test_renderers.py b/rest_framework/tests/test_renderers.py index 9cb68233..460c02a9 100644 --- a/rest_framework/tests/test_renderers.py +++ b/rest_framework/tests/test_renderers.py @@ -4,6 +4,7 @@ from __future__ import unicode_literals  from decimal import Decimal  from django.conf.urls import patterns, url, include  from django.core.cache import cache +from django.db import models  from django.test import TestCase  from django.utils import unittest  from django.utils.translation import ugettext_lazy as _ @@ -35,6 +36,10 @@ expected_results = [  ] +class DummyTestModel(models.Model): +    name = models.CharField(max_length=42, default='') + +  class BasicRendererTests(TestCase):      def test_expected_results(self):          for value, renderer_cls, expected in expected_results: @@ -252,6 +257,18 @@ class RendererEndToEndTests(TestCase):          self.assertEqual(resp.get('Content-Type', None), None)          self.assertEqual(resp.status_code, status.HTTP_204_NO_CONTENT) +    def test_contains_headers_of_api_response(self): +        """ +        Issue #1437 + +        Test we display the headers of the API response and not those from the +        HTML response +        """ +        resp = self.client.get('/html1') +        self.assertContains(resp, '>GET, HEAD, OPTIONS<') +        self.assertContains(resp, '>application/json<') +        self.assertNotContains(resp, '>text/html; charset=utf-8<') +  _flat_repr = '{"foo": ["bar", "baz"]}'  _indented_repr = '{\n  "foo": [\n    "bar",\n    "baz"\n  ]\n}' @@ -277,6 +294,20 @@ class JSONRendererTests(TestCase):          ret = JSONRenderer().render(_('test'))          self.assertEqual(ret, b'"test"') +    def test_render_queryset_values(self): +        o = DummyTestModel.objects.create(name='dummy') +        qs = DummyTestModel.objects.values('id', 'name') +        ret = JSONRenderer().render(qs) +        data = json.loads(ret.decode('utf-8')) +        self.assertEquals(data, [{'id': o.id, 'name': o.name}]) + +    def test_render_queryset_values_list(self): +        o = DummyTestModel.objects.create(name='dummy') +        qs = DummyTestModel.objects.values_list('id', 'name') +        ret = JSONRenderer().render(qs) +        data = json.loads(ret.decode('utf-8')) +        self.assertEquals(data, [[o.id, o.name]]) +      def test_render_dict_abc_obj(self):          class Dict(MutableMapping):              def __init__(self): @@ -583,6 +614,10 @@ class CacheRenderTest(TestCase):          method = getattr(self.client, http_method)          resp = method(url)          del resp.client, resp.request +        try: +            del resp.wsgi_request +        except AttributeError: +            pass          return resp      def test_obj_pickling(self): | 
