test_testmailsetup.py 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. from django.core import mail
  2. from django.core.management import call_command
  3. from django.test import TestCase
  4. from django.utils.six import StringIO
  5. from ..management.commands import testemailsetup
  6. class TestEmailSetupTests(TestCase):
  7. def test_email_setup(self):
  8. """command sets test email in outbox"""
  9. command = testemailsetup.Command()
  10. out = StringIO()
  11. call_command(command, "t@mail.com", stdout=out)
  12. command_output = out.getvalue().splitlines()[0].strip()
  13. self.assertEqual(command_output, 'Test message was sent to t@mail.com')
  14. self.assertEqual('Test Message', mail.outbox[0].subject)
  15. def test_invalid_args(self):
  16. """
  17. there are no unhandled exceptions when command receives invalid args
  18. """
  19. command = testemailsetup.Command()
  20. out = StringIO()
  21. err = StringIO()
  22. call_command(command, "bawww", stdout=out, stderr=err)
  23. command_output = err.getvalue().splitlines()[-1].strip()
  24. self.assertEqual(command_output, "This isn't valid e-mail address")