mirror of
https://github.com/django/django.git
synced 2025-08-03 10:34:04 +00:00
Fixed #24970 -- Added --managers and --admins options to the sendtestemail management command.
This commit is contained in:
parent
1c90a3dcca
commit
e7b4bd48c7
3 changed files with 89 additions and 13 deletions
|
@ -2,32 +2,83 @@ from __future__ import unicode_literals
|
|||
|
||||
from django.core import mail
|
||||
from django.core.management import call_command
|
||||
from django.test import SimpleTestCase
|
||||
from django.test import SimpleTestCase, override_settings
|
||||
|
||||
|
||||
@override_settings(
|
||||
ADMINS=(('Admin', 'admin@example.com'), ('Admin and Manager', 'admin_and_manager@example.com')),
|
||||
MANAGERS=(('Manager', 'manager@example.com'), ('Admin and Manager', 'admin_and_manager@example.com')),
|
||||
)
|
||||
class SendTestEmailManagementCommand(SimpleTestCase):
|
||||
"""
|
||||
Test the sending of a test email using the `sendtestemail` command.
|
||||
"""
|
||||
|
||||
def test_send_test_email(self):
|
||||
def test_single_receiver(self):
|
||||
"""
|
||||
The mail is sent with the correct subject and recipient.
|
||||
"""
|
||||
recipient = "joe@example.com"
|
||||
call_command("sendtestemail", recipient)
|
||||
recipient = 'joe@example.com'
|
||||
call_command('sendtestemail', recipient)
|
||||
self.assertEqual(len(mail.outbox), 1)
|
||||
mail_message = mail.outbox[0]
|
||||
self.assertEqual(mail_message.subject[0:15], 'Test email from')
|
||||
self.assertEqual(mail_message.recipients(), [recipient])
|
||||
|
||||
def test_send_test_email_with_multiple_addresses(self):
|
||||
def test_multiple_receivers(self):
|
||||
"""
|
||||
The mail may be sent with multiple recipients.
|
||||
"""
|
||||
recipients = ["joe@example.com", "jane@example.com"]
|
||||
call_command("sendtestemail", recipients[0], recipients[1])
|
||||
recipients = ['joe@example.com', 'jane@example.com']
|
||||
call_command('sendtestemail', recipients[0], recipients[1])
|
||||
self.assertEqual(len(mail.outbox), 1)
|
||||
mail_message = mail.outbox[0]
|
||||
self.assertEqual(mail_message.subject[0:15], 'Test email from')
|
||||
self.assertEqual(mail_message.recipients(), recipients)
|
||||
self.assertEqual(sorted(mail_message.recipients()), [
|
||||
'jane@example.com',
|
||||
'joe@example.com',
|
||||
])
|
||||
|
||||
def test_manager_receivers(self):
|
||||
"""
|
||||
The mail should be sent to the email addresses specified in
|
||||
settings.MANAGERS.
|
||||
"""
|
||||
call_command('sendtestemail', '--managers')
|
||||
self.assertEqual(len(mail.outbox), 1)
|
||||
mail_message = mail.outbox[0]
|
||||
self.assertEqual(sorted(mail_message.recipients()), [
|
||||
'admin_and_manager@example.com',
|
||||
'manager@example.com',
|
||||
])
|
||||
|
||||
def test_admin_receivers(self):
|
||||
"""
|
||||
The mail should be sent to the email addresses specified in
|
||||
settings.ADMIN.
|
||||
"""
|
||||
call_command('sendtestemail', '--admins')
|
||||
self.assertEqual(len(mail.outbox), 1)
|
||||
mail_message = mail.outbox[0]
|
||||
self.assertEqual(sorted(mail_message.recipients()), [
|
||||
'admin@example.com',
|
||||
'admin_and_manager@example.com',
|
||||
])
|
||||
|
||||
def test_manager_and_admin_receivers(self):
|
||||
"""
|
||||
The mail should be sent to the email addresses specified in both
|
||||
settings.MANAGERS and settings.ADMINS.
|
||||
"""
|
||||
call_command('sendtestemail', '--managers', '--admins')
|
||||
self.assertEqual(len(mail.outbox), 2)
|
||||
manager_mail = mail.outbox[0]
|
||||
self.assertEqual(sorted(manager_mail.recipients()), [
|
||||
'admin_and_manager@example.com',
|
||||
'manager@example.com',
|
||||
])
|
||||
admin_mail = mail.outbox[1]
|
||||
self.assertEqual(sorted(admin_mail.recipients()), [
|
||||
'admin@example.com',
|
||||
'admin_and_manager@example.com',
|
||||
])
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue