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)
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)
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
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)
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()
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)