def test_producer_with_s3_bucket(self, local_file, s3_mocked, broker_stage_messages, event_loop): total_messages = 4 [self._create_message_s3(local_file, broker_stage_messages) for _ in range(total_messages)] with FakeMQ() as mq: client = ReconnectingClient(mq, "producer") producer = client.get_callback(app.make_preprocessor()) assert mq.produce_calls_count == 0 assert len(app.produce_queue) == total_messages event_loop.run_until_complete(self.coroutine_test(producer)) assert mq.produce_calls_count == total_messages assert len(app.produce_queue) == 0 assert mq.disconnect_in_operation_called is False assert mq.trying_to_connect_failures_calls == 0
def test_producer_with_connection_issues(self, local_file, s3_mocked, broker_stage_messages, event_loop): total_messages = 4 [ self._create_message_s3(local_file, broker_stage_messages) for _ in range(total_messages) ] with FakeMQ(connection_failing_attempt_countdown=1, disconnect_in_operation=2) as mq: producer = app.MQClient(mq, "producer").run(app.make_preprocessor()) assert mq.produce_calls_count == 0 assert len(app.produce_queue) == total_messages event_loop.run_until_complete(self.coroutine_test(producer)) assert mq.produce_calls_count == total_messages assert len(app.produce_queue) == 0 assert mq.disconnect_in_operation_called is True assert mq.trying_to_connect_failures_calls == 1