示例#1
0
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
示例#2
0
    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,
        }})
示例#3
0
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
示例#6
0
def configure_mailers(mailbox):
    configure(mailers={"default": Mailer(InMemoryTransport(mailbox))})