Commit a493c832 by Tom Christie

urls, patterns, include imports move to compat to support incoming 1.3 thru 1.6…

urls, patterns, include imports move to compat to support incoming 1.3 thru 1.6 import compatability
parent c097bcef
...@@ -5,6 +5,12 @@ versions of django/python, and compatibility wrappers around optional packages. ...@@ -5,6 +5,12 @@ versions of django/python, and compatibility wrappers around optional packages.
# flake8: noqa # flake8: noqa
import django import django
# location of patterns, url, include changes in 1.4 onwards
try:
from django.conf.urls import patterns, url, include
except:
from django.conf.urls.defaults import patterns, url, include
# django-filter is optional # django-filter is optional
try: try:
import django_filters import django_filters
......
from django.conf.urls.defaults import patterns
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.http import HttpResponse
from django.test import Client, TestCase from django.test import Client, TestCase
from django.utils import simplejson as json from django.utils import simplejson as json
from django.http import HttpResponse
from rest_framework.views import APIView
from rest_framework import permissions from rest_framework import permissions
from rest_framework.authtoken.models import Token from rest_framework.authtoken.models import Token
from rest_framework.authentication import TokenAuthentication from rest_framework.authentication import TokenAuthentication
from rest_framework.compat import patterns
from rest_framework.views import APIView
import base64 import base64
......
from django.conf.urls.defaults import patterns, url
from django.test import TestCase from django.test import TestCase
from rest_framework.compat import patterns, url
from rest_framework.utils.breadcrumbs import get_breadcrumbs from rest_framework.utils.breadcrumbs import get_breadcrumbs
from rest_framework.views import APIView from rest_framework.views import APIView
......
from django.test import TestCase from django.test import TestCase
from django.test.client import RequestFactory
from rest_framework import status from rest_framework import status
from rest_framework.response import Response from rest_framework.response import Response
from django.test.client import RequestFactory
from rest_framework.renderers import JSONRenderer from rest_framework.renderers import JSONRenderer
from rest_framework.parsers import JSONParser from rest_framework.parsers import JSONParser
from rest_framework.authentication import BasicAuthentication from rest_framework.authentication import BasicAuthentication
......
from django.core.exceptions import PermissionDenied from django.core.exceptions import PermissionDenied
from django.conf.urls.defaults import patterns, url
from django.http import Http404 from django.http import Http404
from django.test import TestCase from django.test import TestCase
from django.template import TemplateDoesNotExist, Template from django.template import TemplateDoesNotExist, Template
import django.template.loader import django.template.loader
from rest_framework.compat import patterns, url
from rest_framework.decorators import api_view, renderer_classes from rest_framework.decorators import api_view, renderer_classes
from rest_framework.renderers import TemplateHTMLRenderer from rest_framework.renderers import TemplateHTMLRenderer
from rest_framework.response import Response from rest_framework.response import Response
......
from django.conf.urls import patterns, url
from django.db import models from django.db import models
from django.test import TestCase from django.test import TestCase
from rest_framework import serializers from rest_framework import serializers
from rest_framework.compat import patterns, url
def dummy_view(request, pk): def dummy_view(request, pk):
......
from django.conf.urls.defaults import patterns, url
from django.test import TestCase from django.test import TestCase
from django.test.client import RequestFactory from django.test.client import RequestFactory
from django.utils import simplejson as json from django.utils import simplejson as json
from rest_framework import generics, status, serializers from rest_framework import generics, status, serializers
from rest_framework.compat import patterns, url
from rest_framework.tests.models import Anchor, BasicModel, ManyToManyModel, BlogPost, BlogPostComment, Album, Photo, OptionalRelationModel from rest_framework.tests.models import Anchor, BasicModel, ManyToManyModel, BlogPost, BlogPostComment, Album, Photo, OptionalRelationModel
factory = RequestFactory() factory = RequestFactory()
......
...@@ -52,9 +52,10 @@ class RESTFrameworkModel(models.Model): ...@@ -52,9 +52,10 @@ class RESTFrameworkModel(models.Model):
class HasPositiveIntegerAsChoice(RESTFrameworkModel): class HasPositiveIntegerAsChoice(RESTFrameworkModel):
some_choices = ((1,'A'),(2,'B'),(3,'C')) some_choices = ((1, 'A'), (2, 'B'), (3, 'C'))
some_integer = models.PositiveIntegerField(choices=some_choices) some_integer = models.PositiveIntegerField(choices=some_choices)
class Anchor(RESTFrameworkModel): class Anchor(RESTFrameworkModel):
text = models.CharField(max_length=100, default='anchor') text = models.CharField(max_length=100, default='anchor')
...@@ -164,7 +165,7 @@ class Photo(RESTFrameworkModel): ...@@ -164,7 +165,7 @@ class Photo(RESTFrameworkModel):
# Model for issue #324 # Model for issue #324
class BlankFieldModel(RESTFrameworkModel): class BlankFieldModel(RESTFrameworkModel):
title = models.CharField(max_length=100, blank=True, null=True) title = models.CharField(max_length=100, blank=True, null=False)
# Model for issue #380 # Model for issue #380
......
import pickle import pickle
import re import re
from django.conf.urls.defaults import patterns, url, include
from django.core.cache import cache from django.core.cache import cache
from django.test import TestCase from django.test import TestCase
from django.test.client import RequestFactory from django.test.client import RequestFactory
from rest_framework import status, permissions from rest_framework import status, permissions
from rest_framework.compat import yaml from rest_framework.compat import yaml, patterns, url, include
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework.views import APIView from rest_framework.views import APIView
from rest_framework.renderers import BaseRenderer, JSONRenderer, YAMLRenderer, \ from rest_framework.renderers import BaseRenderer, JSONRenderer, YAMLRenderer, \
......
""" """
Tests for content parsing, and form-overloaded content parsing. Tests for content parsing, and form-overloaded content parsing.
""" """
from django.conf.urls.defaults import patterns
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.contrib.auth import authenticate, login, logout from django.contrib.auth import authenticate, login, logout
from django.contrib.sessions.middleware import SessionMiddleware from django.contrib.sessions.middleware import SessionMiddleware
from django.test import TestCase, Client from django.test import TestCase, Client
from django.test.client import RequestFactory
from django.utils import simplejson as json from django.utils import simplejson as json
from rest_framework import status from rest_framework import status
from rest_framework.authentication import SessionAuthentication from rest_framework.authentication import SessionAuthentication
from django.test.client import RequestFactory from rest_framework.compat import patterns
from rest_framework.parsers import ( from rest_framework.parsers import (
BaseParser, BaseParser,
FormParser, FormParser,
......
import unittest
from django.conf.urls.defaults import patterns, url, include
from django.test import TestCase from django.test import TestCase
from rest_framework.compat import patterns, url, include
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework.views import APIView from rest_framework.views import APIView
from rest_framework import status from rest_framework import status
......
from django.conf.urls.defaults import patterns, url
from django.test import TestCase from django.test import TestCase
from django.test.client import RequestFactory from django.test.client import RequestFactory
from rest_framework.compat import patterns, url
from rest_framework.reverse import reverse from rest_framework.reverse import reverse
factory = RequestFactory() factory = RequestFactory()
......
...@@ -699,6 +699,10 @@ class BlankFieldTests(TestCase): ...@@ -699,6 +699,10 @@ class BlankFieldTests(TestCase):
serializer = self.model_serializer_class(data=self.data) serializer = self.model_serializer_class(data=self.data)
self.assertEquals(serializer.is_valid(), True) self.assertEquals(serializer.is_valid(), True)
def test_create_model_null_field(self):
serializer = self.model_serializer_class(data={'title': None})
self.assertEquals(serializer.is_valid(), True)
def test_create_not_blank_field(self): def test_create_not_blank_field(self):
""" """
Test to ensure blank data in a field not marked as blank=True Test to ensure blank data in a field not marked as blank=True
......
...@@ -6,6 +6,7 @@ from django.test import TestCase ...@@ -6,6 +6,7 @@ from django.test import TestCase
NO_SETTING = ('!', None) NO_SETTING = ('!', None)
class TestSettingsManager(object): class TestSettingsManager(object):
""" """
A class which can modify some Django settings temporarily for a A class which can modify some Django settings temporarily for a
...@@ -19,7 +20,7 @@ class TestSettingsManager(object): ...@@ -19,7 +20,7 @@ class TestSettingsManager(object):
self._original_settings = {} self._original_settings = {}
def set(self, **kwargs): def set(self, **kwargs):
for k,v in kwargs.iteritems(): for k, v in kwargs.iteritems():
self._original_settings.setdefault(k, getattr(settings, k, self._original_settings.setdefault(k, getattr(settings, k,
NO_SETTING)) NO_SETTING))
setattr(settings, k, v) setattr(settings, k, v)
...@@ -31,7 +32,7 @@ class TestSettingsManager(object): ...@@ -31,7 +32,7 @@ class TestSettingsManager(object):
call_command('syncdb', verbosity=0) call_command('syncdb', verbosity=0)
def revert(self): def revert(self):
for k,v in self._original_settings.iteritems(): for k, v in self._original_settings.iteritems():
if v == NO_SETTING: if v == NO_SETTING:
delattr(settings, k) delattr(settings, k)
else: else:
...@@ -57,6 +58,7 @@ class SettingsTestCase(TestCase): ...@@ -57,6 +58,7 @@ class SettingsTestCase(TestCase):
def tearDown(self): def tearDown(self):
self.settings_manager.revert() self.settings_manager.revert()
class TestModelsTestCase(SettingsTestCase): class TestModelsTestCase(SettingsTestCase):
def setUp(self, *args, **kwargs): def setUp(self, *args, **kwargs):
installed_apps = tuple(settings.INSTALLED_APPS) + ('rest_framework.tests',) installed_apps = tuple(settings.INSTALLED_APPS) + ('rest_framework.tests',)
......
...@@ -12,7 +12,7 @@ your authentication settings include `SessionAuthentication`. ...@@ -12,7 +12,7 @@ your authentication settings include `SessionAuthentication`.
url(r'^auth', include('rest_framework.urls', namespace='rest_framework')) url(r'^auth', include('rest_framework.urls', namespace='rest_framework'))
) )
""" """
from django.conf.urls.defaults import patterns, url from rest_framework.compat import patterns, url
template_name = {'template_name': 'rest_framework/login.html'} template_name = {'template_name': 'rest_framework/login.html'}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment