def test_channel_start_consuming_idle_wait(self): self.msg = None consumer_tag = 'travis-ci' channel = Channel(0, FakeConnection(), 360) channel.set_state(channel.OPEN) message = self.message.encode('utf-8') message_len = len(message) def add_inbound(): deliver = specification.Basic.Deliver(consumer_tag='travis-ci') header = ContentHeader(body_size=message_len) body = ContentBody(value=message) channel._inbound = [deliver, header, body] def callback(msg): self.msg = msg channel.set_state(channel.CLOSED) channel.add_consumer_tag(consumer_tag) channel._consumer_callbacks[consumer_tag] = callback threading.Timer(function=add_inbound, interval=1).start() channel.start_consuming() self.assertIsNotNone(self.msg, 'No message consumed') self.assertIsInstance(self.msg.body, str) self.assertEqual(self.msg.body.encode('utf-8'), message)
def test_channel_start_consuming_idle_wait(self): self.msg = None consumer_tag = 'travis-ci' channel = Channel(0, FakeConnection(), 360) channel.set_state(channel.OPEN) message = self.message.encode('utf-8') message_len = len(message) def add_inbound(): deliver = specification.Basic.Deliver(consumer_tag='travis-ci') header = ContentHeader(body_size=message_len) body = ContentBody(value=message) channel._inbound = [deliver, header, body] def callback(msg): self.msg = msg channel.set_state(channel.CLOSED) channel.add_consumer_tag(consumer_tag) channel._consumer_callbacks[consumer_tag] = callback threading.Timer(function=add_inbound, interval=1).start() channel.start_consuming() self.assertIsNotNone(self.msg, 'No message consumed') self.assertIsInstance(self.msg.body, str) self.assertEqual(self.msg.body.encode('utf-8'), message)
def test_channel_start_consuming(self): self.msg = None consumer_tag = 'travis-ci' channel = Channel(0, FakeConnection(), 360) channel.set_state(channel.OPEN) message = self.message.encode('utf-8') message_len = len(message) deliver = commands.Basic.Deliver(consumer_tag='travis-ci') header = ContentHeader(body_size=message_len) body = ContentBody(value=message) channel._inbound = [deliver, header, body] def callback(msg): self.msg = msg channel.set_state(channel.CLOSED) channel.add_consumer_tag(consumer_tag) channel._consumer_callbacks['travis-ci'] = callback channel.start_consuming() self.assertIsNotNone(self.msg, 'No message consumed') self.assertIsInstance(self.msg.body, str) self.assertEqual(self.msg.body.encode('utf-8'), message)
def test_channel_cancel_ok_frame(self): tag = 'travis-ci' channel = Channel(0, None, rpc_timeout=1) channel.add_consumer_tag(tag) channel.on_frame(specification.Basic.CancelOk(tag)) self.assertFalse(channel.consumer_tags)
def test_channel_cancel_ok_frame(self): tag = 'hello-world' channel = Channel(0, None, rpc_timeout=360) channel.add_consumer_tag(tag) channel.on_frame(specification.Basic.CancelOk(tag)) self.assertFalse(channel.consumer_tags)
def test_channel_cancel_ok_frame(self): tag = 'travis-ci' channel = Channel(0, Mock(name='Connection'), rpc_timeout=1) channel.add_consumer_tag(tag) channel.on_frame(commands.Basic.CancelOk(tag)) self.assertFalse(channel.consumer_tags)
def test_channel_start_consuming_multiple_callbacks(self): channel = Channel(0, FakeConnection(), 360) channel.set_state(channel.OPEN) message = self.message.encode('utf-8') message_len = len(message) deliver_one = specification.Basic.Deliver( consumer_tag='travis-ci-1') deliver_two = specification.Basic.Deliver( consumer_tag='travis-ci-2') deliver_three = specification.Basic.Deliver( consumer_tag='travis-ci-3') header = ContentHeader(body_size=message_len) body = ContentBody(value=message) channel._inbound = [ deliver_one, header, body, deliver_two, header, body, deliver_three, header, body ] def callback_one(msg): self.assertEqual(msg.method.get('consumer_tag'), 'travis-ci-1') self.assertIsInstance(msg.body, str) self.assertEqual(msg.body.encode('utf-8'), message) def callback_two(msg): self.assertEqual(msg.method.get('consumer_tag'), 'travis-ci-2') self.assertIsInstance(msg.body, str) self.assertEqual(msg.body.encode('utf-8'), message) def callback_three(msg): self.assertEqual(msg.method.get('consumer_tag'), 'travis-ci-3') self.assertIsInstance(msg.body, str) self.assertEqual(msg.body.encode('utf-8'), message) channel.set_state(channel.CLOSED) channel.add_consumer_tag('travis-ci-1') channel.add_consumer_tag('travis-ci-2') channel.add_consumer_tag('travis-ci-3') channel._consumer_callbacks['travis-ci-1'] = callback_one channel._consumer_callbacks['travis-ci-2'] = callback_two channel._consumer_callbacks['travis-ci-3'] = callback_three channel.start_consuming()
def test_channel_start_consuming_multiple_callbacks(self): channel = Channel(0, FakeConnection(), 360) channel.set_state(channel.OPEN) message = self.message.encode('utf-8') message_len = len(message) deliver_one = specification.Basic.Deliver(consumer_tag='travis-ci-1') deliver_two = specification.Basic.Deliver(consumer_tag='travis-ci-2') deliver_three = specification.Basic.Deliver(consumer_tag='travis-ci-3') header = ContentHeader(body_size=message_len) body = ContentBody(value=message) channel._inbound = [ deliver_one, header, body, deliver_two, header, body, deliver_three, header, body ] def callback_one(msg): self.assertEqual(msg.method.get('consumer_tag'), 'travis-ci-1') self.assertIsInstance(msg.body, str) self.assertEqual(msg.body.encode('utf-8'), message) def callback_two(msg): self.assertEqual(msg.method.get('consumer_tag'), 'travis-ci-2') self.assertIsInstance(msg.body, str) self.assertEqual(msg.body.encode('utf-8'), message) def callback_three(msg): self.assertEqual(msg.method.get('consumer_tag'), 'travis-ci-3') self.assertIsInstance(msg.body, str) self.assertEqual(msg.body.encode('utf-8'), message) channel.set_state(channel.CLOSED) channel.add_consumer_tag('travis-ci-1') channel.add_consumer_tag('travis-ci-2') channel.add_consumer_tag('travis-ci-3') channel._consumer_callbacks['travis-ci-1'] = callback_one channel._consumer_callbacks['travis-ci-2'] = callback_two channel._consumer_callbacks['travis-ci-3'] = callback_three channel.start_consuming()
def test_channel_start_consuming(self): channel = Channel(0, FakeConnection(), 360) channel.set_state(channel.OPEN) message = self.message.encode('utf-8') message_len = len(message) deliver = specification.Basic.Deliver() header = ContentHeader(body_size=message_len) body = ContentBody(value=message) channel._inbound = [deliver, header, body] def callback(msg): self.assertIsInstance(msg.body, str) self.assertEqual(msg.body.encode('utf-8'), message) channel.set_state(channel.CLOSED) channel.consumer_callback = callback channel.add_consumer_tag('travis-ci') channel.start_consuming()