diff --git a/docs/internals/howto-release-django.txt b/docs/internals/howto-release-django.txt index fabf1331cc0b..8d95018a0d85 100644 --- a/docs/internals/howto-release-django.txt +++ b/docs/internals/howto-release-django.txt @@ -171,15 +171,15 @@ any time leading up to the actual release. * Export user information: - .. code-block:: shell + .. code-block:: shell - $ export CVE_USER=@djangoproject.com CVE_ORG=DSF + $ export CVE_USER=@djangoproject.com CVE_ORG=DSF * Reserve: - .. code-block:: shell + .. code-block:: shell - $ cve --interactive reserve + $ cve --interactive reserve #. Generate the relevant (private) patch(es) using ``git format-patch``, one for the ``main`` branch and one for each stable branch being patched. @@ -347,6 +347,9 @@ cut. The following items should be addressed in this branch: features section in the release notes (:commit:`example commit `). +#. Advance the deprecation warnings (:commit:`example commit + <0c0bda7f79a2de89a55cfcc8e60467d6588f406f>`). + #. Increase the default PBKDF2 iterations in ``django.contrib.auth.hashers.PBKDF2PasswordHasher`` by about 20% (pick a round number). Run the tests, and update the 3 failing diff --git a/tests/contenttypes_tests/test_views.py b/tests/contenttypes_tests/test_views.py index eb3ab0a92d9e..bf15a5980b2e 100644 --- a/tests/contenttypes_tests/test_views.py +++ b/tests/contenttypes_tests/test_views.py @@ -1,6 +1,7 @@ import datetime from unittest import mock +from django.conf import settings from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.views import shortcut from django.contrib.sites.models import Site @@ -26,9 +27,10 @@ class ContentTypesViewsTests(TestCase): @classmethod def setUpTestData(cls): - # Don't use the manager to ensure the site exists with pk=1, regardless - # of whether or not it already exists. - cls.site1 = Site(pk=1, domain="testserver", name="testserver") + # Update the default site to use the testserver domain to avoid + # assertRedirects() failure: "The test client is unable to fetch + # remote URLs (got http://example.com/authors/1/)." + cls.site1 = Site(pk=settings.SITE_ID, domain="testserver", name="testserver") cls.site1.save() cls.author1 = Author.objects.create(name="Boris") cls.article1 = Article.objects.create( @@ -182,7 +184,7 @@ def test_shortcut_view_with_site_m2m(self, get_model): # domains in the MockSite model. MockSite.objects.bulk_create( [ - MockSite(pk=1, domain="example.com"), + MockSite(pk=settings.SITE_ID, domain="example.com"), MockSite(pk=self.site_2.pk, domain=self.site_2.domain), MockSite(pk=self.site_3.pk, domain=self.site_3.domain), ] diff --git a/tests/flatpages_tests/test_csrf.py b/tests/flatpages_tests/test_csrf.py index 702b0c561452..a9a537ad17eb 100644 --- a/tests/flatpages_tests/test_csrf.py +++ b/tests/flatpages_tests/test_csrf.py @@ -20,15 +20,11 @@ ROOT_URLCONF="flatpages_tests.urls", CSRF_FAILURE_VIEW="django.views.csrf.csrf_failure", TEMPLATES=FLATPAGES_TEMPLATES, - SITE_ID=1, ) class FlatpageCSRFTests(TestCase): @classmethod def setUpTestData(cls): - # don't use the manager because we want to ensure the site exists - # with pk=1, regardless of whether or not it already exists. - cls.site1 = Site(pk=1, domain="example.com", name="example.com") - cls.site1.save() + cls.site1 = Site.objects.get() cls.fp1 = FlatPage.objects.create( url="/flatpage/", title="A Flatpage", diff --git a/tests/flatpages_tests/test_forms.py b/tests/flatpages_tests/test_forms.py index 00caf019600f..933568e26533 100644 --- a/tests/flatpages_tests/test_forms.py +++ b/tests/flatpages_tests/test_forms.py @@ -7,15 +7,7 @@ @modify_settings(INSTALLED_APPS={"append": ["django.contrib.flatpages"]}) -@override_settings(SITE_ID=1) class FlatpageAdminFormTests(TestCase): - @classmethod - def setUpTestData(cls): - # don't use the manager because we want to ensure the site exists - # with pk=1, regardless of whether or not it already exists. - cls.site1 = Site(pk=1, domain="example.com", name="example.com") - cls.site1.save() - def setUp(self): # Site fields cache needs to be cleared after flatpages is added to # INSTALLED_APPS diff --git a/tests/flatpages_tests/test_middleware.py b/tests/flatpages_tests/test_middleware.py index 5d779c656cd1..65332510b4a5 100644 --- a/tests/flatpages_tests/test_middleware.py +++ b/tests/flatpages_tests/test_middleware.py @@ -10,10 +10,7 @@ class TestDataMixin: @classmethod def setUpTestData(cls): - # don't use the manager because we want to ensure the site exists - # with pk=1, regardless of whether or not it already exists. - cls.site1 = Site(pk=1, domain="example.com", name="example.com") - cls.site1.save() + cls.site1 = Site.objects.get() cls.fp1 = FlatPage.objects.create( url="/flatpage/", title="A Flatpage", @@ -65,7 +62,6 @@ def setUpTestData(cls): ], ROOT_URLCONF="flatpages_tests.urls", TEMPLATES=FLATPAGES_TEMPLATES, - SITE_ID=1, ) class FlatpageMiddlewareTests(TestDataMixin, TestCase): def test_view_flatpage(self): @@ -147,7 +143,6 @@ def test_fallback_flatpage_special_chars(self): ], ROOT_URLCONF="flatpages_tests.urls", TEMPLATES=FLATPAGES_TEMPLATES, - SITE_ID=1, ) class FlatpageMiddlewareAppendSlashTests(TestDataMixin, TestCase): def test_redirect_view_flatpage(self): diff --git a/tests/flatpages_tests/test_sitemaps.py b/tests/flatpages_tests/test_sitemaps.py index abb3e9dba686..d56aab2ceddd 100644 --- a/tests/flatpages_tests/test_sitemaps.py +++ b/tests/flatpages_tests/test_sitemaps.py @@ -4,10 +4,7 @@ from django.test.utils import modify_settings, override_settings -@override_settings( - ROOT_URLCONF="flatpages_tests.urls", - SITE_ID=1, -) +@override_settings(ROOT_URLCONF="flatpages_tests.urls") @modify_settings( INSTALLED_APPS={ "append": ["django.contrib.sitemaps", "django.contrib.flatpages"], diff --git a/tests/flatpages_tests/test_templatetags.py b/tests/flatpages_tests/test_templatetags.py index f21940db79b7..8362b0b915e0 100644 --- a/tests/flatpages_tests/test_templatetags.py +++ b/tests/flatpages_tests/test_templatetags.py @@ -8,10 +8,7 @@ class FlatpageTemplateTagTests(TestCase): @classmethod def setUpTestData(cls): - # don't use the manager because we want to ensure the site exists - # with pk=1, regardless of whether or not it already exists. - cls.site1 = Site(pk=1, domain="example.com", name="example.com") - cls.site1.save() + cls.site1 = Site.objects.get() cls.fp1 = FlatPage.objects.create( url="/flatpage/", title="A Flatpage", diff --git a/tests/flatpages_tests/test_views.py b/tests/flatpages_tests/test_views.py index 24ad07d35a7f..ce96e0477c05 100644 --- a/tests/flatpages_tests/test_views.py +++ b/tests/flatpages_tests/test_views.py @@ -10,10 +10,7 @@ class TestDataMixin: @classmethod def setUpTestData(cls): - # don't use the manager because we want to ensure the site exists - # with pk=1, regardless of whether or not it already exists. - cls.site1 = Site(pk=1, domain="example.com", name="example.com") - cls.site1.save() + cls.site1 = Site.objects.get() cls.fp1 = FlatPage.objects.create( url="/flatpage/", title="A Flatpage", @@ -65,7 +62,6 @@ def setUpTestData(cls): ], ROOT_URLCONF="flatpages_tests.urls", TEMPLATES=FLATPAGES_TEMPLATES, - SITE_ID=1, ) class FlatpageViewTests(TestDataMixin, TestCase): def test_view_flatpage(self): @@ -129,7 +125,6 @@ def test_view_flatpage_special_chars(self): ], ROOT_URLCONF="flatpages_tests.urls", TEMPLATES=FLATPAGES_TEMPLATES, - SITE_ID=1, ) class FlatpageViewAppendSlashTests(TestDataMixin, TestCase): def test_redirect_view_flatpage(self): diff --git a/tests/redirects_tests/tests.py b/tests/redirects_tests/tests.py index d175be62fb61..0ca35ce720f1 100644 --- a/tests/redirects_tests/tests.py +++ b/tests/redirects_tests/tests.py @@ -12,7 +12,7 @@ "append": "django.contrib.redirects.middleware.RedirectFallbackMiddleware" } ) -@override_settings(APPEND_SLASH=False, ROOT_URLCONF="redirects_tests.urls", SITE_ID=1) +@override_settings(APPEND_SLASH=False, ROOT_URLCONF="redirects_tests.urls") class RedirectTests(TestCase): @classmethod def setUpTestData(cls): @@ -95,7 +95,6 @@ class OverriddenRedirectFallbackMiddleware(RedirectFallbackMiddleware): @modify_settings( MIDDLEWARE={"append": "redirects_tests.tests.OverriddenRedirectFallbackMiddleware"} ) -@override_settings(SITE_ID=1) class OverriddenRedirectMiddlewareTests(TestCase): @classmethod def setUpTestData(cls): diff --git a/tests/view_tests/tests/test_defaults.py b/tests/view_tests/tests/test_defaults.py index 66bc1da16889..00ec35f3f8ee 100644 --- a/tests/view_tests/tests/test_defaults.py +++ b/tests/view_tests/tests/test_defaults.py @@ -1,6 +1,5 @@ import datetime -from django.contrib.sites.models import Site from django.http import Http404 from django.template import TemplateDoesNotExist from django.test import RequestFactory, TestCase @@ -52,7 +51,6 @@ def setUpTestData(cls): author=author, date_created=datetime.datetime(2001, 1, 1, 21, 22, 23), ) - Site(id=1, domain="testserver", name="testserver").save() def test_page_not_found(self): "A 404 status is returned by the page_not_found view"