예제 #1
0
 def assert_create_worker_consumer(self,
                                   cthread,
                                   app,
                                   in_transaction=False,
                                   isolation_level='read_uncommitted',
                                   api_version=None):
     loop = Mock(name='loop')
     transport = cthread.transport
     conf = app.conf
     cthread.consumer.in_transaction = in_transaction
     auth_settings = credentials_to_aiokafka_auth(conf.broker_credentials,
                                                  conf.ssl_context)
     with patch('aiokafka.AIOKafkaConsumer') as AIOKafkaConsumer:
         c = cthread._create_worker_consumer(transport, loop)
         assert c is AIOKafkaConsumer.return_value
         AIOKafkaConsumer.assert_called_once_with(
             loop=loop,
             client_id=conf.broker_client_id,
             group_id=conf.id,
             bootstrap_servers=server_list(transport.url,
                                           transport.default_port),
             partition_assignment_strategy=[cthread._assignor],
             enable_auto_commit=False,
             auto_offset_reset=conf.consumer_auto_offset_reset,
             max_poll_records=conf.broker_max_poll_records,
             max_partition_fetch_bytes=conf.consumer_max_fetch_size,
             fetch_max_wait_ms=1500,
             request_timeout_ms=int(conf.broker_request_timeout * 1000.0),
             check_crcs=conf.broker_check_crcs,
             session_timeout_ms=int(conf.broker_session_timeout * 1000.0),
             heartbeat_interval_ms=int(conf.broker_heartbeat_interval *
                                       1000.0),
             isolation_level=isolation_level,
             **auth_settings,
         )
예제 #2
0
 def test__create_client_consumer(self, *, cthread, app):
     loop = Mock(name='loop')
     transport = cthread.transport
     conf = app.conf
     auth_settings = credentials_to_aiokafka_auth(
         conf.broker_credentials, conf.ssl_context)
     with patch('aiokafka.AIOKafkaConsumer') as AIOKafkaConsumer:
         c = cthread._create_client_consumer(transport, loop)
         assert c is AIOKafkaConsumer.return_value
         AIOKafkaConsumer.assert_called_once_with(
             loop=loop,
             client_id=conf.broker_client_id,
             bootstrap_servers=server_list(
                 transport.url, transport.default_port),
             request_timeout_ms=int(conf.broker_request_timeout * 1000.0),
             enable_auto_commit=True,
             max_poll_records=conf.broker_max_poll_records,
             auto_offset_reset=conf.consumer_auto_offset_reset,
             check_crcs=conf.broker_check_crcs,
             **auth_settings,
         )
예제 #3
0
def test_credentials_to_aiokafka__invalid():
    with pytest.raises(ImproperlyConfigured):
        credentials_to_aiokafka_auth(object())
예제 #4
0
def test_credentials_to_aiokafka(credentials, ssl_context, expected):
    assert credentials_to_aiokafka_auth(credentials, ssl_context) == expected