Commit ba37ac74 authored by Claude Paroz's avatar Claude Paroz
Browse files

Adapted sendtestemail to be more argparse-ish

parent 0d9b018e
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -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'],
        )
+0 −7
Original line number Diff line number Diff line
@@ -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")