예제 #1
0
    def test_message_storage(self):
        chid = str(uuid.uuid4())
        chid2 = str(uuid.uuid4())
        m = get_rotating_message_table()
        message = Message(m, SinkMetrics())
        message.register_channel(self.uaid, chid)
        message.register_channel(self.uaid, chid2)

        data1 = str(uuid.uuid4())
        data2 = str(uuid.uuid4())
        ttl = int(time.time()) + 100
        time1, time2, time3 = self._nstime(), self._nstime(), self._nstime() + 1
        message.store_message(self.uaid, chid, time1, ttl, data1, {})
        message.store_message(self.uaid, chid2, time2, ttl, data2, {})
        message.store_message(self.uaid, chid2, time3, ttl, data1, {})

        all_messages = list(message.fetch_messages(self.uaid))
        eq_(len(all_messages), 3)

        message.delete_messages_for_channel(self.uaid, chid2)
        all_messages = list(message.fetch_messages(self.uaid))
        eq_(len(all_messages), 1)

        message.delete_message(self.uaid, chid, time1)
        all_messages = list(message.fetch_messages(self.uaid))
        eq_(len(all_messages), 0)
예제 #2
0
    def test_message_storage(self):
        chid = str(uuid.uuid4())
        chid2 = str(uuid.uuid4())
        m = get_rotating_message_table()
        message = Message(m, SinkMetrics())
        message.register_channel(self.uaid, chid)
        message.register_channel(self.uaid, chid2)

        data1 = str(uuid.uuid4())
        data2 = str(uuid.uuid4())
        ttl = int(time.time()) + 100
        time1, time2, time3 = self._nstime(), self._nstime(
        ), self._nstime() + 1
        message.store_message(self.uaid, chid, time1, ttl, data1, {})
        message.store_message(self.uaid, chid2, time2, ttl, data2, {})
        message.store_message(self.uaid, chid2, time3, ttl, data1, {})

        all_messages = list(message.fetch_messages(self.uaid))
        eq_(len(all_messages), 3)

        message.delete_messages_for_channel(self.uaid, chid2)
        all_messages = list(message.fetch_messages(self.uaid))
        eq_(len(all_messages), 1)

        message.delete_message(self.uaid, chid, time1)
        all_messages = list(message.fetch_messages(self.uaid))
        eq_(len(all_messages), 0)
예제 #3
0
    def test_message_delete_fail_condition(self):
        m = get_rotating_message_table()
        message = Message(m, SinkMetrics())

        def raise_condition(*args, **kwargs):
            raise ConditionalCheckFailedException(None, None)

        message.table = Mock()
        message.table.delete_item.side_effect = raise_condition
        result = message.delete_message(uaid="asdf", channel_id="asdf", message_id="asdf", updateid="asdf")
        eq_(result, False)
예제 #4
0
    def test_message_delete_fail_condition(self):
        notif = make_webpush_notification(dummy_uaid, dummy_chid)
        notif.message_id = notif.update_id = dummy_uaid
        m = get_rotating_message_table()
        message = Message(m, SinkMetrics())

        def raise_condition(*args, **kwargs):
            raise ConditionalCheckFailedException(None, None)

        message.table = Mock()
        message.table.delete_item.side_effect = raise_condition
        result = message.delete_message(notif)
        eq_(result, False)
예제 #5
0
파일: test_db.py 프로젝트: jk128/autopush
    def test_message_delete_fail_condition(self):
        notif = make_webpush_notification(dummy_uaid, dummy_chid)
        notif.message_id = notif.update_id = dummy_uaid
        m = get_rotating_message_table()
        message = Message(m, SinkMetrics())

        def raise_condition(*args, **kwargs):
            raise ClientError({}, 'delete_item')

        message.table = Mock()
        message.table.delete_item.side_effect = raise_condition
        result = message.delete_message(notif)
        assert result is False
예제 #6
0
    def test_message_delete_fail_condition(self):
        notif = make_webpush_notification(dummy_uaid, dummy_chid)
        notif.message_id = notif.update_id = dummy_uaid
        m = get_rotating_message_tablename(boto_resource=self.resource)
        message = Message(m, boto_resource=self.resource)

        def raise_condition(*args, **kwargs):
            raise ClientError({}, 'delete_item')

        m_de = Mock()
        m_de.delete_item = Mock(side_effect=raise_condition)
        message.table = m_de
        result = message.delete_message(notif)
        assert result is False
예제 #7
0
    def test_message_delete_fail_condition(self):
        m = get_rotating_message_table()
        message = Message(m, SinkMetrics())

        def raise_condition(*args, **kwargs):
            raise ConditionalCheckFailedException(None, None)

        message.table = Mock()
        message.table.delete_item.side_effect = raise_condition
        result = message.delete_message(uaid=dummy_uaid,
                                        channel_id=dummy_chid,
                                        message_id="asdf",
                                        updateid="asdf")
        eq_(result, False)