Skip to content

[pull] main from django:main#361

Merged
pull[bot] merged 5 commits intothreatcode:mainfrom
django:main
Apr 11, 2026
Merged

[pull] main from django:main#361
pull[bot] merged 5 commits intothreatcode:mainfrom
django:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Apr 11, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

Django automatically substitutes the locmem EmailBackend during tests,
and SimpleTestCase empties mail.outbox before each test.
Broke apart independent cases in mail tests using subTest() or separate
methods.
Replaced large MailTests class with smaller classes focused on
specific django.core.mail APIs:

- EmailMessageTests: covering EmailMessage and EmailMultiAlternatives
  classes (the bulk of the former MailTests cases).
- SendMailTests, SendMassMailTests, MailAdminsAndManagersTests:
  covering the function-based mail APIs.
- GetConnectionTests: covering get_connection().
- DeprecatedInternalsTests: covering deprecated internal methods used
  in deprecated functionality.
- DummyBackendTests: covering the dummy EmailBackend.

In the process, moved the two cases from MailTimeZoneTests into the new
EmailMessageTests, as they related to EmailMessage Date headers.
Relocated BaseEmailBackendTests that are _not_ dependent on the email
backend.

- In general, moved test cases to EmailMessageTests or SendMailTests
  as appropriate, and changed them to work with the testing outbox.

- Replaced BaseEmailBackendTests.test_send_verbose_name() with
  EmailMessageTests.test_unicode_display_name_in_from_email().
  (EmailMessageTests.test_address_header_handling() also partly covers
  the behavior, as well as Python's own message serialization tests.)

- Removed BaseEmailBackendTests.test_message_cc_header(), which was
  already covered by EmailMessageTests.test_cc*() (and Python's own
  message serialization tests).

- Replaced BaseEmailBackendTests.test_idn_send() with
  EmailMessageTests.test_idn_addresses() to cover from_email and cc.
  (EmailMessageTests.test_address_header_handling() already covered to.)

- Removed BaseEmailBackendTests.test_recipient_without_domain(), which
  was partly covered by EmailMessageTests.test_localpart_only_address().
  Updated the latter to cover a localpart-only from_email.

- Updated docstrings and comments to clarify a few tests that _do_
  depend on the email backend.
Moved tests for specific email backends from tests/mail/tests.py
to test_backends.py to reduce file size and discourage adding
non-backend-specific tests to BaseEmailBackendTests.
@pull pull Bot locked and limited conversation to collaborators Apr 11, 2026
@pull pull Bot added the ⤵️ pull label Apr 11, 2026
@pull pull Bot merged commit d61f33f into threatcode:main Apr 11, 2026
17 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant