Esempio n. 1
0
    def test_constructor(self, prefix='0daf8h21'):
        dcon = {
            '%s.xyx' % prefix: {
                'exchange': '%s.xyx' % prefix,
                'routing_key': 'xyx'
            },
            '%s.xyz' % prefix: {
                'exchange': '%s.xyz' % prefix,
                'routing_key': 'xyz'
            }
        }
        consumers = [
            compat.Consumer(self.connection,
                            queue=prefix + str(i),
                            exchange=prefix + str(i)) for i in range(3)
        ]
        c = compat.ConsumerSet(self.connection, consumers=consumers)
        c2 = compat.ConsumerSet(self.connection, from_dict=dcon)

        self.assertEqual(len(c.queues), 3)
        self.assertEqual(len(c2.queues), 2)

        c.add_consumer(
            compat.Consumer(self.connection,
                            queue=prefix + 'xaxxxa',
                            exchange=prefix + 'xaxxxa'))
        self.assertEqual(len(c.queues), 4)
        for cq in c.queues:
            self.assertIs(cq.channel, c.channel)

        c2.add_consumer_from_dict({
            '%s.xxx' % prefix: {
                'exchange': '%s.xxx' % prefix,
                'routing_key': 'xxx'
            }
        })
        self.assertEqual(len(c2.queues), 3)
        for c2q in c2.queues:
            self.assertIs(c2q.channel, c2.channel)

        c.discard_all()
        self.assertEqual(c.channel.called.count('queue_purge'), 4)
        c.consume()

        c.close()
        c2.close()
        self.assertIn('basic_cancel', c.channel)
        self.assertIn('close', c.channel)
        self.assertIn('close', c2.channel)
Esempio n. 2
0
    def test_constructor(self, prefix="0daf8h21"):
        dcon = {
            "%s.xyx" % prefix: {
                "exchange": "%s.xyx" % prefix,
                "routing_key": "xyx"
            },
            "%s.xyz" % prefix: {
                "exchange": "%s.xyz" % prefix,
                "routing_key": "xyz"
            }
        }
        consumers = [
            compat.Consumer(self.connection,
                            queue=prefix + str(i),
                            exchange=prefix + str(i)) for i in range(3)
        ]
        c = compat.ConsumerSet(self.connection, consumers=consumers)
        c2 = compat.ConsumerSet(self.connection, from_dict=dcon)

        self.assertEqual(len(c.queues), 3)
        self.assertEqual(len(c2.queues), 2)

        c.add_consumer(
            compat.Consumer(self.connection,
                            queue=prefix + "xaxxxa",
                            exchange=prefix + "xaxxxa"))
        self.assertEqual(len(c.queues), 4)
        for cq in c.queues:
            self.assertIs(cq.channel, c.channel)

        c2.add_consumer_from_dict({
            "%s.xxx" % prefix: {
                "exchange": "%s.xxx" % prefix,
                "routing_key": "xxx"
            }
        })
        self.assertEqual(len(c2.queues), 3)
        for c2q in c2.queues:
            self.assertIs(c2q.channel, c2.channel)

        c.discard_all()
        self.assertEqual(c.channel.called.count("queue_purge"), 4)
        c.consume()

        c.close()
        c2.close()
        self.assertIn("basic_cancel", c.channel)
        self.assertIn("close", c.channel)
        self.assertIn("close", c2.channel)
Esempio n. 3
0
    def test_constructor(self, prefix='0daf8h21'):
        dcon = {
            '%s.xyx' % prefix: {
                'exchange': '%s.xyx' % prefix,
                'routing_key': 'xyx'
            },
            '%s.xyz' % prefix: {
                'exchange': '%s.xyz' % prefix,
                'routing_key': 'xyz'
            }
        }
        consumers = [
            compat.Consumer(self.connection,
                            queue=prefix + str(i),
                            exchange=prefix + str(i)) for i in range(3)
        ]
        c = compat.ConsumerSet(self.connection, consumers=consumers)
        c2 = compat.ConsumerSet(self.connection, from_dict=dcon)

        assert len(c.queues) == 3
        assert len(c2.queues) == 2

        c.add_consumer(
            compat.Consumer(self.connection,
                            queue=prefix + 'xaxxxa',
                            exchange=prefix + 'xaxxxa'))
        assert len(c.queues) == 4
        for cq in c.queues:
            assert cq.channel is c.channel

        c2.add_consumer_from_dict(
            '%s.xxx' % prefix,
            exchange='%s.xxx' % prefix,
            routing_key='xxx',
        )
        assert len(c2.queues) == 3
        for c2q in c2.queues:
            assert c2q.channel is c2.channel

        c.discard_all()
        assert c.channel.called.count('queue_purge') == 4
        c.consume()

        c.close()
        c2.close()
        assert 'basic_cancel' in c.channel
        assert 'close' in c.channel
        assert 'close' in c2.channel
Esempio n. 4
0
    def test_revive(self, n='test_revive'):
        c = compat.Consumer(self.connection, queue=n, exchange=n)
        cs = compat.ConsumerSet(self.connection, consumers=[c])

        with self.connection.channel() as c2:
            cs.revive(c2)
            self.assertIs(cs.backend, c2)
Esempio n. 5
0
    def test_providing_channel(self):
        chan = Mock(name='channel')
        cs = compat.ConsumerSet(self.connection, channel=chan)
        self.assertTrue(cs._provided_channel)
        self.assertIs(cs.backend, chan)

        cs.cancel = Mock(name='cancel')
        cs.close()
        chan.close.assert_not_called()
Esempio n. 6
0
 def test_iterconsume(self, _iterconsume, n='test_iterconsume'):
     c = compat.Consumer(self.connection, queue=n, exchange=n)
     cs = compat.ConsumerSet(self.connection, consumers=[c])
     cs.iterconsume(limit=10, no_ack=True)
     _iterconsume.assert_called_with(c.connection, cs, True, 10)