diff --git a/rest_framework/metadata.py b/rest_framework/metadata.py index 44dc584d2..105bcb35e 100644 --- a/rest_framework/metadata.py +++ b/rest_framework/metadata.py @@ -12,7 +12,7 @@ from django.core.exceptions import PermissionDenied from django.http import Http404 from django.utils.encoding import force_text -from rest_framework import exceptions +from rest_framework import exceptions, serializers from rest_framework.fields import ( BooleanField, CharField, ChoiceField, DateField, DateTimeField, DecimalField, DictField, EmailField, Field, FileField, FloatField, @@ -21,7 +21,6 @@ from rest_framework.fields import ( ) from rest_framework.relations import ManyRelatedField, RelatedField from rest_framework.request import clone_request -from rest_framework.serializers import Serializer from rest_framework.utils.field_mapping import ClassLookupDict @@ -62,7 +61,7 @@ class SimpleMetadata(BaseMetadata): ImageField: 'image upload', ListField: 'list', DictField: 'nested object', - Serializer: 'nested object', + serializers.Serializer: 'nested object', }) def determine_metadata(self, request, view): diff --git a/rest_framework/renderers.py b/rest_framework/renderers.py index 832924421..d24b368fd 100644 --- a/rest_framework/renderers.py +++ b/rest_framework/renderers.py @@ -17,7 +17,7 @@ from django.http.multipartparser import parse_header from django.template import Template, loader from django.test.client import encode_multipart -from rest_framework import VERSION, exceptions, status +from rest_framework import VERSION, exceptions, serializers, status from rest_framework.compat import ( INDENT_SEPARATORS, LONG_SEPARATORS, SHORT_SEPARATORS, coreapi, template_render @@ -32,7 +32,6 @@ from rest_framework.relations import ( ImproperlyConfigured, ManyRelatedField, RelatedField ) from rest_framework.request import is_form_media_type, override_method -from rest_framework.serializers import ListSerializer, Serializer from rest_framework.settings import api_settings from rest_framework.utils import encoders from rest_framework.utils.breadcrumbs import get_breadcrumbs @@ -322,10 +321,10 @@ class HTMLFormRenderer(BaseRenderer): 'base_template': 'select_multiple.html', # Also valid: 'checkbox_multiple.html' }, - Serializer: { + serializers.Serializer: { 'base_template': 'fieldset.html' }, - ListSerializer: { + serializers.ListSerializer: { 'base_template': 'list_fieldset.html' }, FilePathField: { diff --git a/rest_framework/response.py b/rest_framework/response.py index cb0f290ce..a777192dd 100644 --- a/rest_framework/response.py +++ b/rest_framework/response.py @@ -10,7 +10,7 @@ from django.template.response import SimpleTemplateResponse from django.utils import six from django.utils.six.moves.http_client import responses -from rest_framework.serializers import Serializer +from rest_framework import serializers class Response(SimpleTemplateResponse): @@ -31,7 +31,7 @@ class Response(SimpleTemplateResponse): """ super(Response, self).__init__(None, status=status) - if isinstance(data, Serializer): + if isinstance(data, serializers.Serializer): msg = ( 'You passed a Serializer instance as data, but ' 'probably meant to pass serialized `.data` or ' @@ -98,8 +98,8 @@ class Response(SimpleTemplateResponse): """ state = super(Response, self).__getstate__() for key in ( - 'accepted_renderer', 'renderer_context', 'resolver_match', - 'client', 'request', 'json', 'wsgi_request' + 'accepted_renderer', 'renderer_context', 'resolver_match', + 'client', 'request', 'json', 'wsgi_request' ): if key in state: del state[key] diff --git a/rest_framework/schemas.py b/rest_framework/schemas.py index c9ce3b76c..febfebe75 100644 --- a/rest_framework/schemas.py +++ b/rest_framework/schemas.py @@ -7,7 +7,7 @@ from django.conf import settings from django.contrib.admindocs.views import simplify_regex from django.utils.encoding import force_text, smart_text -from rest_framework import exceptions, renderers +from rest_framework import exceptions, renderers, serializers from rest_framework.compat import ( RegexURLPattern, RegexURLResolver, coreapi, uritemplate, urlparse ) @@ -18,7 +18,6 @@ from rest_framework.fields import ( from rest_framework.relations import ManyRelatedField from rest_framework.request import clone_request from rest_framework.response import Response -from rest_framework.serializers import ListSerializer, Serializer from rest_framework.settings import api_settings from rest_framework.utils import formatting from rest_framework.utils.field_mapping import ClassLookupDict @@ -36,8 +35,8 @@ types_lookup = ClassLookupDict({ FileField: 'file', MultipleChoiceField: 'array', ManyRelatedField: 'array', - Serializer: 'object', - ListSerializer: 'array' + serializers.Serializer: 'object', + serializers.ListSerializer: 'array' }) @@ -463,7 +462,7 @@ class SchemaGenerator(object): serializer = view.get_serializer() - if isinstance(serializer, ListSerializer): + if isinstance(serializer, serializers.ListSerializer): return [ coreapi.Field( name='data', @@ -473,7 +472,7 @@ class SchemaGenerator(object): ) ] - if not isinstance(serializer, Serializer): + if not isinstance(serializer, serializers.Serializer): return [] fields = [] diff --git a/tests/test_fields.py b/tests/test_fields.py index 5711f61ba..2210f76a4 100644 --- a/tests/test_fields.py +++ b/tests/test_fields.py @@ -11,6 +11,7 @@ from django.test import TestCase, override_settings from django.utils import timezone import rest_framework +from rest_framework import serializers from rest_framework.fields import ( BooleanField, CharField, ChoiceField, DateField, DateTimeField, DecimalField, DictField, DurationField, EmailField, Field, FileField, @@ -20,7 +21,6 @@ from rest_framework.fields import ( SkipField, SlugField, TimeField, URLField, UUIDField, ValidationError, is_simple_callable, six ) -from rest_framework.serializers import CreateOnlyDefault, Serializer try: import typings @@ -152,7 +152,7 @@ class TestEmpty: class TestSource: def test_source(self): - class ExampleSerializer(Serializer): + class ExampleSerializer(serializers.Serializer): example_field = CharField(source='other') serializer = ExampleSerializer(data={'example_field': 'abc'}) @@ -160,7 +160,7 @@ class TestSource: assert serializer.validated_data == {'other': 'abc'} def test_redundant_source(self): - class ExampleSerializer(Serializer): + class ExampleSerializer(serializers.Serializer): example_field = CharField(source='example_field') with pytest.raises(AssertionError) as exc_info: @@ -172,7 +172,7 @@ class TestSource: ) def test_callable_source(self): - class ExampleSerializer(Serializer): + class ExampleSerializer(serializers.Serializer): example_field = CharField(source='example_callable') class ExampleInstance(object): @@ -183,7 +183,7 @@ class TestSource: assert serializer.data['example_field'] == 'example callable value' def test_callable_source_raises(self): - class ExampleSerializer(Serializer): + class ExampleSerializer(serializers.Serializer): example_field = CharField(source='example_callable', read_only=True) @@ -200,7 +200,7 @@ class TestSource: class TestReadOnly: def setup(self): - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): read_only = ReadOnlyField() writable = IntegerField() @@ -226,7 +226,7 @@ class TestReadOnly: class TestWriteOnly: def setup(self): - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): write_only = IntegerField(write_only=True) readable = IntegerField() @@ -253,7 +253,7 @@ class TestWriteOnly: class TestInitial: def setup(self): - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): initial_field = IntegerField(initial=123) blank_field = IntegerField() @@ -274,7 +274,7 @@ class TestInitialWithCallable: def initial_value(): return 123 - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): initial_field = IntegerField(initial=initial_value) self.serializer = TestSerializer() @@ -290,7 +290,7 @@ class TestInitialWithCallable: class TestLabel: def setup(self): - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): labeled = IntegerField(label='My label') self.serializer = TestSerializer() @@ -332,7 +332,7 @@ class TestBooleanHTMLInput: as `False` by BooleanField. """ - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): archived = BooleanField() serializer = TestSerializer(data=QueryDict('')) @@ -345,7 +345,7 @@ class TestBooleanHTMLInput: as `False` by BooleanField, even if the field is required=False. """ - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): archived = BooleanField(required=False) serializer = TestSerializer(data=QueryDict('')) @@ -355,7 +355,7 @@ class TestBooleanHTMLInput: class TestHTMLInput: def test_empty_html_charfield_with_default(self): - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): message = CharField(default='happy') serializer = TestSerializer(data=QueryDict('')) @@ -363,7 +363,7 @@ class TestHTMLInput: assert serializer.validated_data == {'message': 'happy'} def test_empty_html_charfield_without_default(self): - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): message = CharField(allow_blank=True) serializer = TestSerializer(data=QueryDict('message=')) @@ -371,7 +371,7 @@ class TestHTMLInput: assert serializer.validated_data == {'message': ''} def test_empty_html_charfield_without_default_not_required(self): - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): message = CharField(allow_blank=True, required=False) serializer = TestSerializer(data=QueryDict('message=')) @@ -379,7 +379,7 @@ class TestHTMLInput: assert serializer.validated_data == {'message': ''} def test_empty_html_integerfield(self): - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): message = IntegerField(default=123) serializer = TestSerializer(data=QueryDict('message=')) @@ -387,7 +387,7 @@ class TestHTMLInput: assert serializer.validated_data == {'message': 123} def test_empty_html_uuidfield_with_default(self): - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): message = UUIDField(default=uuid.uuid4) serializer = TestSerializer(data=QueryDict('message=')) @@ -395,7 +395,7 @@ class TestHTMLInput: assert list(serializer.validated_data.keys()) == ['message'] def test_empty_html_uuidfield_with_optional(self): - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): message = UUIDField(required=False) serializer = TestSerializer(data=QueryDict('message=')) @@ -403,7 +403,7 @@ class TestHTMLInput: assert list(serializer.validated_data.keys()) == [] def test_empty_html_charfield_allow_null(self): - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): message = CharField(allow_null=True) serializer = TestSerializer(data=QueryDict('message=')) @@ -411,7 +411,7 @@ class TestHTMLInput: assert serializer.validated_data == {'message': None} def test_empty_html_datefield_allow_null(self): - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): expiry = DateField(allow_null=True) serializer = TestSerializer(data=QueryDict('expiry=')) @@ -419,7 +419,7 @@ class TestHTMLInput: assert serializer.validated_data == {'expiry': None} def test_empty_html_charfield_allow_null_allow_blank(self): - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): message = CharField(allow_null=True, allow_blank=True) serializer = TestSerializer(data=QueryDict('message=')) @@ -427,7 +427,7 @@ class TestHTMLInput: assert serializer.validated_data == {'message': ''} def test_empty_html_charfield_required_false(self): - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): message = CharField(required=False) serializer = TestSerializer(data=QueryDict('')) @@ -435,7 +435,7 @@ class TestHTMLInput: assert serializer.validated_data == {} def test_querydict_list_input(self): - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): scores = ListField(child=IntegerField()) serializer = TestSerializer(data=QueryDict('scores=1&scores=3')) @@ -443,7 +443,7 @@ class TestHTMLInput: assert serializer.validated_data == {'scores': [1, 3]} def test_querydict_list_input_only_one_input(self): - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): scores = ListField(child=IntegerField()) serializer = TestSerializer(data=QueryDict('scores=1&')) @@ -453,9 +453,9 @@ class TestHTMLInput: class TestCreateOnlyDefault: def setup(self): - default = CreateOnlyDefault('2001-01-01') + default = serializers.CreateOnlyDefault('2001-01-01') - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): published = HiddenField(default=default) text = CharField() @@ -491,9 +491,9 @@ class TestCreateOnlyDefault: def __call__(self): return "success" if hasattr(self, 'field') else "failure" - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): context_set = CharField( - default=CreateOnlyDefault(TestCallableDefault())) + default=serializers.CreateOnlyDefault(TestCallableDefault())) serializer = TestSerializer(data={}) assert serializer.is_valid() @@ -1855,7 +1855,7 @@ class TestJSONField(FieldValues): HTML inputs should be treated as a serialized JSON string. """ - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): config = JSONField() data = QueryDict(mutable=True) @@ -1907,7 +1907,7 @@ class TestFileFieldContext: class TestSerializerMethodField: def test_serializer_method_field(self): - class ExampleSerializer(Serializer): + class ExampleSerializer(serializers.Serializer): example_field = SerializerMethodField() def get_example_field(self, obj): @@ -1919,7 +1919,7 @@ class TestSerializerMethodField: } def test_redundant_method_name(self): - class ExampleSerializer(Serializer): + class ExampleSerializer(serializers.Serializer): example_field = SerializerMethodField('get_example_field') with pytest.raises(AssertionError) as exc_info: diff --git a/tests/test_metadata.py b/tests/test_metadata.py index f651f31c8..0e28340a7 100644 --- a/tests/test_metadata.py +++ b/tests/test_metadata.py @@ -4,14 +4,15 @@ from django.core.validators import MaxValueValidator, MinValueValidator from django.db import models from django.test import TestCase -from rest_framework import exceptions, metadata, status, versioning, views +from rest_framework import ( + exceptions, metadata, serializers, status, versioning, views +) from rest_framework.fields import ( CharField, ChoiceField, IntegerField, ListField, NullBooleanField ) from rest_framework.relations import PrimaryKeyRelatedField, RelatedField from rest_framework.renderers import BrowsableAPIRenderer from rest_framework.request import Request -from rest_framework.serializers import ModelSerializer, Serializer from rest_framework.test import APIRequestFactory from .models import BasicModel @@ -67,11 +68,11 @@ class TestMetadata: on the fields that may be supplied to PUT and POST requests. """ - class NestedField(Serializer): + class NestedField(serializers.Serializer): a = IntegerField() b = IntegerField() - class ExampleSerializer(Serializer): + class ExampleSerializer(serializers.Serializer): choice_field = ChoiceField(['red', 'green', 'blue']) integer_field = IntegerField( min_value=1, max_value=1000 @@ -187,7 +188,7 @@ class TestMetadata: metadata associated with it should not be included in OPTION responses. """ - class ExampleSerializer(Serializer): + class ExampleSerializer(serializers.Serializer): choice_field = ChoiceField(['red', 'green', 'blue']) integer_field = IntegerField(max_value=10) char_field = CharField(required=False) @@ -219,7 +220,7 @@ class TestMetadata: metadata associated with it should not be included in OPTION responses. """ - class ExampleSerializer(Serializer): + class ExampleSerializer(serializers.Serializer): choice_field = ChoiceField(['red', 'green', 'blue']) integer_field = IntegerField(max_value=10) char_field = CharField(required=False) @@ -254,7 +255,7 @@ class TestMetadata: def get_serializer(self): assert hasattr(self.request, 'version') - return Serializer() + return serializers.Serializer() view = ExampleView.as_view() view(request=request) @@ -268,7 +269,7 @@ class TestMetadata: def get_serializer(self): assert hasattr(self.request, 'versioning_scheme') - return Serializer() + return serializers.Serializer() scheme = versioning.QueryParameterVersioning view = ExampleView.as_view(versioning_class=scheme) @@ -308,7 +309,7 @@ class TestModelSerializerMetadata(TestCase): class Child(models.Model): name = models.CharField(max_length=100) - class ExampleSerializer(ModelSerializer): + class ExampleSerializer(serializers.ModelSerializer): children = PrimaryKeyRelatedField(read_only=True, many=True) class Meta: diff --git a/tests/test_relations_generic.py b/tests/test_relations_generic.py index 2617fe9d5..126ddd425 100644 --- a/tests/test_relations_generic.py +++ b/tests/test_relations_generic.py @@ -8,8 +8,8 @@ from django.db import models from django.test import TestCase from django.utils.encoding import python_2_unicode_compatible +from rest_framework import serializers from rest_framework.relations import StringRelatedField -from rest_framework.serializers import ModelSerializer @python_2_unicode_compatible @@ -65,7 +65,7 @@ class TestGenericRelations(TestCase): IE. A reverse generic relationship. """ - class BookmarkSerializer(ModelSerializer): + class BookmarkSerializer(serializers.ModelSerializer): tags = StringRelatedField(many=True) class Meta: @@ -85,7 +85,7 @@ class TestGenericRelations(TestCase): IE. A forward generic relationship. """ - class TagSerializer(ModelSerializer): + class TagSerializer(serializers.ModelSerializer): tagged_item = StringRelatedField() class Meta: diff --git a/tests/test_renderers.py b/tests/test_renderers.py index 662bebe16..8cc8b42dc 100644 --- a/tests/test_renderers.py +++ b/tests/test_renderers.py @@ -13,7 +13,7 @@ from django.utils import six from django.utils.safestring import SafeText from django.utils.translation import ugettext_lazy as _ -from rest_framework import permissions, status +from rest_framework import permissions, serializers, status from rest_framework.fields import ( CharField, ChoiceField, HiddenField, MultipleChoiceField, OrderedDict ) @@ -21,7 +21,6 @@ from rest_framework.renderers import ( BaseRenderer, BrowsableAPIRenderer, HTMLFormRenderer, JSONRenderer ) from rest_framework.response import Response -from rest_framework.serializers import Serializer from rest_framework.settings import api_settings from rest_framework.test import APIRequestFactory from rest_framework.views import APIView @@ -483,7 +482,7 @@ class TestJSONIndentationStyles: class TestHiddenFieldHTMLFormRenderer(TestCase): def test_hidden_field_rendering(self): - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): published = HiddenField(default=True) serializer = TestSerializer(data={}) @@ -496,7 +495,7 @@ class TestHiddenFieldHTMLFormRenderer(TestCase): class TestHTMLFormRenderer(TestCase): def setUp(self): - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): test_field = CharField() self.renderer = HTMLFormRenderer() @@ -527,7 +526,7 @@ class TestChoiceFieldHTMLFormRenderer(TestCase): def setUp(self): choices = ((1, 'Option1'), (2, 'Option2'), (12, 'Option12')) - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): test_field = ChoiceField(choices=choices, initial=2) @@ -571,7 +570,7 @@ class TestMultipleChoiceFieldHTMLFormRenderer(TestCase): choices = (('1', 'Option1'), ('2', 'Option2'), ('12', 'Option12'), ('}', 'OptionBrace')) - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): test_field = MultipleChoiceField(choices=choices) serializer = TestSerializer(data={'test_field': ['12']}) @@ -590,7 +589,7 @@ class TestMultipleChoiceFieldHTMLFormRenderer(TestCase): def test_render_selected_option_with_integer_option_ids(self): choices = ((1, 'Option1'), (2, 'Option2'), (12, 'Option12')) - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): test_field = MultipleChoiceField(choices=choices) serializer = TestSerializer(data={'test_field': ['12']}) diff --git a/tests/test_serializer.py b/tests/test_serializer.py index d38bc5512..a9d08517d 100644 --- a/tests/test_serializer.py +++ b/tests/test_serializer.py @@ -6,11 +6,11 @@ import re import pytest +from rest_framework import serializers from rest_framework.compat import unicode_repr from rest_framework.fields import ( CharField, IntegerField, RegexField, ValidationError ) -from rest_framework.serializers import BaseSerializer, Serializer from .utils import MockObject @@ -20,7 +20,7 @@ from .utils import MockObject class TestSerializer: def setup(self): - class ExampleSerializer(Serializer): + class ExampleSerializer(serializers.Serializer): char = CharField() integer = IntegerField() @@ -77,7 +77,7 @@ class TestSerializer: class TestValidateMethod: def test_non_field_error_validate_method(self): - class ExampleSerializer(Serializer): + class ExampleSerializer(serializers.Serializer): char = CharField() integer = IntegerField() @@ -89,7 +89,7 @@ class TestValidateMethod: assert serializer.errors == {'non_field_errors': ['Non field error']} def test_field_error_validate_method(self): - class ExampleSerializer(Serializer): + class ExampleSerializer(serializers.Serializer): char = CharField() integer = IntegerField() @@ -103,7 +103,7 @@ class TestValidateMethod: class TestBaseSerializer: def setup(self): - class ExampleSerializer(BaseSerializer): + class ExampleSerializer(serializers.BaseSerializer): def to_representation(self, obj): return { 'id': obj['id'], @@ -173,15 +173,15 @@ class TestStarredSource: } def setup(self): - class NestedSerializer1(Serializer): + class NestedSerializer1(serializers.Serializer): a = IntegerField() b = IntegerField() - class NestedSerializer2(Serializer): + class NestedSerializer2(serializers.Serializer): c = IntegerField() d = IntegerField() - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): nested1 = NestedSerializer1(source='*') nested2 = NestedSerializer2(source='*') @@ -211,7 +211,7 @@ class TestStarredSource: class TestIncorrectlyConfigured: def test_incorrect_field_name(self): - class ExampleSerializer(Serializer): + class ExampleSerializer(serializers.Serializer): incorrect_name = IntegerField() class ExampleObject: @@ -232,7 +232,7 @@ class TestIncorrectlyConfigured: class TestUnicodeRepr: def test_unicode_repr(self): - class ExampleSerializer(Serializer): + class ExampleSerializer(serializers.Serializer): example = CharField() class ExampleObject: @@ -253,7 +253,7 @@ class TestNotRequiredOutput: 'required=False' should allow a dictionary key to be missing in output. """ - class ExampleSerializer(Serializer): + class ExampleSerializer(serializers.Serializer): omitted = CharField(required=False) included = CharField() @@ -266,7 +266,7 @@ class TestNotRequiredOutput: 'required=False' should allow an object attribute to be missing in output. """ - class ExampleSerializer(Serializer): + class ExampleSerializer(serializers.Serializer): omitted = CharField(required=False) included = CharField() @@ -286,7 +286,7 @@ class TestNotRequiredOutput: 'required=False', but it should still have a value. """ - class ExampleSerializer(Serializer): + class ExampleSerializer(serializers.Serializer): omitted = CharField(default='abc') included = CharField() @@ -302,7 +302,7 @@ class TestNotRequiredOutput: 'required=False', but it should still have a value. """ - class ExampleSerializer(Serializer): + class ExampleSerializer(serializers.Serializer): omitted = CharField(default='abc') included = CharField() @@ -319,7 +319,7 @@ class TestCacheSerializerData: but does preserve the data itself. """ - class ExampleSerializer(Serializer): + class ExampleSerializer(serializers.Serializer): field1 = CharField() field2 = CharField() @@ -331,7 +331,7 @@ class TestCacheSerializerData: class TestDefaultInclusions: def setup(self): - class ExampleSerializer(Serializer): + class ExampleSerializer(serializers.Serializer): char = CharField(read_only=True, default='abc') integer = IntegerField() @@ -361,7 +361,7 @@ class TestDefaultInclusions: class TestSerializerValidationWithCompiledRegexField: def setup(self): - class ExampleSerializer(Serializer): + class ExampleSerializer(serializers.Serializer): name = RegexField(re.compile(r'\d'), required=True) self.Serializer = ExampleSerializer diff --git a/tests/test_serializer_lists.py b/tests/test_serializer_lists.py index 94a2db182..a4f89718d 100644 --- a/tests/test_serializer_lists.py +++ b/tests/test_serializer_lists.py @@ -1,10 +1,10 @@ from django.utils.datastructures import MultiValueDict +from rest_framework import serializers from rest_framework.fields import ( BooleanField, IntegerField, ListField, MultipleChoiceField, ValidationError ) -from rest_framework.serializers import ListSerializer, Serializer class BasicObject: @@ -33,7 +33,7 @@ class TestListSerializer: """ def setup(self): - class IntegerListSerializer(ListSerializer): + class IntegerListSerializer(serializers.ListSerializer): child = IntegerField() self.Serializer = IntegerListSerializer @@ -65,14 +65,14 @@ class TestListSerializerContainingNestedSerializer: """ def setup(self): - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): integer = IntegerField() boolean = BooleanField() def create(self, validated_data): return BasicObject(**validated_data) - class ObjectListSerializer(ListSerializer): + class ObjectListSerializer(serializers.ListSerializer): child = TestSerializer() self.Serializer = ObjectListSerializer @@ -151,9 +151,9 @@ class TestNestedListSerializer: """ def setup(self): - class TestSerializer(Serializer): - integers = ListSerializer(child=IntegerField()) - booleans = ListSerializer(child=BooleanField()) + class TestSerializer(serializers.Serializer): + integers = serializers.ListSerializer(child=IntegerField()) + booleans = serializers.ListSerializer(child=BooleanField()) def create(self, validated_data): return BasicObject(**validated_data) @@ -230,14 +230,14 @@ class TestNestedListSerializer: class TestNestedListOfListsSerializer: def setup(self): - class TestSerializer(Serializer): - integers = ListSerializer( - child=ListSerializer( + class TestSerializer(serializers.Serializer): + integers = serializers.ListSerializer( + child=serializers.ListSerializer( child=IntegerField() ) ) - booleans = ListSerializer( - child=ListSerializer( + booleans = serializers.ListSerializer( + child=serializers.ListSerializer( child=BooleanField() ) ) @@ -285,11 +285,11 @@ class TestListSerializerClass: """Tests for a custom list_serializer_class.""" def test_list_serializer_class_validate(self): - class CustomListSerializer(ListSerializer): + class CustomListSerializer(serializers.ListSerializer): def validate(self, attrs): raise ValidationError('Non field error') - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): class Meta: list_serializer_class = CustomListSerializer @@ -308,7 +308,7 @@ class TestSerializerPartialUsage: """ def test_partial_listfield(self): - class ListSerializer(Serializer): + class ListSerializer(serializers.Serializer): listdata = ListField() serializer = ListSerializer(data=MultiValueDict(), partial=True) @@ -319,7 +319,7 @@ class TestSerializerPartialUsage: assert serializer.errors == {} def test_partial_multiplechoice(self): - class MultipleChoiceSerializer(Serializer): + class MultipleChoiceSerializer(serializers.Serializer): multiplechoice = MultipleChoiceField(choices=[1, 2, 3]) serializer = MultipleChoiceSerializer(data=MultiValueDict(), diff --git a/tests/test_serializer_nested.py b/tests/test_serializer_nested.py index c0b10de66..911cbe4ff 100644 --- a/tests/test_serializer_nested.py +++ b/tests/test_serializer_nested.py @@ -1,16 +1,16 @@ from django.http import QueryDict +from rest_framework import serializers from rest_framework.fields import IntegerField, MultipleChoiceField -from rest_framework.serializers import ListSerializer, Serializer class TestNestedSerializer: def setup(self): - class NestedSerializer(Serializer): + class NestedSerializer(serializers.Serializer): one = IntegerField(max_value=10) two = IntegerField(max_value=10) - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): nested = NestedSerializer() self.Serializer = TestSerializer @@ -51,10 +51,10 @@ class TestNestedSerializer: class TestNotRequiredNestedSerializer: def setup(self): - class NestedSerializer(Serializer): + class NestedSerializer(serializers.Serializer): one = IntegerField(max_value=10) - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): nested = NestedSerializer(required=False) self.Serializer = TestSerializer @@ -80,10 +80,10 @@ class TestNotRequiredNestedSerializer: class TestNestedSerializerWithMany: def setup(self): - class NestedSerializer(Serializer): + class NestedSerializer(serializers.Serializer): example = IntegerField(max_value=10) - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): allow_null = NestedSerializer(many=True, allow_null=True) not_allow_null = NestedSerializer(many=True) allow_empty = NestedSerializer(many=True, allow_empty=True) @@ -174,16 +174,16 @@ class TestNestedSerializerWithMany: assert not serializer.is_valid() expected_errors = {'not_allow_empty': {'non_field_errors': [ - ListSerializer.default_error_messages['empty']]}} + serializers.ListSerializer.default_error_messages['empty']]}} assert serializer.errors == expected_errors class TestNestedSerializerWithList: def setup(self): - class NestedSerializer(Serializer): + class NestedSerializer(serializers.Serializer): example = MultipleChoiceField(choices=[1, 2, 3]) - class TestSerializer(Serializer): + class TestSerializer(serializers.Serializer): nested = NestedSerializer() self.Serializer = TestSerializer