def test_get_mailer(): sample_mailer = object() default_mailer = object() configure(mailers={"default": default_mailer, "sample": sample_mailer}) assert get_mailer() == default_mailer assert get_mailer("sample") == sample_mailer
def register(self, app: App) -> None: mailers.configure(self.mailers) for name, url in self.mailers.items(): app.singleton(f"mailers.{name}", lambda: mailers.registry.get(name)) app.alias(f"mailers.{self.default}", mailers.Mailer) app.singleton(MailComposer, MailComposer, aliases="mail_composer") app.config.update({"mailers": { "from_address": self.from_address, }})
async def test_send_mail_uses_mailer_by_string(message): spy = mock.MagicMock() class _mailer: async def send(self, message: EmailMessage) -> Any: spy(message) mailer = _mailer() configure(mailers={"custom": mailer}) await send_mail("root@localhost", message, "custom") spy.assert_called_once_with(message)
def test_adds_transports(): configure(mailers={}, transports={"test_transport": "TransportClass"}) assert "test_transport" in Transports.mapping
def test_adds_mailers(): configure(mailers={"test_transport": "console://"}) assert "test_transport" in registry
def configure_mailers(mailbox): configure(mailers={"default": Mailer(InMemoryTransport(mailbox))})