def setUp(self):
     self.serialized = '{"body": "test body", "to": ["*****@*****.**"],' \
                       ' "connection": "django.core.mail.backends.smtp.EmailBackend",' \
                       ' "attachments": ["/path/to/file"], "bcc": ["*****@*****.**"], "cc": ["*****@*****.**"],' \
                       ' "headers": {"Extra-Header": "extra-value"}, "from_email": "*****@*****.**",' \
                       ' "subject": "test subject"}'
     unserializer = load_object(django_gearman_proxy.settings.GEARMAN_EMAIL_UNSERIALIZER)
     self.email_message = unserializer(self.serialized)
 def setUp(self):
     self.serialized = '{"body": "sms body", "to": ["0002", "0003"], ' \
                       '"connection": "sendsms.backends.smssluzbacz.SmsBackend", "flash": true, ' \
                       '"from_phone": "0001"}'
     unserializer = load_object(django_gearman_proxy.settings.GEARMAN_SMS_UNSERIALIZER)
     self.sms_message = unserializer(self.serialized)
 def setUp(self):
     self.sms_message = SmsMessage('sms body', from_phone='0001', to=['0002', '0003'], flash=True)
     serializer = load_object(django_gearman_proxy.settings.GEARMAN_SMS_SERIALIZER)
     self.serialized = json.loads(serializer(self.sms_message))
import json
import unittest

from sendsms.message import SmsMessage

import django_gearman_proxy.settings
django_gearman_proxy.settings.GEARMAN_SMS_BACKEND = 'sendsms.backends.smssluzbacz.SmsBackend'
django_gearman_proxy.settings.GEARMAN_SMS_SERIALIZER = 'django_gearman_proxy.serializers.sms.json.serialize'
django_gearman_proxy.settings.GEARMAN_SMS_UNSERIALIZER = 'django_gearman_proxy.serializers.sms.json.unserialize'

from django_gearman_proxy import load_object
SmsBackend = load_object(django_gearman_proxy.settings.GEARMAN_SMS_BACKEND)


class TestSmsJsonSerializer(unittest.TestCase):

    def setUp(self):
        self.sms_message = SmsMessage('sms body', from_phone='0001', to=['0002', '0003'], flash=True)
        serializer = load_object(django_gearman_proxy.settings.GEARMAN_SMS_SERIALIZER)
        self.serialized = json.loads(serializer(self.sms_message))

    def test_serialize(self):
        self.assertIsInstance(self.serialized, dict)
        self.assertEqual(self.serialized['body'], 'sms body')
        self.assertEqual(self.serialized['from_phone'], '0001')
        self.assertEqual(self.serialized['to'], ['0002', '0003'])
        self.assertTrue(self.serialized['flash'])
        self.assertEqual(self.serialized['connection'], django_gearman_proxy.settings.GEARMAN_SMS_BACKEND)


class TestSmsJsonUnserializer(unittest.TestCase):
Ejemplo n.º 5
0
from sendsms.backends.base import BaseSmsBackend

from django_gearman_commands import submit_job

from django.core.management import load_command_class

import django_gearman_proxy.settings
from django_gearman_proxy import load_object


PROXY_TASK_NAME = load_command_class('django_gearman_proxy', 'send_sms').task_name
SERIALIZER = load_object(django_gearman_proxy.settings.GEARMAN_SMS_SERIALIZER)


class SmsBackend(BaseSmsBackend):

    def send_messages(self, messages):
        """
        :param messages: list of sendsms.message.SmsMessage objects.
        :type messages: list
        :return: number of successfully submitted send_sms jobs
        :rtype: int

        """
        sent = 0
        for msg in messages:
            try:
                submit_job(PROXY_TASK_NAME, data=SERIALIZER(msg))
                sent += 1
            except Exception:
                if not self.fail_silently:
Ejemplo n.º 6
0
import logging

from django_gearman_commands import GearmanWorkerBaseCommand

import django_gearman_proxy.settings
from django_gearman_proxy import load_object

log = logging.getLogger(__name__)

UNSERIALIZER = load_object(
    django_gearman_proxy.settings.GEARMAN_EMAIL_UNSERIALIZER)


class Command(GearmanWorkerBaseCommand):
    @property
    def task_name(self):
        return 'send_mail'

    def do_job(self, job_data):
        to_return = False
        try:
            email_message = UNSERIALIZER(job_data)
            log.info('Sending mail message to "%s"', email_message.to)
            to_return = email_message.send()
        except Exception:
            log.exception('Error while sending mail message with data: %s',
                          job_data)
        return to_return
 def setUp(self):
     self.email_message = EmailMessage(subject=u'test subject', body=u'test body', from_email='*****@*****.**',
                                       to=['*****@*****.**'], bcc=['*****@*****.**'], attachments=['/path/to/file'],
                                       headers={'Extra-Header': 'extra-value'}, cc=['*****@*****.**'])
     serializer = load_object(django_gearman_proxy.settings.GEARMAN_EMAIL_SERIALIZER)
     self.serialized = json.loads(serializer(self.email_message))
import json
import unittest

from django.core.mail.message import EmailMessage

import django_gearman_proxy.settings
django_gearman_proxy.settings.GEARMAN_EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
django_gearman_proxy.settings.GEARMAN_EMAIL_SERIALIZER = 'django_gearman_proxy.serializers.mail.json.serialize'
django_gearman_proxy.settings.GEARMAN_EMAIL_UNSERIALIZER = 'django_gearman_proxy.serializers.mail.json.unserialize'

from django_gearman_proxy import load_object
EmailBackend = load_object(django_gearman_proxy.settings.GEARMAN_EMAIL_BACKEND)


class TestMailJsonSerializer(unittest.TestCase):

    def setUp(self):
        self.email_message = EmailMessage(subject=u'test subject', body=u'test body', from_email='*****@*****.**',
                                          to=['*****@*****.**'], bcc=['*****@*****.**'], attachments=['/path/to/file'],
                                          headers={'Extra-Header': 'extra-value'}, cc=['*****@*****.**'])
        serializer = load_object(django_gearman_proxy.settings.GEARMAN_EMAIL_SERIALIZER)
        self.serialized = json.loads(serializer(self.email_message))

    def test_serialize(self):
        self.assertIsInstance(self.serialized, dict)
        self.assertEqual(self.serialized['subject'], u'test subject')
        self.assertEqual(self.serialized['body'], u'test body')
        self.assertEqual(self.serialized['from_email'], '*****@*****.**')
        self.assertEqual(self.serialized['to'], ['*****@*****.**'])
        self.assertEqual(self.serialized['bcc'], ['*****@*****.**'])
        self.assertEqual(self.serialized['attachments'], ['/path/to/file'])
Ejemplo n.º 9
0
import logging

from django_gearman_commands import GearmanWorkerBaseCommand

import django_gearman_proxy.settings
from django_gearman_proxy import load_object


log = logging.getLogger(__name__)


UNSERIALIZER = load_object(django_gearman_proxy.settings.GEARMAN_EMAIL_UNSERIALIZER)


class Command(GearmanWorkerBaseCommand):

    @property
    def task_name(self):
        return 'send_mail'

    def do_job(self, job_data):
        to_return = False
        try:
            email_message = UNSERIALIZER(job_data)
            log.info('Sending mail message to "%s"', email_message.to)
            to_return = email_message.send()
        except Exception:
            log.exception('Error while sending mail message with data: %s', job_data)
        return to_return