Fixed #22993 -- Deprecated skipIfCustomUser decorator

This commit is contained in:
Christopher Luc 2015-04-06 12:02:34 -07:00 committed by Tim Graham
parent f9c212d09a
commit e37d52bd5e
4 changed files with 23 additions and 1 deletions

View File

@ -1,10 +1,16 @@
import warnings
from unittest import skipIf from unittest import skipIf
from django.conf import settings from django.conf import settings
from django.utils.deprecation import RemovedInDjango21Warning
def skipIfCustomUser(test_func): def skipIfCustomUser(test_func):
""" """
Skip a test if a custom user model is in use. Skip a test if a custom user model is in use.
""" """
warnings.warn(
"django.contrib.auth.tests.utils.skipIfCustomUser is deprecated.",
RemovedInDjango21Warning, stacklevel=2)
return skipIf(settings.AUTH_USER_MODEL != 'auth.User', 'Custom user model in use')(test_func) return skipIf(settings.AUTH_USER_MODEL != 'auth.User', 'Custom user model in use')(test_func)

View File

@ -30,7 +30,10 @@ details on these changes.
* ``Field.remote_field.to`` attribute will be removed. * ``Field.remote_field.to`` attribute will be removed.
* ``django.db.models.fields.add_lazy_relation`` will be removed. * ``django.db.models.fields.add_lazy_relation()`` will be removed.
* The ``django.contrib.auth.tests.utils.skipIfCustomUser()`` decorator will be
removed.
.. _deprecation-removed-in-2.0: .. _deprecation-removed-in-2.0:

View File

@ -401,6 +401,12 @@ Miscellaneous
* Private API ``django.db.models.fields.add_lazy_relation()`` is deprecated. * Private API ``django.db.models.fields.add_lazy_relation()`` is deprecated.
* The ``django.contrib.auth.tests.utils.skipIfCustomUser()`` decorator is
deprecated. With the test discovery changes in Django 1.6, the tests for
``django.contrib`` apps are no longer run as part of the user's project.
Therefore, the ``@skipIfCustomUser`` decorator is no longer needed to
decorate tests in ``django.contrib.auth``.
.. removed-features-1.9: .. removed-features-1.9:
Features removed in 1.9 Features removed in 1.9

View File

@ -912,6 +912,13 @@ This decorator will cause a test case to be skipped if any User model other
than the default Django user is in use. This decorator can be applied to a than the default Django user is in use. This decorator can be applied to a
single test, or to an entire test class. single test, or to an entire test class.
.. deprecated:: 1.9
With the test discovery changes in Django 1.6, the tests for
``django.contrib`` apps are no longer run as part of the user's project.
Therefore, the ``@skipIfCustomUser`` decorator is no longer needed to
decorate tests in ``django.contrib.auth``.
Depending on your application, tests may also be needed to be added to ensure Depending on your application, tests may also be needed to be added to ensure
that the application works with *any* user model, not just the default User that the application works with *any* user model, not just the default User
model. To assist with this, Django provides two substitute user models that model. To assist with this, Django provides two substitute user models that