diff options
| author | Oscar Vilaplana | 2013-05-19 14:55:46 +0200 | 
|---|---|---|
| committer | Oscar Vilaplana | 2013-05-19 14:55:46 +0200 | 
| commit | f1f5f92d899ae37d71234bf8a8a3ad52e20a253f (patch) | |
| tree | f0e1c92d34ae3612450ac8e2e670b4268b6a35a5 | |
| parent | 400fd6bee413be755347a66fbadfbe381ab931e0 (diff) | |
| download | django-rest-framework-f1f5f92d899ae37d71234bf8a8a3ad52e20a253f.tar.bz2 | |
Added tests, cleaned up imports
| -rw-r--r-- | rest_framework/tests/fields.py | 18 | ||||
| -rw-r--r-- | rest_framework/tests/views.py | 3 | ||||
| -rw-r--r-- | rest_framework/views.py | 14 | 
3 files changed, 18 insertions, 17 deletions
| diff --git a/rest_framework/tests/fields.py b/rest_framework/tests/fields.py index 7a5ed718..6bc37db2 100644 --- a/rest_framework/tests/fields.py +++ b/rest_framework/tests/fields.py @@ -2,21 +2,23 @@  General serializer field tests.  """  from __future__ import unicode_literals -from django.utils.datastructures import SortedDict + +from collections import namedtuple +from decimal import Decimal +from uuid import uuid4 +  import datetime -from rest_framework.fields import (humanize_field, humanize_field_type, -                                   humanize_form_fields)  from django import forms -from decimal import Decimal +from django.core import validators  from django.db import models  from django.test import TestCase -from django.core import validators +from django.utils.datastructures import SortedDict +  from rest_framework import serializers +from rest_framework.fields import (humanize_field, humanize_field_type, humanize_form_fields, +                                   Field)  from rest_framework.serializers import Serializer  from rest_framework.tests.models import RESTFrameworkModel -from rest_framework.fields import Field -from collections import namedtuple -from uuid import uuid4  class TimestampedModel(models.Model): diff --git a/rest_framework/tests/views.py b/rest_framework/tests/views.py index 994cf6dc..b70ef4ae 100644 --- a/rest_framework/tests/views.py +++ b/rest_framework/tests/views.py @@ -6,6 +6,8 @@ from rest_framework.decorators import api_view  from rest_framework.response import Response  from rest_framework.settings import api_settings  from rest_framework.views import APIView +from rest_framework import exceptions +from rest_framework import serializers  import copy  factory = RequestFactory() @@ -98,3 +100,4 @@ class FunctionBasedViewIntegrationTests(TestCase):          }          self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)          self.assertEqual(sanitise_json_error(response.data), expected) + diff --git a/rest_framework/views.py b/rest_framework/views.py index c9d55c18..1af4c0ba 100644 --- a/rest_framework/views.py +++ b/rest_framework/views.py @@ -2,13 +2,16 @@  Provides an APIView class that is the base of all views in REST framework.  """  from __future__ import unicode_literals +  from django.core.exceptions import PermissionDenied  from django.http import Http404, HttpResponse  from django.views.decorators.csrf import csrf_exempt +  from rest_framework import status, exceptions  from rest_framework.compat import View -from rest_framework.response import Response +from rest_framework.fields import humanize_form_fields  from rest_framework.request import clone_request, Request +from rest_framework.response import Response  from rest_framework.settings import api_settings  from rest_framework.utils.formatting import get_view_name, get_view_description @@ -69,7 +72,6 @@ class APIView(View):          Helper for generating the fields metadata for allowed and permitted methods.          '''          actions = {} -          for method in self.allowed_methods:              # skip HEAD and OPTIONS              if method in ('HEAD', 'OPTIONS'): @@ -84,17 +86,11 @@ class APIView(View):                      actions[method] = {}                      continue -                # TODO: find right placement - APIView does not have get_serializer                  if not hasattr(self, 'get_serializer'):                      continue                  serializer = self.get_serializer()                  if serializer is not None: -                    field_name_types = {} -                    for name, field in serializer.fields.iteritems(): -                        from rest_framework.fields import humanize_field -                        field_name_types[name] = humanize_field(field) - -                actions[method] = field_name_types +                    actions[method] = humanize_form_fields(serializer)              except exceptions.PermissionDenied:                  # don't add this method                  pass | 
