def test_maybe_refresh_metadata_backoff(mocker):
    mocker.patch.object(KafkaClient, '_bootstrap')
    _poll = mocker.patch.object(KafkaClient, '_poll')

    cli = KafkaClient(request_timeout_ms=9999999, retry_backoff_ms=2222)

    tasks = mocker.patch.object(cli._delayed_tasks, 'next_at')
    tasks.return_value = 9999999

    ttl = mocker.patch.object(cli.cluster, 'ttl')
    ttl.return_value = 0

    now = time.time()
    t = mocker.patch('time.time')
    t.return_value = now
    cli._last_no_node_available_ms = now * 1000

    cli.poll(timeout_ms=9999999, sleep=True)
    _poll.assert_called_with(2.222, sleep=True)
def test_maybe_refresh_metadata_backoff(mocker):
    mocker.patch.object(KafkaClient, '_bootstrap')
    _poll = mocker.patch.object(KafkaClient, '_poll')

    cli = KafkaClient(request_timeout_ms=9999999, retry_backoff_ms=2222)

    tasks = mocker.patch.object(cli._delayed_tasks, 'next_at')
    tasks.return_value = 9999999

    ttl = mocker.patch.object(cli.cluster, 'ttl')
    ttl.return_value = 0

    now = time.time()
    t = mocker.patch('time.time')
    t.return_value = now
    cli._last_no_node_available_ms = now * 1000

    cli.poll(timeout_ms=9999999, sleep=True)
    _poll.assert_called_with(2.222, sleep=True)