@@ -10,6 +10,7 @@ from tempfile import TemporaryDirectory
|
||||
from atst.app import make_app, make_config
|
||||
from atst.database import db as _db
|
||||
from atst.domain.auth import logout
|
||||
from atst.queue import queue
|
||||
import tests.factories as factories
|
||||
from tests.mocks import PDF_FILENAME
|
||||
|
||||
|
17
tests/test_queue.py
Normal file
17
tests/test_queue.py
Normal file
@@ -0,0 +1,17 @@
|
||||
import pytest
|
||||
from atst.queue import queue
|
||||
|
||||
# ensure queue is always empty for unit testing
|
||||
@pytest.fixture(scope="function", autouse=True)
|
||||
def reset_queue():
|
||||
queue.get_queue().empty()
|
||||
yield
|
||||
queue.get_queue().empty()
|
||||
|
||||
|
||||
def test_send_mail():
|
||||
initial = len(queue.get_queue())
|
||||
queue.send_mail(
|
||||
["lordvader@geocities.net"], "death start", "how is it coming along?"
|
||||
)
|
||||
assert len(queue.get_queue()) == initial + 1
|
48
tests/utils/test_mailer.py
Normal file
48
tests/utils/test_mailer.py
Normal file
@@ -0,0 +1,48 @@
|
||||
import pytest
|
||||
from atst.utils.mailer import Mailer, Mailer, MailConnection, RedisConnection
|
||||
|
||||
|
||||
class MockConnection(MailConnection):
|
||||
def __init__(self):
|
||||
self._messages = []
|
||||
|
||||
def send(self, message):
|
||||
self._messages.append(message)
|
||||
|
||||
@property
|
||||
def messages(self):
|
||||
return self._messages
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def mailer():
|
||||
return Mailer(MockConnection(), "test@atat.com")
|
||||
|
||||
|
||||
def test_mailer_can_send_mail(mailer):
|
||||
message_data = {
|
||||
"recipients": ["ben@tattoine.org"],
|
||||
"subject": "help",
|
||||
"body": "you're my only hope",
|
||||
}
|
||||
mailer.send(**message_data)
|
||||
assert len(mailer.messages) == 1
|
||||
message = mailer.messages[0]
|
||||
assert message["To"] == message_data["recipients"][0]
|
||||
assert message["Subject"] == message_data["subject"]
|
||||
assert message.get_content().strip() == message_data["body"]
|
||||
|
||||
|
||||
def test_redis_mailer_can_save_messages(app):
|
||||
mailer = Mailer(RedisConnection(app.redis), "test@atat.com")
|
||||
message_data = {
|
||||
"recipients": ["ben@tattoine.org"],
|
||||
"subject": "help",
|
||||
"body": "you're my only hope",
|
||||
}
|
||||
mailer.send(**message_data)
|
||||
assert len(mailer.messages) == 1
|
||||
message = mailer.messages[0]
|
||||
assert message_data["recipients"][0] in message
|
||||
assert message_data["subject"] in message
|
||||
assert message_data["body"] in message
|
Reference in New Issue
Block a user