Răsfoiți Sursa

test: better send test

Mikael Koli 4 ani în urmă
părinte
comite
a290f6a70f
1 a modificat fișierele cu 27 adăugiri și 5 ștergeri
  1. 27 5
      redmail/test/email/test_send.py

+ 27 - 5
redmail/test/email/test_send.py

@@ -1,16 +1,38 @@
 
+from email.message import EmailMessage
 import pytest
 
 from redmail import EmailSender, send_email
 
+class MockServer:
+
+    def __init__(self, host, port):
+        self.host = host
+        self.port = port
+        self.is_login = False
+
+    def starttls(self):
+        return
+
+    def login(self, user=None, password=None):
+        self.is_login = True
+        return
+
+    def send_message(self, msg):
+        return
+
+    def quit(self):
+        return
+
 def test_send():
     email = EmailSender(host="localhost", port=0)
+    email._cls_smtp_server = MockServer
     # This should fail but we test everything else goes through
-    with pytest.raises(ConnectionRefusedError):
-        email.send(
-            subject="An example",
-            receivers=['koli.mikael@example.com']
-        )
+    msg = email.send(
+        subject="An example",
+        receivers=['koli.mikael@example.com']
+    )
+    assert isinstance(msg, EmailMessage)
 
 def test_send_function():
     # This should fail but we test everything else goes through