summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2025-08-05Fixed #36530 -- Extended fields.E347 to check for ManyToManyField involving ↵jkhall81
CompositePrimaryKey on either side. Thanks to Jacob Walls for the report.
2025-08-05Refs #36282 -- Fixed PrefetchRelatedMTICacheTests test ordering expectations.Mariusz Felisiak
2025-08-04Fixed #35972 -- Fixed lookup crashes after subquery annotations.Jacob Walls
2025-08-04Fixed #34871, #36518 -- Implemented unresolved lookups expression replacement.Simon Charette
This allows the proper resolving of lookups when performing constraint validation involving Q and Case objects. Thanks Andrew Roberts for the report and Sarah for the tests and review.
2025-08-01Refs #35844 -- Readded optional requirements on daily builds for Python 3.14.Mariusz Felisiak
2025-07-30Fixed #36511 -- Ensured filters came before table in keyboard navigation in ↵antoliny0919
admin changelist.
2025-07-30Fixed #36528, Refs #34917 -- Removed role="button" from object-tools links.antoliny0919
Regression in 849f8307a5bb33465252d0891a9b2c47dde65889. In order to prevent underlines on links styled like buttons, role="button" was added. This has been removed and the style updated to reflect that these are links.
2025-07-30Fixed #36055 -- Prevented overlap of object-tools buttons and page header in ↵antoliny0919
the admin.
2025-07-29Fixed #36531 -- Added forkserver support to parallel test runner.Mariusz Felisiak
2025-07-28Fixed #36519 -- Made center template filter consistent for even/odd padding.mriduldhall
Refactored `center` template filter to match f-string behaviour, producing consistent padding for both odd and even fillings. Thanks Lily Acorn for the report and Natalia Bidart for the review. Co-authored-by: Lily Acorn <code@lilyf.org>
2025-07-28Added test for various widths in ↵mriduldhall
tests/template_tests/filter_tests/test_center.py.
2025-07-28Fixed #36522 -- Added support for filtering composite pks using a tuple of ↵Simon Charette
expressions. Thanks Jacob Walls for the report, and Sarah Boyce and Mariusz Felisiak for reviews.
2025-07-25Refs #36438 -- Made FieldOperation.references_field() detect references in ↵Clifford Gama
GeneratedField.expression. Thanks to Simon Charette for the suggestion and review.
2025-07-25Fixed #36438 -- Made MigrationAutodetector remove generated fields before ↵Clifford Gama
their base fields. Thanks to Colton Saska for the report and to Simon Charette for the review.
2025-07-25Fixed #35581 -- Updated django.core.mail to Python's modern email API.Mike Edmunds
- Changed EmailMessage.message() to construct a "modern email API" email.message.EmailMessage and added policy keyword arg. - Added support for modern MIMEPart objects in EmailMessage.attach() (and EmailMessage constructor, EmailMessage.attachments list). - Updated SMTP EmailBackend to use modern email.policy.SMTP. Deprecated: - Attaching MIMEBase objects (replace with MIMEPart) - BadHeaderError (modern email uses ValueError) - SafeMIMEText, SafeMIMEMultipart (unnecessary for modern email) - django.core.mail.forbid_multi_line_headers() (undocumented, but exposed via `__all__` and in wide use) - django.core.mail.message.sanitize_address() (undocumented, but in wide use) Removed without deprecation (all undocumented): - EmailMessage.mixed_subtype - EmailMultiAlternatives.alternative_subtype - Support for setting (undocumented) EmailMessage.encoding property to a legacy email.charset.Charset object Related changes: - Dropped tests for incorrect RFC 2047 encoding of non-ASCII email address localparts. This is specifically prohibited by RFC 2047, and not supported by any known MTA or email client. (Python still mis-applies encoded-word to non-ASCII localparts, but it is a bug that may be fixed in the future.) - Added tests that try to discourage using Python's legacy email APIs in future updates to django.core.mail.
2025-07-25Refs #35581 -- Added missing test for lazy email headers.Mike Edmunds
EmailMessage is intended to support lazy strings in any header field (via coercion to `str` in forbid_multi_line_headers() called from SafeMIMEMessage/Text/Multipart.__setitem__).
2025-07-24Fixed #36516, Refs #36366 -- Fixed changelist footer layout with ↵antoliny0919
list_editable and list_filter. Regression in 3f59711581bd22ebd0f13fb040b15b69c0eee21f.
2025-07-23Refs #36500 -- Corrected rewrapped long lines fixed via a script.Mike Edmunds
Manually reformatted some comments and docstrings where autofix_w505.py changed the meaning of the formatting.
2025-07-23Refs #36500 -- Rewrapped long docstrings and block comments via a script.django-bot
Rewrapped long docstrings and block comments to 79 characters + newline using script from https://github.com/medmunds/autofix-w505.
2025-07-23Refs #36500 -- Shortened some long docstrings and comments.Mike Edmunds
Manually reformatted some long docstrings and comments that would be damaged by the to-be-applied autofixer script, in cases where editorial judgment seemed necessary for style or wording changes.
2025-07-23Removed double spaces after periods and within phrases.Sarah Boyce
2025-07-23Refs #36009 -- Adjusted ↵David Smith
gis_tests.geoapp.tests.GeoLookupTest.test_relate_lookup for bug in PostGIS. ST_Relate() with PostGIS 3.5 and GEOS 3.13 gives a different result when a series of calls are made vs. single call of the same function. The fix for this is expected to be released in PostGIS 3.5.4 and 3.6.0. https://lists.osgeo.org/pipermail/postgis-devel/2025-July/030581.html https://trac.osgeo.org/postgis/ticket/5938
2025-07-22Fixed incorrectly concatenated string in ↵Mike Edmunds
SimpleBlockTagTests.test_simple_block_tag_with_context_missing_content().
2025-07-22Fixed #36226 -- Accepted str or bytes for password and salt in password hashers.Roel Delos Reyes
Co-authored-by: Screamadelica <1621456391@sjtu.edu.cn>
2025-07-22Fixed #36282 -- Used prefetched values in ForwardManyToOneDescriptor from ↵Take Weiland
indirect ancestors. When looking for cached values in ManyRelatedManager and ForwardManyToOneDescriptor walk up the whole chain of ancestors (as long as they are cached) to find the prefetched relation.
2025-07-22Fixed #36377 -- Added hints support to CreateExtension and subclasses.Anthony Sottile
2025-07-21Improved consistency of GEOS error messages.David Smith
2025-07-21Improved iteration of geometries in GEOS tests.David Smith
2025-07-21Added message to TypeError exceptions in GEOS WKTReader and WKBReader.David Smith
2025-07-21Used assertRaisesMessage and subTest where appropriate in GEOS tests.David Smith
2025-07-20Fixed #28696 -- Added GeometryType GIS database function and __geom_type lookup.Ahmed Ibrahim
Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2025-07-18Triggered window resize to fix layout issues.Sarah Boyce
2025-07-18Refs #35680 -- Sorted shell default autoimports to prevent isort mismatches.nessita
2025-07-18Fixed #36456 -- Improved content type negotiation in technical 500 error ↵IsJn-227
response.
2025-07-18Fixed #35728 -- Computed error messages in assertions only on test failures.Clifford Gama
Performance regression in 1dae65dc63ae84be5002c37b4ddae0b9220e8808. Thanks to Adam Johnson for the report.
2025-07-17Refs #4476 -- Added tests for assertRedirects() when following redirect chains.Clifford Gama
Thanks Natalia Bidart for the review.
2025-07-17Split monolithic AssertContainsTests.test_contains() into focused tests.Clifford Gama
Added a local helper to test assertion messages with and without a given msg_prefix.
2025-07-17Fixed #36163 -- Deprecated most positional arguments in django.core.mail.Mike Edmunds
In public mail APIs, changed less frequently used parameters from keyword-or-positional to keyword-only, emitting a warning during the required deprecation period.
2025-07-17Fixed #35680 -- Added automatic imports of common utilies to shell ↵Salvo Polizzi
management command.
2025-07-16Refs #35581 -- Added workaround for Python bug in mail tests.Mike Edmunds
See python/cpython#128110.
2025-07-16Refs #35581 -- Reduced implementation dependencies in mail tests.Mike Edmunds
Updated mail tests in preparation for migrating from Python's legacy to modern email API. The updated tests will pass with either Python API, and focus on desired outcomes (e.g., that a message with non-ASCII content parses accurately at the receiving end) rather than specific implementation details (e.g., where rfc2047 encoded-words are split). In a few cases that are still implementation dependent, added comments identifying behavior specific to the legacy email API and expected to change under the modern one. Added comments identifying tests that cover internal functions planned for deprecation, and (where meaningful) added similar tests to verify the equivalent behavior in non-deprecated features. Removed obsolete tests left over from Python 2.
2025-07-16Fixed #36477, Refs #36163 -- Added @deprecate_posargs decorator to simplify ↵Mike Edmunds
deprecation of positional arguments. This helper allows marking positional-or-keyword parameters as keyword-only with a deprecation period, in a consistent and correct manner.
2025-07-13Skipped test_no_logs_without_debug test when the runner is invoked with ↵Jacob Walls
--debug-sql.
2025-07-10Fixed #36502 -- Restored UNNEST strategy for foreign key bulk inserts on ↵Simon Charette
PostgreSQL. Regression in 764af7a3d6c0b543dcf659a2c327f214da768fe4.
2025-07-09Updated asgiref dependency.Carlton Gibson
2025-07-01Fixed #35846 -- Ensured consistent path ordering in ↵Matthew Stell
ManifestStaticFilesStorage manifest files. This change reuses the existing sorting of `hashed_files` in `ManifestStaticFilesStorage.save_manifest` to also store a sorted `paths` mapping in the manifest file. This ensures stable manifest output that does not change unnecessarily.
2025-07-01Fixed #36479 -- Improved how FileNotFoundError is triggered in code ↵Roel Delos Reyes
formatter tests. Ensured the test for formatter subprocess FileNotFoundError doesn't rely on platform-specific behavior, improving reliability on macOS and other systems by consistently using pathlib to build test paths.
2025-06-30Fixed #36464 -- Fixed "__in" tuple lookup on backends lacking native support.Simon Charette
When native support for tuple lookups is missing in a DB backend, it can be emulated with an EXISTS clause. This is controlled by the backend feature flag "supports_tuple_lookups". The mishandling of subquery right-hand side in `TupleIn` (added to support `CompositePrimaryKey` in Refs #373) was likely missed because the only core backend we test with the feature flag disabled (Oracle < 23.4) supports it natively. Thanks to Nandana Raol for the report, and to Sarah Boyce, Jacob Walls, and Natalia Bidart for reviews.
2025-06-27Fixed #15727 -- Added Content Security Policy (CSP) support.Rob Hudson
This initial work adds a pair of settings to configure specific CSP directives for enforcing or reporting policy violations, a new `django.middleware.csp.ContentSecurityPolicyMiddleware` to apply the appropriate headers to responses, and a context processor to support CSP nonces in templates for safely inlining assets. Relevant documentation has been added for the 6.0 release notes, security overview, a new how-to page, and a dedicated reference section. Thanks to the multiple reviewers for their precise and valuable feedback. Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2025-06-27Fixed #36366 -- Improved accessibility of pagination in the admin.antoliny0919