Beispiel #1
0
    def test_store_event(self):
        '''Stores the event under the message ID'''
        store = yield self.create_store()
        event = TransportEvent(user_message_id='message_id',
                               sent_message_id='message_id',
                               event_type='ack')
        yield store.store_event('channel_id', 'message_id', event)

        event_json = yield self.redis.hget(
            'channel_id:outbound_messages:message_id', event['event_id'])
        self.assertEqual(event_json, event.to_json())
Beispiel #2
0
    def test_store_event(self):
        '''Stores the event under the message ID'''
        store = yield self.create_store()
        event = TransportEvent(
            user_message_id='message_id', sent_message_id='message_id',
            event_type='ack')
        yield store.store_event('channel_id', 'message_id', event)

        event_json = yield self.redis.hget(
            'channel_id:outbound_messages:message_id', event['event_id'])
        self.assertEqual(event_json, event.to_json())
Beispiel #3
0
    def test_load_all_events_one(self):
        '''Returns a list with one event inside'''
        store = yield self.create_store()
        event = TransportEvent(user_message_id='message_id',
                               sent_message_id='message_id',
                               event_type='delivery_report',
                               delivery_status='pending')
        yield self.redis.hset('channel_id:outbound_messages:message_id',
                              event['event_id'], event.to_json())

        events = yield store.load_all_events('channel_id', 'message_id')
        self.assertEqual(events, [event])
Beispiel #4
0
    def test_load_event(self):
        store = yield self.create_store()
        event = TransportEvent(user_message_id='message_id',
                               sent_message_id='message_id',
                               event_type='nack',
                               nack_reason='error error')
        yield self.redis.hset('channel_id:outbound_messages:message_id',
                              event['event_id'], event.to_json())

        stored_event = yield store.load_event('channel_id', 'message_id',
                                              event['event_id'])
        self.assertEqual(stored_event, event)
Beispiel #5
0
    def test_load_all_events_one(self):
        '''Returns a list with one event inside'''
        store = yield self.create_store()
        event = TransportEvent(
            user_message_id='message_id', sent_message_id='message_id',
            event_type='delivery_report', delivery_status='pending')
        yield self.redis.hset(
            'channel_id:outbound_messages:message_id', event['event_id'],
            event.to_json())

        events = yield store.load_all_events('channel_id', 'message_id')
        self.assertEqual(events, [event])
Beispiel #6
0
    def test_load_event(self):
        store = yield self.create_store()
        event = TransportEvent(
            user_message_id='message_id', sent_message_id='message_id',
            event_type='nack', nack_reason='error error')
        yield self.redis.hset(
            'channel_id:outbound_messages:message_id', event['event_id'],
            event.to_json())

        stored_event = yield store.load_event(
            'channel_id', 'message_id', event['event_id'])
        self.assertEqual(stored_event, event)
Beispiel #7
0
    def test_load_all_events_with_other_stored_fields(self):
        '''Should return just the stored events'''
        store = yield self.create_store()
        event = TransportEvent(user_message_id='message_id',
                               sent_message_id='message_id',
                               event_type='delivery_report',
                               delivery_status='pending')
        yield self.redis.hset('channel_id:outbound_messages:message_id',
                              event['event_id'], event.to_json())
        yield self.redis.hset('channel_id:outbound_messages:message_id',
                              'event_url', 'test_url')

        stored_events = yield store.load_all_events('channel_id', 'message_id')
        self.assertEqual(stored_events, [event])
Beispiel #8
0
    def test_load_all_events_with_other_stored_fields(self):
        '''Should return just the stored events'''
        store = yield self.create_store()
        event = TransportEvent(
            user_message_id='message_id', sent_message_id='message_id',
            event_type='delivery_report', delivery_status='pending')
        yield self.redis.hset(
            'channel_id:outbound_messages:message_id', event['event_id'],
            event.to_json())
        yield self.redis.hset(
            'channel_id:outbound_messages:message_id', 'event_url',
            'test_url')

        stored_events = yield store.load_all_events('channel_id', 'message_id')
        self.assertEqual(stored_events, [event])
Beispiel #9
0
    def test_load_all_events_multiple(self):
        '''Returns a list of all the stored events'''
        store = yield self.create_store()
        events = []
        for i in range(5):
            event = TransportEvent(user_message_id='message_id',
                                   sent_message_id='message_id',
                                   event_type='delivery_report',
                                   delivery_status='pending')
            events.append(event)
            yield self.redis.hset('channel_id:outbound_messages:message_id',
                                  event['event_id'], event.to_json())

        stored_events = yield store.load_all_events('channel_id', 'message_id')
        self.assertEqual(sorted(events, key=lambda e: e['event_id']),
                         sorted(stored_events, key=lambda e: e['event_id']))
Beispiel #10
0
    def test_load_all_events_multiple(self):
        '''Returns a list of all the stored events'''
        store = yield self.create_store()
        events = []
        for i in range(5):
            event = TransportEvent(
                user_message_id='message_id', sent_message_id='message_id',
                event_type='delivery_report', delivery_status='pending')
            events.append(event)
            yield self.redis.hset(
                'channel_id:outbound_messages:message_id', event['event_id'],
                event.to_json())

        stored_events = yield store.load_all_events('channel_id', 'message_id')
        self.assertEqual(
            sorted(events, key=lambda e: e['event_id']),
            sorted(stored_events, key=lambda e: e['event_id']))