Mail tests with no mail server configured.
authorJonathan Sandoval <jsandoval@utp.edu.co>
Fri, 8 Apr 2016 18:07:06 +0000 (13:07 -0500)
committerJonathan Sandoval <jsandoval@utp.edu.co>
Fri, 8 Apr 2016 18:07:06 +0000 (13:07 -0500)
mediagoblin/tests/test_util.py

index 8193233fc6a6287ef30c8dfad60766c486dbbf8b..014c5eb8ffeb4a69b36cadf9312090d2f006142e 100644 (file)
@@ -181,3 +181,28 @@ def test_html_cleaner():
         '<p><a href="javascript:nasty_surprise">innocent link!</a></p>')
     assert result == (
         '<p><a href="">innocent link!</a></p>')
+class TestMail(object):
+    """ Test mediagoblin's mail tool """
+    def test_no_mail_server(self):
+        """ Tests that no smtp server is available """
+        with pytest.raises(mail.NoSMTPServerError), mock.patch("smtplib.SMTP") as smtp_mock:
+            smtp_mock.side_effect = socket.error
+            mg_globals.app_config = {
+                "email_debug_mode": False,
+                "email_smtp_use_ssl": False,
+                "email_smtp_host": "127.0.0.1",
+                "email_smtp_port": 0}
+            common.TESTS_ENABLED = False
+            mail.send_email("", "", "", "")
+
+    def test_no_smtp_host(self):
+        """ Empty email_smtp_host """
+        with pytest.raises(mail.NoSMTPServerError), mock.patch("smtplib.SMTP") as smtp_mock:
+            smtp_mock.return_value.connect.side_effect = socket.error
+            mg_globals.app_config = {
+                "email_debug_mode": False,
+                "email_smtp_use_ssl": False,
+                "email_smtp_host": "",
+                "email_smtp_port": 0}
+            common.TESTS_ENABLED = False
+            mail.send_email("", "", "", "")