def test_multi_backend_sent_count(self): test_backends = { 'mailjet': { 'backend': 'django_email_multibackend.tests.FakeSendingBackend', }, 'mailjet2': { 'backend': 'django_email_multibackend.tests.FakeSendingBackend', }, } test_weights = ( ('mailjet', 1), ('mailjet2', 1), ) instance = EmailMultiServerBackend(backends=test_backends, backend_weights=test_weights) messages = [ EmailMessage(), EmailMessage(), EmailMessage(), EmailMessage() ] self.assertEquals(4, instance.send_messages(messages))
def test_connection_error_count(self): test_backends = { 'mailjet': { 'backend': 'django_email_multibackend.tests.NoConnectionBackend', }, } test_weights = ( ('mailjet', 1), ) instance = EmailMultiServerBackend(backends=test_backends, backend_weights=test_weights) messages = [EmailMessage(), EmailMessage()] self.assertEquals(0, instance.send_messages(messages))
def test_connection_error_count(self): test_backends = { 'mailjet': { 'backend': 'django_email_multibackend.tests.NoConnectionBackend', }, } test_weights = (('mailjet', 1), ) instance = EmailMultiServerBackend(backends=test_backends, backend_weights=test_weights) messages = [EmailMessage(), EmailMessage()] self.assertEquals(0, instance.send_messages(messages))
def test_sent_count(self): test_backends = { 'mailjet': { 'backend': 'django_email_multibackend.tests.FakeSendingBackend', }, } test_weights = ( ('mailjet', 1), ) instance = EmailMultiServerBackend(backends=test_backends, backend_weights=test_weights) messages = [EmailMessage(), EmailMessage()] self.assertEquals(2, instance.send_messages(messages))
def test_backend_classes(self): instance = EmailMultiServerBackend() for backend_name, backend in instance.servers.items(): assert isinstance( backend, (FakeTransactionalMailBackend, FakeCampaignMailBackend))
def test_send_messages(self): mails = [transactional_email, campaign_email] instance = EmailMultiServerBackend() self.assertRaises(SendMailException, instance.send_messages, mails)
def test_send_message(self): instance = EmailMultiServerBackend() self.assertRaises(SendMailException, instance.send_messages, transactional_email)
def test_get_backend(self): instance = EmailMultiServerBackend() for i in range(10): assert instance.get_backend( campaign_email) in instance.servers.values()
def test_weights(self): instance = EmailMultiServerBackend() assert (instance.weights == settings.EMAIL_BACKENDS_WEIGHTS)
def test_default_weights(self): instance = EmailMultiServerBackend() backends = dict.fromkeys(['b1', 'b2']) weights = instance.backends_weights(None, backends) self.assertListEqual(list(zip(*weights)[0]), backends.keys())
def test_init(self): EmailMultiServerBackend()
def test_filtered_backends(self): instance = EmailMultiServerBackend() transactional_backends = instance.get_backends_for_email( campaign_email) assert transactional_backends == [('mailchimp', 3)]
def test_match_all_backends(self): instance = EmailMultiServerBackend() transactional_backends = instance.get_backends_for_email( transactional_email) assert transactional_backends == list(instance.weights)
def test_default_weights(self): instance = EmailMultiServerBackend() backends = dict.fromkeys(['b1', 'b2']) weights = instance.backends_weights(None, backends) self.assertEqual(set([('b1', 1), ('b2', 1)]), set(weights))
def test_filtered_backends(self): instance = EmailMultiServerBackend() transactional_backends = instance.get_backends_for_email(campaign_email) assert transactional_backends == [('mailchimp', 3)]
def test_match_all_backends(self): instance = EmailMultiServerBackend() transactional_backends = instance.get_backends_for_email(transactional_email) assert transactional_backends == list(instance.weights)
def test_get_backend(self): instance = EmailMultiServerBackend() for i in range(10): assert instance.get_backend(campaign_email) in instance.servers.values()
def test_default_weights(self): instance = EmailMultiServerBackend() backends = dict.fromkeys(['b1', 'b2']) weights = instance.backends_weights(None, backends) self.assertListEqual(list(zip(*weights)[0]), backends.keys())
def test_default_weights(self): instance = EmailMultiServerBackend() backends = dict.fromkeys(['b1', 'b2']) weights = instance.backends_weights(None, backends) self.assertEqual(set([('b1', 1), ('b2', 1)]), set(weights))