Exemple #1
0
    def test_message_equality(self):

        outgoing_message = OutgoingMessage('to', 'test')
        incoming_message = IncomingMessage('from', 'test')

        self.assertNotEqual(outgoing_message, incoming_message)
        self.assertNotEqual(outgoing_message, OutgoingMessage('you', 'test'))
        self.assertEqual(outgoing_message,
                         OutgoingMessage('foo', 'bar', id=outgoing_message.id))
Exemple #2
0
    def send(recipient, text, transport="default"):
        """
            Create a Message object with the following attributes and send it.

            Return the Message object
        """
        message = OutgoingMessage(recipient, text, transport=transport)
        message.send()
        return message
Exemple #3
0
 def test_message_send_method_a_second_time(self):
     """
         Test send method right after the first test to check against 
         a duplicate message sending.
     """
     message = OutgoingMessage('foo', 'test_message_send_method 2')
     message.send()
     self.router.start(timeout=1, limit=1)
     self.assertEqual(CounterMessageProcessor.message_sent, 1)
Exemple #4
0
    def test_to_dict(self):

        m = OutgoingMessage("to", "test")
        d = m.to_dict()
        self.assertIn("recipient", d)
        self.assertIn("transport", d)
        self.assertIn("creation_date", d)
        self.assertIn("id", d)
        self.assertIn("response_to", d)

        m = IncomingMessage("from", "test")
        d = m.to_dict()
        self.assertIn("author", d)
        self.assertIn("transport", d)
        self.assertIn("reception_date", d)
        self.assertIn("id", d)
    def test_manual_outgoing_message(self):

        OutgoingMessage('foo', 'bar').send()

        self.router.start(1, 1)
        print "here"
        self.transport.start_outgoing_messages_loop(1, 1)
        self.assertEqual(CounterMessageTransport.message_sent, 1)
Exemple #6
0
    def test_several_message_processors(self):

        settings.MESSAGE_PROCESSORS += (
            'pragmatic_sms.processors.test.CounterMessageProcessor', )
        self.router = SmsRouter()
        self.router.connect()
        self.message_worker.dispatch_outgoing_message(
            OutgoingMessage('foo', 'test_several_message_processors out'))
        self.message_worker.dispatch_incoming_message(
            IncomingMessage('foo', 'test_several_message_processors in'))
        self.router.start(timeout=1, limit=1)
        self.assertEqual(CounterMessageProcessor.message_sent, 2)
        self.assertEqual(CounterMessageProcessor.message_received, 2)
Exemple #7
0
    def handle_outgoing_message(self, body, message):
        """
            Callback called when a message ready to be sent. 
            It unpacks the JSON message, turn it into an OutgoingMessage
            instance an pass it to 'on_send_message'.

            This method is used for internal purpose and you should
            not override it unless you know what you are doing.

            To react on the reception of messages, override 'on_send_message'.
        """
        # todo: try / except message reception and log error
        if self.on_send_message(OutgoingMessage(**body)):
            message.ack()
Exemple #8
0
    def test_create_message(self):

        outgoing_message = OutgoingMessage('to', 'test')
        incomming_message = IncomingMessage('from', 'test')
Exemple #9
0
 def test_message_send_method(self):
     message = OutgoingMessage('foo', 'test_message_send_method')
     message.send()
     self.router.start(timeout=1, limit=1)
     self.assertEqual(CounterMessageProcessor.message_sent, 1)
Exemple #10
0
    def test_dispatch_outgoing_message(self):

        self.message_worker.dispatch_outgoing_message(
            OutgoingMessage('foo', 'test_dispatch_outgoing_message'))
        self.router.start(timeout=1, limit=1)
        self.assertTrue(CounterMessageProcessor.message_sent)