test_testmailsetup.py 1.5 KB

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