Adapted sendtestemail to be more argparse-ish

This commit is contained in:
Claude Paroz 2015-03-20 20:23:43 +01:00
parent 0d9b018e07
commit ba37ac749e
2 changed files with 5 additions and 11 deletions

View File

@ -7,14 +7,15 @@ from django.core.management.base import BaseCommand, CommandError
class Command(BaseCommand):
help = "Sends a test email to the email addresses specified as arguments."
args = "<email1 email2 ...>"
def add_arguments(self, parser):
parser.add_argument('email', nargs='+',
help='One or more email addresses to send the test mail to.')
def handle(self, *args, **kwargs):
if not args:
raise CommandError('You must provide at least one destination email.')
send_mail(
subject='Test email from %s on %s' % (socket.gethostname(), datetime.datetime.now()),
message="If you\'re reading this, it was successful.",
from_email=None,
recipient_list=args,
recipient_list=kwargs['email'],
)

View File

@ -32,10 +32,3 @@ class SendTestEmailManagementCommand(SimpleTestCase):
mail_message = mail.outbox[0]
self.assertEqual(mail_message.subject[0:15], 'Test email from')
self.assertEqual(mail_message.recipients(), recipients)
def test_send_test_email_missing_recipient(self):
"""
A CommandError is raised if no recipients are specified.
"""
with self.assertRaisesMessage(CommandError, 'You must provide at least one destination email'):
call_command("sendtestemail")