diff options
| author | Tom Christie | 2013-02-12 20:07:35 +0000 | 
|---|---|---|
| committer | Tom Christie | 2013-02-12 20:07:35 +0000 | 
| commit | 7f797abc19dff6972ebf41a2211daeb30cadff46 (patch) | |
| tree | f765b053f2d925f2d415d6c82ffa61459d149ea9 /rest_framework | |
| parent | f97aa49809d1a1788c8d524bf274a9b65f740c64 (diff) | |
| download | django-rest-framework-7f797abc19dff6972ebf41a2211daeb30cadff46.tar.bz2 | |
Remove deprecated APIs from tests
Diffstat (limited to 'rest_framework')
| -rw-r--r-- | rest_framework/serializers.py | 2 | ||||
| -rw-r--r-- | rest_framework/tests/genericrelations.py | 2 | ||||
| -rw-r--r-- | rest_framework/tests/relations_hyperlink.py | 225 | ||||
| -rw-r--r-- | rest_framework/tests/relations_nested.py | 8 | ||||
| -rw-r--r-- | rest_framework/tests/relations_pk.py | 40 | ||||
| -rw-r--r-- | rest_framework/tests/relations_slug.py | 24 | ||||
| -rw-r--r-- | rest_framework/tests/serializer.py | 2 | 
7 files changed, 155 insertions, 148 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index d59bcfd3..11cce4d6 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -347,7 +347,7 @@ class BaseSerializer(Field):                  if many:                      warnings.warn('Implict list/queryset serialization is due to be deprecated. '                                    'Use the `many=True` flag when instantiating the serializer.', -                                  PendingDeprecationWarning, stacklevel=2) +                                  PendingDeprecationWarning, stacklevel=3)              # TODO: error data when deserializing lists              if many: diff --git a/rest_framework/tests/genericrelations.py b/rest_framework/tests/genericrelations.py index 029564d0..52b47f97 100644 --- a/rest_framework/tests/genericrelations.py +++ b/rest_framework/tests/genericrelations.py @@ -82,7 +82,7 @@ class TestGenericRelations(TestCase):                  model = Tag                  exclude = ('id', 'content_type', 'object_id') -        serializer = TagSerializer(Tag.objects.all()) +        serializer = TagSerializer(Tag.objects.all(), many=True)          expected = [          {              'tag': 'django', diff --git a/rest_framework/tests/relations_hyperlink.py b/rest_framework/tests/relations_hyperlink.py index 89b2aec1..e806ddd7 100644 --- a/rest_framework/tests/relations_hyperlink.py +++ b/rest_framework/tests/relations_hyperlink.py @@ -1,8 +1,15 @@  from __future__ import unicode_literals  from django.test import TestCase +from django.test.client import RequestFactory  from rest_framework import serializers  from rest_framework.compat import patterns, url -from rest_framework.tests.models import ManyToManyTarget, ManyToManySource, ForeignKeyTarget, ForeignKeySource, NullableForeignKeySource, OneToOneTarget, NullableOneToOneSource +from rest_framework.tests.models import ( +    ManyToManyTarget, ManyToManySource, ForeignKeyTarget, ForeignKeySource, +    NullableForeignKeySource, OneToOneTarget, NullableOneToOneSource +) + +factory = RequestFactory() +request = factory.get('/')  # Just to ensure we have a request in the serializer context  def dummy_view(request, pk): @@ -73,64 +80,64 @@ class HyperlinkedManyToManyTests(TestCase):      def test_many_to_many_retrieve(self):          queryset = ManyToManySource.objects.all() -        serializer = ManyToManySourceSerializer(queryset) +        serializer = ManyToManySourceSerializer(queryset, many=True, context={'request': request})          expected = [ -                {'url': '/manytomanysource/1/', 'name': 'source-1', 'targets': ['/manytomanytarget/1/']}, -                {'url': '/manytomanysource/2/', 'name': 'source-2', 'targets': ['/manytomanytarget/1/', '/manytomanytarget/2/']}, -                {'url': '/manytomanysource/3/', 'name': 'source-3', 'targets': ['/manytomanytarget/1/', '/manytomanytarget/2/', '/manytomanytarget/3/']} +                {'url': 'http://testserver/manytomanysource/1/', 'name': 'source-1', 'targets': ['http://testserver/manytomanytarget/1/']}, +                {'url': 'http://testserver/manytomanysource/2/', 'name': 'source-2', 'targets': ['http://testserver/manytomanytarget/1/', 'http://testserver/manytomanytarget/2/']}, +                {'url': 'http://testserver/manytomanysource/3/', 'name': 'source-3', 'targets': ['http://testserver/manytomanytarget/1/', 'http://testserver/manytomanytarget/2/', 'http://testserver/manytomanytarget/3/']}          ]          self.assertEquals(serializer.data, expected)      def test_reverse_many_to_many_retrieve(self):          queryset = ManyToManyTarget.objects.all() -        serializer = ManyToManyTargetSerializer(queryset) +        serializer = ManyToManyTargetSerializer(queryset, many=True, context={'request': request})          expected = [ -            {'url': '/manytomanytarget/1/', 'name': 'target-1', 'sources': ['/manytomanysource/1/', '/manytomanysource/2/', '/manytomanysource/3/']}, -            {'url': '/manytomanytarget/2/', 'name': 'target-2', 'sources': ['/manytomanysource/2/', '/manytomanysource/3/']}, -            {'url': '/manytomanytarget/3/', 'name': 'target-3', 'sources': ['/manytomanysource/3/']} +            {'url': 'http://testserver/manytomanytarget/1/', 'name': 'target-1', 'sources': ['http://testserver/manytomanysource/1/', 'http://testserver/manytomanysource/2/', 'http://testserver/manytomanysource/3/']}, +            {'url': 'http://testserver/manytomanytarget/2/', 'name': 'target-2', 'sources': ['http://testserver/manytomanysource/2/', 'http://testserver/manytomanysource/3/']}, +            {'url': 'http://testserver/manytomanytarget/3/', 'name': 'target-3', 'sources': ['http://testserver/manytomanysource/3/']}          ]          self.assertEquals(serializer.data, expected)      def test_many_to_many_update(self): -        data = {'url': '/manytomanysource/1/', 'name': 'source-1', 'targets': ['/manytomanytarget/1/', '/manytomanytarget/2/', '/manytomanytarget/3/']} +        data = {'url': 'http://testserver/manytomanysource/1/', 'name': 'source-1', 'targets': ['http://testserver/manytomanytarget/1/', 'http://testserver/manytomanytarget/2/', 'http://testserver/manytomanytarget/3/']}          instance = ManyToManySource.objects.get(pk=1) -        serializer = ManyToManySourceSerializer(instance, data=data) +        serializer = ManyToManySourceSerializer(instance, data=data, context={'request': request})          self.assertTrue(serializer.is_valid())          serializer.save()          self.assertEquals(serializer.data, data)          # Ensure source 1 is updated, and everything else is as expected          queryset = ManyToManySource.objects.all() -        serializer = ManyToManySourceSerializer(queryset) +        serializer = ManyToManySourceSerializer(queryset, many=True, context={'request': request})          expected = [ -                {'url': '/manytomanysource/1/', 'name': 'source-1', 'targets': ['/manytomanytarget/1/', '/manytomanytarget/2/', '/manytomanytarget/3/']}, -                {'url': '/manytomanysource/2/', 'name': 'source-2', 'targets': ['/manytomanytarget/1/', '/manytomanytarget/2/']}, -                {'url': '/manytomanysource/3/', 'name': 'source-3', 'targets': ['/manytomanytarget/1/', '/manytomanytarget/2/', '/manytomanytarget/3/']} +                {'url': 'http://testserver/manytomanysource/1/', 'name': 'source-1', 'targets': ['http://testserver/manytomanytarget/1/', 'http://testserver/manytomanytarget/2/', 'http://testserver/manytomanytarget/3/']}, +                {'url': 'http://testserver/manytomanysource/2/', 'name': 'source-2', 'targets': ['http://testserver/manytomanytarget/1/', 'http://testserver/manytomanytarget/2/']}, +                {'url': 'http://testserver/manytomanysource/3/', 'name': 'source-3', 'targets': ['http://testserver/manytomanytarget/1/', 'http://testserver/manytomanytarget/2/', 'http://testserver/manytomanytarget/3/']}          ]          self.assertEquals(serializer.data, expected)      def test_reverse_many_to_many_update(self): -        data = {'url': '/manytomanytarget/1/', 'name': 'target-1', 'sources': ['/manytomanysource/1/']} +        data = {'url': 'http://testserver/manytomanytarget/1/', 'name': 'target-1', 'sources': ['http://testserver/manytomanysource/1/']}          instance = ManyToManyTarget.objects.get(pk=1) -        serializer = ManyToManyTargetSerializer(instance, data=data) +        serializer = ManyToManyTargetSerializer(instance, data=data, context={'request': request})          self.assertTrue(serializer.is_valid())          serializer.save()          self.assertEquals(serializer.data, data)          # Ensure target 1 is updated, and everything else is as expected          queryset = ManyToManyTarget.objects.all() -        serializer = ManyToManyTargetSerializer(queryset) +        serializer = ManyToManyTargetSerializer(queryset, many=True, context={'request': request})          expected = [ -            {'url': '/manytomanytarget/1/', 'name': 'target-1', 'sources': ['/manytomanysource/1/']}, -            {'url': '/manytomanytarget/2/', 'name': 'target-2', 'sources': ['/manytomanysource/2/', '/manytomanysource/3/']}, -            {'url': '/manytomanytarget/3/', 'name': 'target-3', 'sources': ['/manytomanysource/3/']} +            {'url': 'http://testserver/manytomanytarget/1/', 'name': 'target-1', 'sources': ['http://testserver/manytomanysource/1/']}, +            {'url': 'http://testserver/manytomanytarget/2/', 'name': 'target-2', 'sources': ['http://testserver/manytomanysource/2/', 'http://testserver/manytomanysource/3/']}, +            {'url': 'http://testserver/manytomanytarget/3/', 'name': 'target-3', 'sources': ['http://testserver/manytomanysource/3/']}          ]          self.assertEquals(serializer.data, expected)      def test_many_to_many_create(self): -        data = {'url': '/manytomanysource/4/', 'name': 'source-4', 'targets': ['/manytomanytarget/1/', '/manytomanytarget/3/']} -        serializer = ManyToManySourceSerializer(data=data) +        data = {'url': 'http://testserver/manytomanysource/4/', 'name': 'source-4', 'targets': ['http://testserver/manytomanytarget/1/', 'http://testserver/manytomanytarget/3/']} +        serializer = ManyToManySourceSerializer(data=data, context={'request': request})          self.assertTrue(serializer.is_valid())          obj = serializer.save()          self.assertEquals(serializer.data, data) @@ -138,18 +145,18 @@ class HyperlinkedManyToManyTests(TestCase):          # Ensure source 4 is added, and everything else is as expected          queryset = ManyToManySource.objects.all() -        serializer = ManyToManySourceSerializer(queryset) +        serializer = ManyToManySourceSerializer(queryset, many=True, context={'request': request})          expected = [ -            {'url': '/manytomanysource/1/', 'name': 'source-1', 'targets': ['/manytomanytarget/1/']}, -            {'url': '/manytomanysource/2/', 'name': 'source-2', 'targets': ['/manytomanytarget/1/', '/manytomanytarget/2/']}, -            {'url': '/manytomanysource/3/', 'name': 'source-3', 'targets': ['/manytomanytarget/1/', '/manytomanytarget/2/', '/manytomanytarget/3/']}, -            {'url': '/manytomanysource/4/', 'name': 'source-4', 'targets': ['/manytomanytarget/1/', '/manytomanytarget/3/']} +            {'url': 'http://testserver/manytomanysource/1/', 'name': 'source-1', 'targets': ['http://testserver/manytomanytarget/1/']}, +            {'url': 'http://testserver/manytomanysource/2/', 'name': 'source-2', 'targets': ['http://testserver/manytomanytarget/1/', 'http://testserver/manytomanytarget/2/']}, +            {'url': 'http://testserver/manytomanysource/3/', 'name': 'source-3', 'targets': ['http://testserver/manytomanytarget/1/', 'http://testserver/manytomanytarget/2/', 'http://testserver/manytomanytarget/3/']}, +            {'url': 'http://testserver/manytomanysource/4/', 'name': 'source-4', 'targets': ['http://testserver/manytomanytarget/1/', 'http://testserver/manytomanytarget/3/']}          ]          self.assertEquals(serializer.data, expected)      def test_reverse_many_to_many_create(self): -        data = {'url': '/manytomanytarget/4/', 'name': 'target-4', 'sources': ['/manytomanysource/1/', '/manytomanysource/3/']} -        serializer = ManyToManyTargetSerializer(data=data) +        data = {'url': 'http://testserver/manytomanytarget/4/', 'name': 'target-4', 'sources': ['http://testserver/manytomanysource/1/', 'http://testserver/manytomanysource/3/']} +        serializer = ManyToManyTargetSerializer(data=data, context={'request': request})          self.assertTrue(serializer.is_valid())          obj = serializer.save()          self.assertEquals(serializer.data, data) @@ -157,12 +164,12 @@ class HyperlinkedManyToManyTests(TestCase):          # Ensure target 4 is added, and everything else is as expected          queryset = ManyToManyTarget.objects.all() -        serializer = ManyToManyTargetSerializer(queryset) +        serializer = ManyToManyTargetSerializer(queryset, many=True, context={'request': request})          expected = [ -            {'url': '/manytomanytarget/1/', 'name': 'target-1', 'sources': ['/manytomanysource/1/', '/manytomanysource/2/', '/manytomanysource/3/']}, -            {'url': '/manytomanytarget/2/', 'name': 'target-2', 'sources': ['/manytomanysource/2/', '/manytomanysource/3/']}, -            {'url': '/manytomanytarget/3/', 'name': 'target-3', 'sources': ['/manytomanysource/3/']}, -            {'url': '/manytomanytarget/4/', 'name': 'target-4', 'sources': ['/manytomanysource/1/', '/manytomanysource/3/']} +            {'url': 'http://testserver/manytomanytarget/1/', 'name': 'target-1', 'sources': ['http://testserver/manytomanysource/1/', 'http://testserver/manytomanysource/2/', 'http://testserver/manytomanysource/3/']}, +            {'url': 'http://testserver/manytomanytarget/2/', 'name': 'target-2', 'sources': ['http://testserver/manytomanysource/2/', 'http://testserver/manytomanysource/3/']}, +            {'url': 'http://testserver/manytomanytarget/3/', 'name': 'target-3', 'sources': ['http://testserver/manytomanysource/3/']}, +            {'url': 'http://testserver/manytomanytarget/4/', 'name': 'target-4', 'sources': ['http://testserver/manytomanysource/1/', 'http://testserver/manytomanysource/3/']}          ]          self.assertEquals(serializer.data, expected) @@ -181,60 +188,60 @@ class HyperlinkedForeignKeyTests(TestCase):      def test_foreign_key_retrieve(self):          queryset = ForeignKeySource.objects.all() -        serializer = ForeignKeySourceSerializer(queryset) +        serializer = ForeignKeySourceSerializer(queryset, many=True, context={'request': request})          expected = [ -            {'url': '/foreignkeysource/1/', 'name': 'source-1', 'target': '/foreignkeytarget/1/'}, -            {'url': '/foreignkeysource/2/', 'name': 'source-2', 'target': '/foreignkeytarget/1/'}, -            {'url': '/foreignkeysource/3/', 'name': 'source-3', 'target': '/foreignkeytarget/1/'} +            {'url': 'http://testserver/foreignkeysource/1/', 'name': 'source-1', 'target': 'http://testserver/foreignkeytarget/1/'}, +            {'url': 'http://testserver/foreignkeysource/2/', 'name': 'source-2', 'target': 'http://testserver/foreignkeytarget/1/'}, +            {'url': 'http://testserver/foreignkeysource/3/', 'name': 'source-3', 'target': 'http://testserver/foreignkeytarget/1/'}          ]          self.assertEquals(serializer.data, expected)      def test_reverse_foreign_key_retrieve(self):          queryset = ForeignKeyTarget.objects.all() -        serializer = ForeignKeyTargetSerializer(queryset) +        serializer = ForeignKeyTargetSerializer(queryset, many=True, context={'request': request})          expected = [ -            {'url': '/foreignkeytarget/1/', 'name': 'target-1', 'sources': ['/foreignkeysource/1/', '/foreignkeysource/2/', '/foreignkeysource/3/']}, -            {'url': '/foreignkeytarget/2/', 'name': 'target-2', 'sources': []}, +            {'url': 'http://testserver/foreignkeytarget/1/', 'name': 'target-1', 'sources': ['http://testserver/foreignkeysource/1/', 'http://testserver/foreignkeysource/2/', 'http://testserver/foreignkeysource/3/']}, +            {'url': 'http://testserver/foreignkeytarget/2/', 'name': 'target-2', 'sources': []},          ]          self.assertEquals(serializer.data, expected)      def test_foreign_key_update(self): -        data = {'url': '/foreignkeysource/1/', 'name': 'source-1', 'target': '/foreignkeytarget/2/'} +        data = {'url': 'http://testserver/foreignkeysource/1/', 'name': 'source-1', 'target': 'http://testserver/foreignkeytarget/2/'}          instance = ForeignKeySource.objects.get(pk=1) -        serializer = ForeignKeySourceSerializer(instance, data=data) +        serializer = ForeignKeySourceSerializer(instance, data=data, context={'request': request})          self.assertTrue(serializer.is_valid())          self.assertEquals(serializer.data, data)          serializer.save()          # Ensure source 1 is updated, and everything else is as expected          queryset = ForeignKeySource.objects.all() -        serializer = ForeignKeySourceSerializer(queryset) +        serializer = ForeignKeySourceSerializer(queryset, many=True, context={'request': request})          expected = [ -            {'url': '/foreignkeysource/1/', 'name': 'source-1', 'target': '/foreignkeytarget/2/'}, -            {'url': '/foreignkeysource/2/', 'name': 'source-2', 'target': '/foreignkeytarget/1/'}, -            {'url': '/foreignkeysource/3/', 'name': 'source-3', 'target': '/foreignkeytarget/1/'} +            {'url': 'http://testserver/foreignkeysource/1/', 'name': 'source-1', 'target': 'http://testserver/foreignkeytarget/2/'}, +            {'url': 'http://testserver/foreignkeysource/2/', 'name': 'source-2', 'target': 'http://testserver/foreignkeytarget/1/'}, +            {'url': 'http://testserver/foreignkeysource/3/', 'name': 'source-3', 'target': 'http://testserver/foreignkeytarget/1/'}          ]          self.assertEquals(serializer.data, expected)      def test_foreign_key_update_incorrect_type(self): -        data = {'url': '/foreignkeysource/1/', 'name': 'source-1', 'target': 2} +        data = {'url': 'http://testserver/foreignkeysource/1/', 'name': 'source-1', 'target': 2}          instance = ForeignKeySource.objects.get(pk=1) -        serializer = ForeignKeySourceSerializer(instance, data=data) +        serializer = ForeignKeySourceSerializer(instance, data=data, context={'request': request})          self.assertFalse(serializer.is_valid())          self.assertEquals(serializer.errors, {'target': ['Incorrect type.  Expected url string, received int.']})      def test_reverse_foreign_key_update(self): -        data = {'url': '/foreignkeytarget/2/', 'name': 'target-2', 'sources': ['/foreignkeysource/1/', '/foreignkeysource/3/']} +        data = {'url': 'http://testserver/foreignkeytarget/2/', 'name': 'target-2', 'sources': ['http://testserver/foreignkeysource/1/', 'http://testserver/foreignkeysource/3/']}          instance = ForeignKeyTarget.objects.get(pk=2) -        serializer = ForeignKeyTargetSerializer(instance, data=data) +        serializer = ForeignKeyTargetSerializer(instance, data=data, context={'request': request})          self.assertTrue(serializer.is_valid())          # We shouldn't have saved anything to the db yet since save          # hasn't been called.          queryset = ForeignKeyTarget.objects.all() -        new_serializer = ForeignKeyTargetSerializer(queryset) +        new_serializer = ForeignKeyTargetSerializer(queryset, many=True, context={'request': request})          expected = [ -            {'url': '/foreignkeytarget/1/', 'name': 'target-1', 'sources': ['/foreignkeysource/1/', '/foreignkeysource/2/', '/foreignkeysource/3/']}, -            {'url': '/foreignkeytarget/2/', 'name': 'target-2', 'sources': []}, +            {'url': 'http://testserver/foreignkeytarget/1/', 'name': 'target-1', 'sources': ['http://testserver/foreignkeysource/1/', 'http://testserver/foreignkeysource/2/', 'http://testserver/foreignkeysource/3/']}, +            {'url': 'http://testserver/foreignkeytarget/2/', 'name': 'target-2', 'sources': []},          ]          self.assertEquals(new_serializer.data, expected) @@ -243,16 +250,16 @@ class HyperlinkedForeignKeyTests(TestCase):          # Ensure target 2 is update, and everything else is as expected          queryset = ForeignKeyTarget.objects.all() -        serializer = ForeignKeyTargetSerializer(queryset) +        serializer = ForeignKeyTargetSerializer(queryset, many=True, context={'request': request})          expected = [ -            {'url': '/foreignkeytarget/1/', 'name': 'target-1', 'sources': ['/foreignkeysource/2/']}, -            {'url': '/foreignkeytarget/2/', 'name': 'target-2', 'sources': ['/foreignkeysource/1/', '/foreignkeysource/3/']}, +            {'url': 'http://testserver/foreignkeytarget/1/', 'name': 'target-1', 'sources': ['http://testserver/foreignkeysource/2/']}, +            {'url': 'http://testserver/foreignkeytarget/2/', 'name': 'target-2', 'sources': ['http://testserver/foreignkeysource/1/', 'http://testserver/foreignkeysource/3/']},          ]          self.assertEquals(serializer.data, expected)      def test_foreign_key_create(self): -        data = {'url': '/foreignkeysource/4/', 'name': 'source-4', 'target': '/foreignkeytarget/2/'} -        serializer = ForeignKeySourceSerializer(data=data) +        data = {'url': 'http://testserver/foreignkeysource/4/', 'name': 'source-4', 'target': 'http://testserver/foreignkeytarget/2/'} +        serializer = ForeignKeySourceSerializer(data=data, context={'request': request})          self.assertTrue(serializer.is_valid())          obj = serializer.save()          self.assertEquals(serializer.data, data) @@ -260,18 +267,18 @@ class HyperlinkedForeignKeyTests(TestCase):          # Ensure source 1 is updated, and everything else is as expected          queryset = ForeignKeySource.objects.all() -        serializer = ForeignKeySourceSerializer(queryset) +        serializer = ForeignKeySourceSerializer(queryset, many=True, context={'request': request})          expected = [ -            {'url': '/foreignkeysource/1/', 'name': 'source-1', 'target': '/foreignkeytarget/1/'}, -            {'url': '/foreignkeysource/2/', 'name': 'source-2', 'target': '/foreignkeytarget/1/'}, -            {'url': '/foreignkeysource/3/', 'name': 'source-3', 'target': '/foreignkeytarget/1/'}, -            {'url': '/foreignkeysource/4/', 'name': 'source-4', 'target': '/foreignkeytarget/2/'}, +            {'url': 'http://testserver/foreignkeysource/1/', 'name': 'source-1', 'target': 'http://testserver/foreignkeytarget/1/'}, +            {'url': 'http://testserver/foreignkeysource/2/', 'name': 'source-2', 'target': 'http://testserver/foreignkeytarget/1/'}, +            {'url': 'http://testserver/foreignkeysource/3/', 'name': 'source-3', 'target': 'http://testserver/foreignkeytarget/1/'}, +            {'url': 'http://testserver/foreignkeysource/4/', 'name': 'source-4', 'target': 'http://testserver/foreignkeytarget/2/'},          ]          self.assertEquals(serializer.data, expected)      def test_reverse_foreign_key_create(self): -        data = {'url': '/foreignkeytarget/3/', 'name': 'target-3', 'sources': ['/foreignkeysource/1/', '/foreignkeysource/3/']} -        serializer = ForeignKeyTargetSerializer(data=data) +        data = {'url': 'http://testserver/foreignkeytarget/3/', 'name': 'target-3', 'sources': ['http://testserver/foreignkeysource/1/', 'http://testserver/foreignkeysource/3/']} +        serializer = ForeignKeyTargetSerializer(data=data, context={'request': request})          self.assertTrue(serializer.is_valid())          obj = serializer.save()          self.assertEquals(serializer.data, data) @@ -279,18 +286,18 @@ class HyperlinkedForeignKeyTests(TestCase):          # Ensure target 4 is added, and everything else is as expected          queryset = ForeignKeyTarget.objects.all() -        serializer = ForeignKeyTargetSerializer(queryset) +        serializer = ForeignKeyTargetSerializer(queryset, many=True, context={'request': request})          expected = [ -            {'url': '/foreignkeytarget/1/', 'name': 'target-1', 'sources': ['/foreignkeysource/2/']}, -            {'url': '/foreignkeytarget/2/', 'name': 'target-2', 'sources': []}, -            {'url': '/foreignkeytarget/3/', 'name': 'target-3', 'sources': ['/foreignkeysource/1/', '/foreignkeysource/3/']}, +            {'url': 'http://testserver/foreignkeytarget/1/', 'name': 'target-1', 'sources': ['http://testserver/foreignkeysource/2/']}, +            {'url': 'http://testserver/foreignkeytarget/2/', 'name': 'target-2', 'sources': []}, +            {'url': 'http://testserver/foreignkeytarget/3/', 'name': 'target-3', 'sources': ['http://testserver/foreignkeysource/1/', 'http://testserver/foreignkeysource/3/']},          ]          self.assertEquals(serializer.data, expected)      def test_foreign_key_update_with_invalid_null(self): -        data = {'url': '/foreignkeysource/1/', 'name': 'source-1', 'target': None} +        data = {'url': 'http://testserver/foreignkeysource/1/', 'name': 'source-1', 'target': None}          instance = ForeignKeySource.objects.get(pk=1) -        serializer = ForeignKeySourceSerializer(instance, data=data) +        serializer = ForeignKeySourceSerializer(instance, data=data, context={'request': request})          self.assertFalse(serializer.is_valid())          self.assertEquals(serializer.errors, {'target': ['This field is required.']}) @@ -309,17 +316,17 @@ class HyperlinkedNullableForeignKeyTests(TestCase):      def test_foreign_key_retrieve_with_null(self):          queryset = NullableForeignKeySource.objects.all() -        serializer = NullableForeignKeySourceSerializer(queryset) +        serializer = NullableForeignKeySourceSerializer(queryset, many=True, context={'request': request})          expected = [ -            {'url': '/nullableforeignkeysource/1/', 'name': 'source-1', 'target': '/foreignkeytarget/1/'}, -            {'url': '/nullableforeignkeysource/2/', 'name': 'source-2', 'target': '/foreignkeytarget/1/'}, -            {'url': '/nullableforeignkeysource/3/', 'name': 'source-3', 'target': None}, +            {'url': 'http://testserver/nullableforeignkeysource/1/', 'name': 'source-1', 'target': 'http://testserver/foreignkeytarget/1/'}, +            {'url': 'http://testserver/nullableforeignkeysource/2/', 'name': 'source-2', 'target': 'http://testserver/foreignkeytarget/1/'}, +            {'url': 'http://testserver/nullableforeignkeysource/3/', 'name': 'source-3', 'target': None},          ]          self.assertEquals(serializer.data, expected)      def test_foreign_key_create_with_valid_null(self): -        data = {'url': '/nullableforeignkeysource/4/', 'name': 'source-4', 'target': None} -        serializer = NullableForeignKeySourceSerializer(data=data) +        data = {'url': 'http://testserver/nullableforeignkeysource/4/', 'name': 'source-4', 'target': None} +        serializer = NullableForeignKeySourceSerializer(data=data, context={'request': request})          self.assertTrue(serializer.is_valid())          obj = serializer.save()          self.assertEquals(serializer.data, data) @@ -327,12 +334,12 @@ class HyperlinkedNullableForeignKeyTests(TestCase):          # Ensure source 4 is created, and everything else is as expected          queryset = NullableForeignKeySource.objects.all() -        serializer = NullableForeignKeySourceSerializer(queryset) +        serializer = NullableForeignKeySourceSerializer(queryset, many=True, context={'request': request})          expected = [ -            {'url': '/nullableforeignkeysource/1/', 'name': 'source-1', 'target': '/foreignkeytarget/1/'}, -            {'url': '/nullableforeignkeysource/2/', 'name': 'source-2', 'target': '/foreignkeytarget/1/'}, -            {'url': '/nullableforeignkeysource/3/', 'name': 'source-3', 'target': None}, -            {'url': '/nullableforeignkeysource/4/', 'name': 'source-4', 'target': None} +            {'url': 'http://testserver/nullableforeignkeysource/1/', 'name': 'source-1', 'target': 'http://testserver/foreignkeytarget/1/'}, +            {'url': 'http://testserver/nullableforeignkeysource/2/', 'name': 'source-2', 'target': 'http://testserver/foreignkeytarget/1/'}, +            {'url': 'http://testserver/nullableforeignkeysource/3/', 'name': 'source-3', 'target': None}, +            {'url': 'http://testserver/nullableforeignkeysource/4/', 'name': 'source-4', 'target': None}          ]          self.assertEquals(serializer.data, expected) @@ -341,9 +348,9 @@ class HyperlinkedNullableForeignKeyTests(TestCase):          The emptystring should be interpreted as null in the context          of relationships.          """ -        data = {'url': '/nullableforeignkeysource/4/', 'name': 'source-4', 'target': ''} -        expected_data = {'url': '/nullableforeignkeysource/4/', 'name': 'source-4', 'target': None} -        serializer = NullableForeignKeySourceSerializer(data=data) +        data = {'url': 'http://testserver/nullableforeignkeysource/4/', 'name': 'source-4', 'target': ''} +        expected_data = {'url': 'http://testserver/nullableforeignkeysource/4/', 'name': 'source-4', 'target': None} +        serializer = NullableForeignKeySourceSerializer(data=data, context={'request': request})          self.assertTrue(serializer.is_valid())          obj = serializer.save()          self.assertEquals(serializer.data, expected_data) @@ -351,30 +358,30 @@ class HyperlinkedNullableForeignKeyTests(TestCase):          # Ensure source 4 is created, and everything else is as expected          queryset = NullableForeignKeySource.objects.all() -        serializer = NullableForeignKeySourceSerializer(queryset) +        serializer = NullableForeignKeySourceSerializer(queryset, many=True, context={'request': request})          expected = [ -            {'url': '/nullableforeignkeysource/1/', 'name': 'source-1', 'target': '/foreignkeytarget/1/'}, -            {'url': '/nullableforeignkeysource/2/', 'name': 'source-2', 'target': '/foreignkeytarget/1/'}, -            {'url': '/nullableforeignkeysource/3/', 'name': 'source-3', 'target': None}, -            {'url': '/nullableforeignkeysource/4/', 'name': 'source-4', 'target': None} +            {'url': 'http://testserver/nullableforeignkeysource/1/', 'name': 'source-1', 'target': 'http://testserver/foreignkeytarget/1/'}, +            {'url': 'http://testserver/nullableforeignkeysource/2/', 'name': 'source-2', 'target': 'http://testserver/foreignkeytarget/1/'}, +            {'url': 'http://testserver/nullableforeignkeysource/3/', 'name': 'source-3', 'target': None}, +            {'url': 'http://testserver/nullableforeignkeysource/4/', 'name': 'source-4', 'target': None}          ]          self.assertEquals(serializer.data, expected)      def test_foreign_key_update_with_valid_null(self): -        data = {'url': '/nullableforeignkeysource/1/', 'name': 'source-1', 'target': None} +        data = {'url': 'http://testserver/nullableforeignkeysource/1/', 'name': 'source-1', 'target': None}          instance = NullableForeignKeySource.objects.get(pk=1) -        serializer = NullableForeignKeySourceSerializer(instance, data=data) +        serializer = NullableForeignKeySourceSerializer(instance, data=data, context={'request': request})          self.assertTrue(serializer.is_valid())          self.assertEquals(serializer.data, data)          serializer.save()          # Ensure source 1 is updated, and everything else is as expected          queryset = NullableForeignKeySource.objects.all() -        serializer = NullableForeignKeySourceSerializer(queryset) +        serializer = NullableForeignKeySourceSerializer(queryset, many=True, context={'request': request})          expected = [ -            {'url': '/nullableforeignkeysource/1/', 'name': 'source-1', 'target': None}, -            {'url': '/nullableforeignkeysource/2/', 'name': 'source-2', 'target': '/foreignkeytarget/1/'}, -            {'url': '/nullableforeignkeysource/3/', 'name': 'source-3', 'target': None}, +            {'url': 'http://testserver/nullableforeignkeysource/1/', 'name': 'source-1', 'target': None}, +            {'url': 'http://testserver/nullableforeignkeysource/2/', 'name': 'source-2', 'target': 'http://testserver/foreignkeytarget/1/'}, +            {'url': 'http://testserver/nullableforeignkeysource/3/', 'name': 'source-3', 'target': None},          ]          self.assertEquals(serializer.data, expected) @@ -383,21 +390,21 @@ class HyperlinkedNullableForeignKeyTests(TestCase):          The emptystring should be interpreted as null in the context          of relationships.          """ -        data = {'url': '/nullableforeignkeysource/1/', 'name': 'source-1', 'target': ''} -        expected_data = {'url': '/nullableforeignkeysource/1/', 'name': 'source-1', 'target': None} +        data = {'url': 'http://testserver/nullableforeignkeysource/1/', 'name': 'source-1', 'target': ''} +        expected_data = {'url': 'http://testserver/nullableforeignkeysource/1/', 'name': 'source-1', 'target': None}          instance = NullableForeignKeySource.objects.get(pk=1) -        serializer = NullableForeignKeySourceSerializer(instance, data=data) +        serializer = NullableForeignKeySourceSerializer(instance, data=data, context={'request': request})          self.assertTrue(serializer.is_valid())          self.assertEquals(serializer.data, expected_data)          serializer.save()          # Ensure source 1 is updated, and everything else is as expected          queryset = NullableForeignKeySource.objects.all() -        serializer = NullableForeignKeySourceSerializer(queryset) +        serializer = NullableForeignKeySourceSerializer(queryset, many=True, context={'request': request})          expected = [ -            {'url': '/nullableforeignkeysource/1/', 'name': 'source-1', 'target': None}, -            {'url': '/nullableforeignkeysource/2/', 'name': 'source-2', 'target': '/foreignkeytarget/1/'}, -            {'url': '/nullableforeignkeysource/3/', 'name': 'source-3', 'target': None}, +            {'url': 'http://testserver/nullableforeignkeysource/1/', 'name': 'source-1', 'target': None}, +            {'url': 'http://testserver/nullableforeignkeysource/2/', 'name': 'source-2', 'target': 'http://testserver/foreignkeytarget/1/'}, +            {'url': 'http://testserver/nullableforeignkeysource/3/', 'name': 'source-3', 'target': None},          ]          self.assertEquals(serializer.data, expected) @@ -415,7 +422,7 @@ class HyperlinkedNullableForeignKeyTests(TestCase):      #     # Ensure target 1 is updated, and everything else is as expected      #     queryset = ForeignKeyTarget.objects.all() -    #     serializer = ForeignKeyTargetSerializer(queryset) +    #     serializer = ForeignKeyTargetSerializer(queryset, many=True)      #     expected = [      #         {'id': 1, 'name': 'target-1', 'sources': [1]},      #         {'id': 2, 'name': 'target-2', 'sources': []}, @@ -436,9 +443,9 @@ class HyperlinkedNullableOneToOneTests(TestCase):      def test_reverse_foreign_key_retrieve_with_null(self):          queryset = OneToOneTarget.objects.all() -        serializer = NullableOneToOneTargetSerializer(queryset) +        serializer = NullableOneToOneTargetSerializer(queryset, many=True, context={'request': request})          expected = [ -            {'url': '/onetoonetarget/1/', 'name': 'target-1', 'nullable_source': '/nullableonetoonesource/1/'}, -            {'url': '/onetoonetarget/2/', 'name': 'target-2', 'nullable_source': None}, +            {'url': 'http://testserver/onetoonetarget/1/', 'name': 'target-1', 'nullable_source': 'http://testserver/nullableonetoonesource/1/'}, +            {'url': 'http://testserver/onetoonetarget/2/', 'name': 'target-2', 'nullable_source': None},          ]          self.assertEquals(serializer.data, expected) diff --git a/rest_framework/tests/relations_nested.py b/rest_framework/tests/relations_nested.py index 6f42dd5d..563d1d4d 100644 --- a/rest_framework/tests/relations_nested.py +++ b/rest_framework/tests/relations_nested.py @@ -52,7 +52,7 @@ class ReverseForeignKeyTests(TestCase):      def test_foreign_key_retrieve(self):          queryset = ForeignKeySource.objects.all() -        serializer = ForeignKeySourceSerializer(queryset) +        serializer = ForeignKeySourceSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'source-1', 'target': {'id': 1, 'name': 'target-1'}},              {'id': 2, 'name': 'source-2', 'target': {'id': 1, 'name': 'target-1'}}, @@ -62,7 +62,7 @@ class ReverseForeignKeyTests(TestCase):      def test_reverse_foreign_key_retrieve(self):          queryset = ForeignKeyTarget.objects.all() -        serializer = ForeignKeyTargetSerializer(queryset) +        serializer = ForeignKeyTargetSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'target-1', 'sources': [                  {'id': 1, 'name': 'source-1', 'target': 1}, @@ -87,7 +87,7 @@ class NestedNullableForeignKeyTests(TestCase):      def test_foreign_key_retrieve_with_null(self):          queryset = NullableForeignKeySource.objects.all() -        serializer = NullableForeignKeySourceSerializer(queryset) +        serializer = NullableForeignKeySourceSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'source-1', 'target': {'id': 1, 'name': 'target-1'}},              {'id': 2, 'name': 'source-2', 'target': {'id': 1, 'name': 'target-1'}}, @@ -107,7 +107,7 @@ class NestedNullableOneToOneTests(TestCase):      def test_reverse_foreign_key_retrieve_with_null(self):          queryset = OneToOneTarget.objects.all() -        serializer = NullableOneToOneTargetSerializer(queryset) +        serializer = NullableOneToOneTargetSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'target-1', 'nullable_source': {'id': 1, 'name': 'source-1', 'target': 1}},              {'id': 2, 'name': 'target-2', 'nullable_source': None}, diff --git a/rest_framework/tests/relations_pk.py b/rest_framework/tests/relations_pk.py index b8166d68..130e9093 100644 --- a/rest_framework/tests/relations_pk.py +++ b/rest_framework/tests/relations_pk.py @@ -55,7 +55,7 @@ class PKManyToManyTests(TestCase):      def test_many_to_many_retrieve(self):          queryset = ManyToManySource.objects.all() -        serializer = ManyToManySourceSerializer(queryset) +        serializer = ManyToManySourceSerializer(queryset, many=True)          expected = [                  {'id': 1, 'name': 'source-1', 'targets': [1]},                  {'id': 2, 'name': 'source-2', 'targets': [1, 2]}, @@ -65,7 +65,7 @@ class PKManyToManyTests(TestCase):      def test_reverse_many_to_many_retrieve(self):          queryset = ManyToManyTarget.objects.all() -        serializer = ManyToManyTargetSerializer(queryset) +        serializer = ManyToManyTargetSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'target-1', 'sources': [1, 2, 3]},              {'id': 2, 'name': 'target-2', 'sources': [2, 3]}, @@ -83,7 +83,7 @@ class PKManyToManyTests(TestCase):          # Ensure source 1 is updated, and everything else is as expected          queryset = ManyToManySource.objects.all() -        serializer = ManyToManySourceSerializer(queryset) +        serializer = ManyToManySourceSerializer(queryset, many=True)          expected = [                  {'id': 1, 'name': 'source-1', 'targets': [1, 2, 3]},                  {'id': 2, 'name': 'source-2', 'targets': [1, 2]}, @@ -101,7 +101,7 @@ class PKManyToManyTests(TestCase):          # Ensure target 1 is updated, and everything else is as expected          queryset = ManyToManyTarget.objects.all() -        serializer = ManyToManyTargetSerializer(queryset) +        serializer = ManyToManyTargetSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'target-1', 'sources': [1]},              {'id': 2, 'name': 'target-2', 'sources': [2, 3]}, @@ -119,7 +119,7 @@ class PKManyToManyTests(TestCase):          # Ensure source 4 is added, and everything else is as expected          queryset = ManyToManySource.objects.all() -        serializer = ManyToManySourceSerializer(queryset) +        serializer = ManyToManySourceSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'source-1', 'targets': [1]},              {'id': 2, 'name': 'source-2', 'targets': [1, 2]}, @@ -138,7 +138,7 @@ class PKManyToManyTests(TestCase):          # Ensure target 4 is added, and everything else is as expected          queryset = ManyToManyTarget.objects.all() -        serializer = ManyToManyTargetSerializer(queryset) +        serializer = ManyToManyTargetSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'target-1', 'sources': [1, 2, 3]},              {'id': 2, 'name': 'target-2', 'sources': [2, 3]}, @@ -160,7 +160,7 @@ class PKForeignKeyTests(TestCase):      def test_foreign_key_retrieve(self):          queryset = ForeignKeySource.objects.all() -        serializer = ForeignKeySourceSerializer(queryset) +        serializer = ForeignKeySourceSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'source-1', 'target': 1},              {'id': 2, 'name': 'source-2', 'target': 1}, @@ -170,7 +170,7 @@ class PKForeignKeyTests(TestCase):      def test_reverse_foreign_key_retrieve(self):          queryset = ForeignKeyTarget.objects.all() -        serializer = ForeignKeyTargetSerializer(queryset) +        serializer = ForeignKeyTargetSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'target-1', 'sources': [1, 2, 3]},              {'id': 2, 'name': 'target-2', 'sources': []}, @@ -187,7 +187,7 @@ class PKForeignKeyTests(TestCase):          # Ensure source 1 is updated, and everything else is as expected          queryset = ForeignKeySource.objects.all() -        serializer = ForeignKeySourceSerializer(queryset) +        serializer = ForeignKeySourceSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'source-1', 'target': 2},              {'id': 2, 'name': 'source-2', 'target': 1}, @@ -210,7 +210,7 @@ class PKForeignKeyTests(TestCase):          # We shouldn't have saved anything to the db yet since save          # hasn't been called.          queryset = ForeignKeyTarget.objects.all() -        new_serializer = ForeignKeyTargetSerializer(queryset) +        new_serializer = ForeignKeyTargetSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'target-1', 'sources': [1, 2, 3]},              {'id': 2, 'name': 'target-2', 'sources': []}, @@ -222,7 +222,7 @@ class PKForeignKeyTests(TestCase):          # Ensure target 2 is update, and everything else is as expected          queryset = ForeignKeyTarget.objects.all() -        serializer = ForeignKeyTargetSerializer(queryset) +        serializer = ForeignKeyTargetSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'target-1', 'sources': [2]},              {'id': 2, 'name': 'target-2', 'sources': [1, 3]}, @@ -239,7 +239,7 @@ class PKForeignKeyTests(TestCase):          # Ensure source 4 is added, and everything else is as expected          queryset = ForeignKeySource.objects.all() -        serializer = ForeignKeySourceSerializer(queryset) +        serializer = ForeignKeySourceSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'source-1', 'target': 1},              {'id': 2, 'name': 'source-2', 'target': 1}, @@ -258,7 +258,7 @@ class PKForeignKeyTests(TestCase):          # Ensure target 3 is added, and everything else is as expected          queryset = ForeignKeyTarget.objects.all() -        serializer = ForeignKeyTargetSerializer(queryset) +        serializer = ForeignKeyTargetSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'target-1', 'sources': [2]},              {'id': 2, 'name': 'target-2', 'sources': []}, @@ -286,7 +286,7 @@ class PKNullableForeignKeyTests(TestCase):      def test_foreign_key_retrieve_with_null(self):          queryset = NullableForeignKeySource.objects.all() -        serializer = NullableForeignKeySourceSerializer(queryset) +        serializer = NullableForeignKeySourceSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'source-1', 'target': 1},              {'id': 2, 'name': 'source-2', 'target': 1}, @@ -304,7 +304,7 @@ class PKNullableForeignKeyTests(TestCase):          # Ensure source 4 is created, and everything else is as expected          queryset = NullableForeignKeySource.objects.all() -        serializer = NullableForeignKeySourceSerializer(queryset) +        serializer = NullableForeignKeySourceSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'source-1', 'target': 1},              {'id': 2, 'name': 'source-2', 'target': 1}, @@ -328,7 +328,7 @@ class PKNullableForeignKeyTests(TestCase):          # Ensure source 4 is created, and everything else is as expected          queryset = NullableForeignKeySource.objects.all() -        serializer = NullableForeignKeySourceSerializer(queryset) +        serializer = NullableForeignKeySourceSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'source-1', 'target': 1},              {'id': 2, 'name': 'source-2', 'target': 1}, @@ -347,7 +347,7 @@ class PKNullableForeignKeyTests(TestCase):          # Ensure source 1 is updated, and everything else is as expected          queryset = NullableForeignKeySource.objects.all() -        serializer = NullableForeignKeySourceSerializer(queryset) +        serializer = NullableForeignKeySourceSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'source-1', 'target': None},              {'id': 2, 'name': 'source-2', 'target': 1}, @@ -370,7 +370,7 @@ class PKNullableForeignKeyTests(TestCase):          # Ensure source 1 is updated, and everything else is as expected          queryset = NullableForeignKeySource.objects.all() -        serializer = NullableForeignKeySourceSerializer(queryset) +        serializer = NullableForeignKeySourceSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'source-1', 'target': None},              {'id': 2, 'name': 'source-2', 'target': 1}, @@ -392,7 +392,7 @@ class PKNullableForeignKeyTests(TestCase):      #     # Ensure target 1 is updated, and everything else is as expected      #     queryset = ForeignKeyTarget.objects.all() -    #     serializer = ForeignKeyTargetSerializer(queryset) +    #     serializer = ForeignKeyTargetSerializer(queryset, many=True)      #     expected = [      #         {'id': 1, 'name': 'target-1', 'sources': [1]},      #         {'id': 2, 'name': 'target-2', 'sources': []}, @@ -411,7 +411,7 @@ class PKNullableOneToOneTests(TestCase):      def test_reverse_foreign_key_retrieve_with_null(self):          queryset = OneToOneTarget.objects.all() -        serializer = NullableOneToOneTargetSerializer(queryset) +        serializer = NullableOneToOneTargetSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'target-1', 'nullable_source': 1},              {'id': 2, 'name': 'target-2', 'nullable_source': None}, diff --git a/rest_framework/tests/relations_slug.py b/rest_framework/tests/relations_slug.py index a325f6ea..65d226b1 100644 --- a/rest_framework/tests/relations_slug.py +++ b/rest_framework/tests/relations_slug.py @@ -37,7 +37,7 @@ class PKForeignKeyTests(TestCase):      def test_foreign_key_retrieve(self):          queryset = ForeignKeySource.objects.all() -        serializer = ForeignKeySourceSerializer(queryset) +        serializer = ForeignKeySourceSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'source-1', 'target': 'target-1'},              {'id': 2, 'name': 'source-2', 'target': 'target-1'}, @@ -47,7 +47,7 @@ class PKForeignKeyTests(TestCase):      def test_reverse_foreign_key_retrieve(self):          queryset = ForeignKeyTarget.objects.all() -        serializer = ForeignKeyTargetSerializer(queryset) +        serializer = ForeignKeyTargetSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'target-1', 'sources': ['source-1', 'source-2', 'source-3']},              {'id': 2, 'name': 'target-2', 'sources': []}, @@ -64,7 +64,7 @@ class PKForeignKeyTests(TestCase):          # Ensure source 1 is updated, and everything else is as expected          queryset = ForeignKeySource.objects.all() -        serializer = ForeignKeySourceSerializer(queryset) +        serializer = ForeignKeySourceSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'source-1', 'target': 'target-2'},              {'id': 2, 'name': 'source-2', 'target': 'target-1'}, @@ -87,7 +87,7 @@ class PKForeignKeyTests(TestCase):          # We shouldn't have saved anything to the db yet since save          # hasn't been called.          queryset = ForeignKeyTarget.objects.all() -        new_serializer = ForeignKeyTargetSerializer(queryset) +        new_serializer = ForeignKeyTargetSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'target-1', 'sources': ['source-1', 'source-2', 'source-3']},              {'id': 2, 'name': 'target-2', 'sources': []}, @@ -99,7 +99,7 @@ class PKForeignKeyTests(TestCase):          # Ensure target 2 is update, and everything else is as expected          queryset = ForeignKeyTarget.objects.all() -        serializer = ForeignKeyTargetSerializer(queryset) +        serializer = ForeignKeyTargetSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'target-1', 'sources': ['source-2']},              {'id': 2, 'name': 'target-2', 'sources': ['source-1', 'source-3']}, @@ -117,7 +117,7 @@ class PKForeignKeyTests(TestCase):          # Ensure source 4 is added, and everything else is as expected          queryset = ForeignKeySource.objects.all() -        serializer = ForeignKeySourceSerializer(queryset) +        serializer = ForeignKeySourceSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'source-1', 'target': 'target-1'},              {'id': 2, 'name': 'source-2', 'target': 'target-1'}, @@ -136,7 +136,7 @@ class PKForeignKeyTests(TestCase):          # Ensure target 3 is added, and everything else is as expected          queryset = ForeignKeyTarget.objects.all() -        serializer = ForeignKeyTargetSerializer(queryset) +        serializer = ForeignKeyTargetSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'target-1', 'sources': ['source-2']},              {'id': 2, 'name': 'target-2', 'sources': []}, @@ -164,7 +164,7 @@ class SlugNullableForeignKeyTests(TestCase):      def test_foreign_key_retrieve_with_null(self):          queryset = NullableForeignKeySource.objects.all() -        serializer = NullableForeignKeySourceSerializer(queryset) +        serializer = NullableForeignKeySourceSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'source-1', 'target': 'target-1'},              {'id': 2, 'name': 'source-2', 'target': 'target-1'}, @@ -182,7 +182,7 @@ class SlugNullableForeignKeyTests(TestCase):          # Ensure source 4 is created, and everything else is as expected          queryset = NullableForeignKeySource.objects.all() -        serializer = NullableForeignKeySourceSerializer(queryset) +        serializer = NullableForeignKeySourceSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'source-1', 'target': 'target-1'},              {'id': 2, 'name': 'source-2', 'target': 'target-1'}, @@ -206,7 +206,7 @@ class SlugNullableForeignKeyTests(TestCase):          # Ensure source 4 is created, and everything else is as expected          queryset = NullableForeignKeySource.objects.all() -        serializer = NullableForeignKeySourceSerializer(queryset) +        serializer = NullableForeignKeySourceSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'source-1', 'target': 'target-1'},              {'id': 2, 'name': 'source-2', 'target': 'target-1'}, @@ -225,7 +225,7 @@ class SlugNullableForeignKeyTests(TestCase):          # Ensure source 1 is updated, and everything else is as expected          queryset = NullableForeignKeySource.objects.all() -        serializer = NullableForeignKeySourceSerializer(queryset) +        serializer = NullableForeignKeySourceSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'source-1', 'target': None},              {'id': 2, 'name': 'source-2', 'target': 'target-1'}, @@ -248,7 +248,7 @@ class SlugNullableForeignKeyTests(TestCase):          # Ensure source 1 is updated, and everything else is as expected          queryset = NullableForeignKeySource.objects.all() -        serializer = NullableForeignKeySourceSerializer(queryset) +        serializer = NullableForeignKeySourceSerializer(queryset, many=True)          expected = [              {'id': 1, 'name': 'source-1', 'target': None},              {'id': 2, 'name': 'source-2', 'target': 'target-1'}, diff --git a/rest_framework/tests/serializer.py b/rest_framework/tests/serializer.py index 19379552..f269d1a7 100644 --- a/rest_framework/tests/serializer.py +++ b/rest_framework/tests/serializer.py @@ -261,7 +261,7 @@ class ValidationTests(TestCase):          Data of the wrong type is not valid.          """          data = ['i am', 'a', 'list'] -        serializer = CommentSerializer(self.comment, data=data) +        serializer = CommentSerializer(self.comment, data=data, many=True)          self.assertEquals(serializer.is_valid(), False)          self.assertEquals(serializer.errors, {'non_field_errors': ['Invalid data']})  | 
