Replace 'urls = ...' in test classes with override_settings('ROOT_URLCONF=...')

This commit is contained in:
Tom Christie 2016-06-01 12:19:14 +01:00
parent 1a2b3255ad
commit f11e24ecff
13 changed files with 39 additions and 74 deletions

View File

@ -1,16 +1,14 @@
from __future__ import unicode_literals from __future__ import unicode_literals
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.test import TestCase from django.test import override_settings, TestCase
from rest_framework.test import APIClient from rest_framework.test import APIClient
@override_settings(ROOT_URLCONF='tests.browsable_api.auth_urls')
class DropdownWithAuthTests(TestCase): class DropdownWithAuthTests(TestCase):
"""Tests correct dropdown behaviour with Auth views enabled.""" """Tests correct dropdown behaviour with Auth views enabled."""
urls = 'tests.browsable_api.auth_urls'
def setUp(self): def setUp(self):
self.client = APIClient(enforce_csrf_checks=True) self.client = APIClient(enforce_csrf_checks=True)
self.username = 'john' self.username = 'john'
@ -40,11 +38,9 @@ class DropdownWithAuthTests(TestCase):
self.assertContains(response, '>Log in<') self.assertContains(response, '>Log in<')
@override_settings(ROOT_URLCONF='tests.browsable_api.no_auth_urls')
class NoDropdownWithoutAuthTests(TestCase): class NoDropdownWithoutAuthTests(TestCase):
"""Tests correct dropdown behaviour with Auth views NOT enabled.""" """Tests correct dropdown behaviour with Auth views NOT enabled."""
urls = 'tests.browsable_api.no_auth_urls'
def setUp(self): def setUp(self):
self.client = APIClient(enforce_csrf_checks=True) self.client = APIClient(enforce_csrf_checks=True)
self.username = 'john' self.username = 'john'

View File

@ -8,7 +8,7 @@ from django.conf.urls import include, url
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.db import models from django.db import models
from django.http import HttpResponse from django.http import HttpResponse
from django.test import TestCase from django.test import override_settings, TestCase
from django.utils import six from django.utils import six
from rest_framework import ( from rest_framework import (
@ -81,10 +81,9 @@ urlpatterns = [
] ]
@override_settings(ROOT_URLCONF='tests.test_authentication')
class BasicAuthTests(TestCase): class BasicAuthTests(TestCase):
"""Basic authentication""" """Basic authentication"""
urls = 'tests.test_authentication'
def setUp(self): def setUp(self):
self.csrf_client = APIClient(enforce_csrf_checks=True) self.csrf_client = APIClient(enforce_csrf_checks=True)
self.username = 'john' self.username = 'john'
@ -152,10 +151,9 @@ class BasicAuthTests(TestCase):
self.assertEqual(response['WWW-Authenticate'], 'Basic realm="api"') self.assertEqual(response['WWW-Authenticate'], 'Basic realm="api"')
@override_settings(ROOT_URLCONF='tests.test_authentication')
class SessionAuthTests(TestCase): class SessionAuthTests(TestCase):
"""User session authentication""" """User session authentication"""
urls = 'tests.test_authentication'
def setUp(self): def setUp(self):
self.csrf_client = APIClient(enforce_csrf_checks=True) self.csrf_client = APIClient(enforce_csrf_checks=True)
self.non_csrf_client = APIClient(enforce_csrf_checks=False) self.non_csrf_client = APIClient(enforce_csrf_checks=False)
@ -222,9 +220,9 @@ class SessionAuthTests(TestCase):
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN) self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
@override_settings(ROOT_URLCONF='tests.test_authentication')
class BaseTokenAuthTests(object): class BaseTokenAuthTests(object):
"""Token authentication""" """Token authentication"""
urls = 'tests.test_authentication'
model = None model = None
path = None path = None
header_prefix = 'Token ' header_prefix = 'Token '

View File

@ -274,12 +274,11 @@ class IntegrationTestFiltering(CommonFilteringTestCase):
self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.status_code, status.HTTP_200_OK)
@override_settings(ROOT_URLCONF='tests.test_filters')
class IntegrationTestDetailFiltering(CommonFilteringTestCase): class IntegrationTestDetailFiltering(CommonFilteringTestCase):
""" """
Integration tests for filtered detail views. Integration tests for filtered detail views.
""" """
urls = 'tests.test_filters'
def _get_url(self, item): def _get_url(self, item):
return reverse('detail-view', kwargs=dict(pk=item.pk)) return reverse('detail-view', kwargs=dict(pk=item.pk))

View File

@ -5,7 +5,7 @@ from django.conf.urls import url
from django.core.exceptions import PermissionDenied from django.core.exceptions import PermissionDenied
from django.http import Http404 from django.http import Http404
from django.template import Template, TemplateDoesNotExist from django.template import Template, TemplateDoesNotExist
from django.test import TestCase from django.test import override_settings, TestCase
from django.utils import six from django.utils import six
from rest_framework import status from rest_framework import status
@ -43,9 +43,8 @@ urlpatterns = [
] ]
@override_settings(ROOT_URLCONF='tests.test_htmlrenderer')
class TemplateHTMLRendererTests(TestCase): class TemplateHTMLRendererTests(TestCase):
urls = 'tests.test_htmlrenderer'
def setUp(self): def setUp(self):
""" """
Monkeypatch get_template Monkeypatch get_template
@ -89,9 +88,8 @@ class TemplateHTMLRendererTests(TestCase):
self.assertEqual(response['Content-Type'], 'text/html; charset=utf-8') self.assertEqual(response['Content-Type'], 'text/html; charset=utf-8')
@override_settings(ROOT_URLCONF='tests.test_htmlrenderer')
class TemplateHTMLRendererExceptionTests(TestCase): class TemplateHTMLRendererExceptionTests(TestCase):
urls = 'tests.test_htmlrenderer'
def setUp(self): def setUp(self):
""" """
Monkeypatch get_template Monkeypatch get_template

View File

@ -1,6 +1,6 @@
from django.conf.urls import url from django.conf.urls import url
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.test import override_settings
from rest_framework.authentication import TokenAuthentication from rest_framework.authentication import TokenAuthentication
from rest_framework.authtoken.models import Token from rest_framework.authtoken.models import Token
@ -20,10 +20,8 @@ class MyMiddleware(object):
return response return response
@override_settings(ROOT_URLCONF='tests.test_middleware')
class TestMiddleware(APITestCase): class TestMiddleware(APITestCase):
urls = 'tests.test_middleware'
def test_middleware_can_access_user_when_processing_response(self): def test_middleware_can_access_user_when_processing_response(self):
user = User.objects.create_user('john', 'john@example.com', 'password') user = User.objects.create_user('john', 'john@example.com', 'password')
key = 'abcd1234' key = 'abcd1234'

View File

@ -1,7 +1,7 @@
from __future__ import unicode_literals from __future__ import unicode_literals
from django.conf.urls import url from django.conf.urls import url
from django.test import TestCase from django.test import override_settings, TestCase
from rest_framework import serializers from rest_framework import serializers
from rest_framework.test import APIRequestFactory from rest_framework.test import APIRequestFactory
@ -71,10 +71,8 @@ class NullableOneToOneTargetSerializer(serializers.HyperlinkedModelSerializer):
# TODO: Add test that .data cannot be accessed prior to .is_valid # TODO: Add test that .data cannot be accessed prior to .is_valid
@override_settings(ROOT_URLCONF='tests.test_relations_hyperlink')
class HyperlinkedManyToManyTests(TestCase): class HyperlinkedManyToManyTests(TestCase):
urls = 'tests.test_relations_hyperlink'
def setUp(self): def setUp(self):
for idx in range(1, 4): for idx in range(1, 4):
target = ManyToManyTarget(name='target-%d' % idx) target = ManyToManyTarget(name='target-%d' % idx)
@ -188,9 +186,8 @@ class HyperlinkedManyToManyTests(TestCase):
self.assertEqual(serializer.data, expected) self.assertEqual(serializer.data, expected)
@override_settings(ROOT_URLCONF='tests.test_relations_hyperlink')
class HyperlinkedForeignKeyTests(TestCase): class HyperlinkedForeignKeyTests(TestCase):
urls = 'tests.test_relations_hyperlink'
def setUp(self): def setUp(self):
target = ForeignKeyTarget(name='target-1') target = ForeignKeyTarget(name='target-1')
target.save() target.save()
@ -318,9 +315,8 @@ class HyperlinkedForeignKeyTests(TestCase):
self.assertEqual(serializer.errors, {'target': ['This field may not be null.']}) self.assertEqual(serializer.errors, {'target': ['This field may not be null.']})
@override_settings(ROOT_URLCONF='tests.test_relations_hyperlink')
class HyperlinkedNullableForeignKeyTests(TestCase): class HyperlinkedNullableForeignKeyTests(TestCase):
urls = 'tests.test_relations_hyperlink'
def setUp(self): def setUp(self):
target = ForeignKeyTarget(name='target-1') target = ForeignKeyTarget(name='target-1')
target.save() target.save()
@ -425,9 +421,8 @@ class HyperlinkedNullableForeignKeyTests(TestCase):
self.assertEqual(serializer.data, expected) self.assertEqual(serializer.data, expected)
@override_settings(ROOT_URLCONF='tests.test_relations_hyperlink')
class HyperlinkedNullableOneToOneTests(TestCase): class HyperlinkedNullableOneToOneTests(TestCase):
urls = 'tests.test_relations_hyperlink'
def setUp(self): def setUp(self):
target = OneToOneTarget(name='target-1') target = OneToOneTarget(name='target-1')
target.save() target.save()

View File

@ -8,7 +8,7 @@ from collections import MutableMapping, OrderedDict
from django.conf.urls import include, url from django.conf.urls import include, url
from django.core.cache import cache from django.core.cache import cache
from django.db import models from django.db import models
from django.test import TestCase from django.test import override_settings, TestCase
from django.utils import six from django.utils import six
from django.utils.safestring import SafeText from django.utils.safestring import SafeText
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
@ -148,13 +148,11 @@ class DocumentingRendererTests(TestCase):
self.assertContains(response, '>PATCH<') self.assertContains(response, '>PATCH<')
@override_settings(ROOT_URLCONF='tests.test_renderers')
class RendererEndToEndTests(TestCase): class RendererEndToEndTests(TestCase):
""" """
End-to-end testing of renderers using an RendererMixin on a generic view. End-to-end testing of renderers using an RendererMixin on a generic view.
""" """
urls = 'tests.test_renderers'
def test_default_renderer_serializes_content(self): def test_default_renderer_serializes_content(self):
"""If the Accept header is not set the default renderer should serialize the response.""" """If the Accept header is not set the default renderer should serialize the response."""
resp = self.client.get('/') resp = self.client.get('/')
@ -397,13 +395,11 @@ class AsciiJSONRendererTests(TestCase):
# Tests for caching issue, #346 # Tests for caching issue, #346
@override_settings(ROOT_URLCONF='tests.test_renderers')
class CacheRenderTest(TestCase): class CacheRenderTest(TestCase):
""" """
Tests specific to caching responses Tests specific to caching responses
""" """
urls = 'tests.test_renderers'
def test_head_caching(self): def test_head_caching(self):
""" """
Test caching of HEAD requests Test caching of HEAD requests

View File

@ -7,7 +7,7 @@ from django.conf.urls import url
from django.contrib.auth import authenticate, login, logout from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.contrib.sessions.middleware import SessionMiddleware from django.contrib.sessions.middleware import SessionMiddleware
from django.test import TestCase from django.test import override_settings, TestCase
from django.utils import six from django.utils import six
from rest_framework import status from rest_framework import status
@ -113,9 +113,8 @@ urlpatterns = [
] ]
@override_settings(ROOT_URLCONF='tests.test_request')
class TestContentParsingWithAuthentication(TestCase): class TestContentParsingWithAuthentication(TestCase):
urls = 'tests.test_request'
def setUp(self): def setUp(self):
self.csrf_client = APIClient(enforce_csrf_checks=True) self.csrf_client = APIClient(enforce_csrf_checks=True)
self.username = 'john' self.username = 'john'

View File

@ -1,7 +1,7 @@
from __future__ import unicode_literals from __future__ import unicode_literals
from django.conf.urls import include, url from django.conf.urls import include, url
from django.test import TestCase from django.test import override_settings, TestCase
from django.utils import six from django.utils import six
from rest_framework import generics, routers, serializers, status, viewsets from rest_framework import generics, routers, serializers, status, viewsets
@ -131,13 +131,11 @@ urlpatterns = [
# TODO: Clean tests bellow - remove duplicates with above, better unit testing, ... # TODO: Clean tests bellow - remove duplicates with above, better unit testing, ...
@override_settings(ROOT_URLCONF='tests.test_response')
class RendererIntegrationTests(TestCase): class RendererIntegrationTests(TestCase):
""" """
End-to-end testing of renderers using an ResponseMixin on a generic view. End-to-end testing of renderers using an ResponseMixin on a generic view.
""" """
urls = 'tests.test_response'
def test_default_renderer_serializes_content(self): def test_default_renderer_serializes_content(self):
"""If the Accept header is not set the default renderer should serialize the response.""" """If the Accept header is not set the default renderer should serialize the response."""
resp = self.client.get('/') resp = self.client.get('/')
@ -201,9 +199,8 @@ class RendererIntegrationTests(TestCase):
self.assertEqual(resp.status_code, DUMMYSTATUS) self.assertEqual(resp.status_code, DUMMYSTATUS)
@override_settings(ROOT_URLCONF='tests.test_response')
class UnsupportedMediaTypeTests(TestCase): class UnsupportedMediaTypeTests(TestCase):
urls = 'tests.test_response'
def test_should_allow_posting_json(self): def test_should_allow_posting_json(self):
response = self.client.post('/json', data='{"test": 123}', content_type='application/json') response = self.client.post('/json', data='{"test": 123}', content_type='application/json')
@ -220,12 +217,11 @@ class UnsupportedMediaTypeTests(TestCase):
self.assertEqual(response.status_code, 415) self.assertEqual(response.status_code, 415)
@override_settings(ROOT_URLCONF='tests.test_response')
class Issue122Tests(TestCase): class Issue122Tests(TestCase):
""" """
Tests that covers #122. Tests that covers #122.
""" """
urls = 'tests.test_response'
def test_only_html_renderer(self): def test_only_html_renderer(self):
""" """
Test if no infinite recursion occurs. Test if no infinite recursion occurs.
@ -239,13 +235,11 @@ class Issue122Tests(TestCase):
self.client.get('/html1') self.client.get('/html1')
@override_settings(ROOT_URLCONF='tests.test_response')
class Issue467Tests(TestCase): class Issue467Tests(TestCase):
""" """
Tests for #467 Tests for #467
""" """
urls = 'tests.test_response'
def test_form_has_label_and_help_text(self): def test_form_has_label_and_help_text(self):
resp = self.client.get('/html_new_model') resp = self.client.get('/html_new_model')
self.assertEqual(resp['Content-Type'], 'text/html; charset=utf-8') self.assertEqual(resp['Content-Type'], 'text/html; charset=utf-8')
@ -253,13 +247,11 @@ class Issue467Tests(TestCase):
# self.assertContains(resp, 'Text description.') # self.assertContains(resp, 'Text description.')
@override_settings(ROOT_URLCONF='tests.test_response')
class Issue807Tests(TestCase): class Issue807Tests(TestCase):
""" """
Covers #807 Covers #807
""" """
urls = 'tests.test_response'
def test_does_not_append_charset_by_default(self): def test_does_not_append_charset_by_default(self):
""" """
Renderers don't include a charset unless set explicitly. Renderers don't include a charset unless set explicitly.

View File

@ -2,7 +2,7 @@ from __future__ import unicode_literals
from django.conf.urls import url from django.conf.urls import url
from django.core.urlresolvers import NoReverseMatch from django.core.urlresolvers import NoReverseMatch
from django.test import TestCase from django.test import override_settings, TestCase
from rest_framework.reverse import reverse from rest_framework.reverse import reverse
from rest_framework.test import APIRequestFactory from rest_framework.test import APIRequestFactory
@ -30,12 +30,11 @@ class MockVersioningScheme(object):
return 'http://scheme-reversed/view' return 'http://scheme-reversed/view'
@override_settings(ROOT_URLCONF='tests.test_reverse')
class ReverseTests(TestCase): class ReverseTests(TestCase):
""" """
Tests for fully qualified URLs when using `reverse`. Tests for fully qualified URLs when using `reverse`.
""" """
urls = 'tests.test_reverse'
def test_reversed_urls_are_fully_qualified(self): def test_reversed_urls_are_fully_qualified(self):
request = factory.get('/view') request = factory.get('/view')
url = reverse('view', request=request) url = reverse('view', request=request)

View File

@ -5,7 +5,7 @@ from collections import namedtuple
from django.conf.urls import include, url from django.conf.urls import include, url
from django.core.exceptions import ImproperlyConfigured from django.core.exceptions import ImproperlyConfigured
from django.db import models from django.db import models
from django.test import TestCase from django.test import override_settings, TestCase
from rest_framework import permissions, serializers, viewsets from rest_framework import permissions, serializers, viewsets
from rest_framework.decorators import detail_route, list_route from rest_framework.decorators import detail_route, list_route
@ -113,9 +113,8 @@ class TestSimpleRouter(TestCase):
self.assertEqual(route.mapping[method], endpoint) self.assertEqual(route.mapping[method], endpoint)
@override_settings(ROOT_URLCONF='tests.test_routers')
class TestRootView(TestCase): class TestRootView(TestCase):
urls = 'tests.test_routers'
def test_retrieve_namespaced_root(self): def test_retrieve_namespaced_root(self):
response = self.client.get('/namespaced/') response = self.client.get('/namespaced/')
self.assertEqual( self.assertEqual(
@ -135,12 +134,11 @@ class TestRootView(TestCase):
) )
@override_settings(ROOT_URLCONF='tests.test_routers')
class TestCustomLookupFields(TestCase): class TestCustomLookupFields(TestCase):
""" """
Ensure that custom lookup fields are correctly routed. Ensure that custom lookup fields are correctly routed.
""" """
urls = 'tests.test_routers'
def setUp(self): def setUp(self):
RouterTestModel.objects.create(uuid='123', text='foo bar') RouterTestModel.objects.create(uuid='123', text='foo bar')
@ -191,14 +189,13 @@ class TestLookupValueRegex(TestCase):
self.assertEqual(expected[idx], self.urls[idx].regex.pattern) self.assertEqual(expected[idx], self.urls[idx].regex.pattern)
@override_settings(ROOT_URLCONF='tests.test_routers')
class TestLookupUrlKwargs(TestCase): class TestLookupUrlKwargs(TestCase):
""" """
Ensure the router honors lookup_url_kwarg. Ensure the router honors lookup_url_kwarg.
Setup a deep lookup_field, but map it to a simple URL kwarg. Setup a deep lookup_field, but map it to a simple URL kwarg.
""" """
urls = 'tests.test_routers'
def setUp(self): def setUp(self):
RouterTestModel.objects.create(uuid='123', text='foo bar') RouterTestModel.objects.create(uuid='123', text='foo bar')

View File

@ -6,7 +6,7 @@ from io import BytesIO
from django.conf.urls import url from django.conf.urls import url
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.shortcuts import redirect from django.shortcuts import redirect
from django.test import TestCase from django.test import override_settings, TestCase
from rest_framework.decorators import api_view from rest_framework.decorators import api_view
from rest_framework.response import Response from rest_framework.response import Response
@ -44,9 +44,8 @@ urlpatterns = [
] ]
@override_settings(ROOT_URLCONF='tests.test_testing')
class TestAPITestClient(TestCase): class TestAPITestClient(TestCase):
urls = 'tests.test_testing'
def setUp(self): def setUp(self):
self.client = APIClient() self.client = APIClient()

View File

@ -2,7 +2,7 @@ from __future__ import unicode_literals
from django.conf.urls import url from django.conf.urls import url
from django.core.exceptions import ImproperlyConfigured from django.core.exceptions import ImproperlyConfigured
from django.test import TestCase from django.test import override_settings, TestCase
from django.utils import six from django.utils import six
import rest_framework.utils.model_meta import rest_framework.utils.model_meta
@ -47,12 +47,11 @@ urlpatterns = [
] ]
@override_settings(ROOT_URLCONF='tests.test_utils')
class BreadcrumbTests(TestCase): class BreadcrumbTests(TestCase):
""" """
Tests the breadcrumb functionality used by the HTML renderer. Tests the breadcrumb functionality used by the HTML renderer.
""" """
urls = 'tests.test_utils'
def test_root_breadcrumbs(self): def test_root_breadcrumbs(self):
url = '/' url = '/'
self.assertEqual( self.assertEqual(