def test_send_broker_unaware_request(self): 'Tests that call works when at least one of the host is available' mocked_conns = { ('kafka01', 9092): mock.MagicMock(), ('kafka02', 9092): mock.MagicMock(), ('kafka03', 9092): mock.MagicMock() } # inject KafkaConnection side effects fut = asyncio.Future(loop=self.loop) fut.set_exception(RuntimeError("kafka01 went away (unittest)")) mocked_conns[('kafka01', 9092)].send.return_value = fut fut2 = asyncio.Future(loop=self.loop) fut2.set_result(b'valid response') mocked_conns[('kafka02', 9092)].send.return_value = fut2 fut3 = asyncio.Future(loop=self.loop) fut3.set_exception(RuntimeError("kafka03 went away (unittest)")) mocked_conns[('kafka03', 9092)].send.return_value = fut3 client = AIOKafkaClient('kafka01:9092,kafka02:9092', loop=self.loop) client._conns = mocked_conns resp = self.loop.run_until_complete( client._send_broker_unaware_request(payloads=[b'fake request'], encoder_fn=mock.MagicMock(), decoder_fn=lambda x: x)) self.assertEqual(b'valid response', resp)
def test_send_broker_unaware_request(self): "Tests that call works when at least one of the host is available" mocked_conns = { ("kafka01", 9092): mock.MagicMock(), ("kafka02", 9092): mock.MagicMock(), ("kafka03", 9092): mock.MagicMock(), } # inject KafkaConnection side effects fut = asyncio.Future(loop=self.loop) fut.set_exception(RuntimeError("kafka01 went away (unittest)")) mocked_conns[("kafka01", 9092)].send.return_value = fut fut2 = asyncio.Future(loop=self.loop) fut2.set_result(b"valid response") mocked_conns[("kafka02", 9092)].send.return_value = fut2 fut3 = asyncio.Future(loop=self.loop) fut3.set_exception(RuntimeError("kafka03 went away (unittest)")) mocked_conns[("kafka03", 9092)].send.return_value = fut3 client = AIOKafkaClient("kafka01:9092,kafka02:9092", loop=self.loop) client._conns = mocked_conns resp = self.loop.run_until_complete( client._send_broker_unaware_request( payloads=[b"fake request"], encoder_fn=mock.MagicMock(), decoder_fn=lambda x: x ) ) self.assertEqual(b"valid response", resp)