def test_finish_connect(conn): cli = KafkaClient() try: # Node not in metadata, raises AssertionError cli._initiate_connect(2) except AssertionError: pass else: assert False, 'Exception not raised' assert 0 not in cli._conns cli._initiate_connect(0) conn.connect.return_value = ConnectionStates.CONNECTING state = cli._finish_connect(0) assert 0 in cli._connecting assert state is ConnectionStates.CONNECTING conn.connect.return_value = ConnectionStates.CONNECTED state = cli._finish_connect(0) assert 0 not in cli._connecting assert state is ConnectionStates.CONNECTED # Failure to connect should trigger metadata update assert not cli.cluster._need_update cli._connecting.add(0) conn.connect.return_value = ConnectionStates.DISCONNECTED state = cli._finish_connect(0) assert 0 not in cli._connecting assert state is ConnectionStates.DISCONNECTED assert cli.cluster._need_update
def test_finish_connect(conn): cli = KafkaClient() try: # Node not in metadata, raises AssertionError cli._initiate_connect(2) except AssertionError: pass else: assert False, 'Exception not raised' assert 0 not in cli._conns cli._initiate_connect(0) conn.connect.return_value = ConnectionStates.CONNECTING state = cli._finish_connect(0) assert 0 in cli._connecting assert state is ConnectionStates.CONNECTING conn.connect.return_value = ConnectionStates.CONNECTED state = cli._finish_connect(0) assert 0 not in cli._connecting assert state is ConnectionStates.CONNECTED # Failure to connect should trigger metadata update assert not cli.cluster._need_update cli._connecting.add(0) conn.connect.return_value = ConnectionStates.DISCONNECTED state = cli._finish_connect(0) assert 0 not in cli._connecting assert state is ConnectionStates.DISCONNECTED assert cli.cluster._need_update
def test_initiate_connect(conn): cli = KafkaClient() try: # Node not in metadata, raises AssertionError cli._initiate_connect(2) except AssertionError: pass else: assert False, 'Exception not raised' assert 0 not in cli._conns state = cli._initiate_connect(0) assert cli._conns[0] is conn assert state is conn.state
def test_initiate_connect(conn): cli = KafkaClient() try: # Node not in metadata, raises AssertionError cli._initiate_connect(2) except AssertionError: pass else: assert False, 'Exception not raised' assert 0 not in cli._conns state = cli._initiate_connect(0) assert cli._conns[0] is conn assert state is conn.state
def test_is_disconnected(conn): cli = KafkaClient() # False if not connected yet conn.state = ConnectionStates.DISCONNECTED assert not cli.is_disconnected(0) cli._initiate_connect(0) assert cli.is_disconnected(0) conn.state = ConnectionStates.CONNECTING assert not cli.is_disconnected(0) conn.state = ConnectionStates.CONNECTED assert not cli.is_disconnected(0)
def test_is_disconnected(conn): cli = KafkaClient() # False if not connected yet conn.state = ConnectionStates.DISCONNECTED assert not cli.is_disconnected(0) cli._initiate_connect(0) assert cli.is_disconnected(0) conn.state = ConnectionStates.CONNECTING assert not cli.is_disconnected(0) conn.state = ConnectionStates.CONNECTED assert not cli.is_disconnected(0)
def test_close(conn): cli = KafkaClient() # Unknown node - silent cli.close(2) # Single node close cli._initiate_connect(0) assert not conn.close.call_count cli.close(0) assert conn.close.call_count == 1 # All node close cli._initiate_connect(1) cli.close() assert conn.close.call_count == 3
def test_close(conn): cli = KafkaClient() # Unknown node - silent cli.close(2) # Single node close cli._initiate_connect(0) assert not conn.close.call_count cli.close(0) assert conn.close.call_count == 1 # All node close cli._initiate_connect(1) cli.close() assert conn.close.call_count == 3
def test_send(conn): cli = KafkaClient() try: cli.send(2, None) except Errors.NodeNotReadyError: pass else: assert False, 'NodeNotReadyError not raised' cli._initiate_connect(0) # ProduceRequest w/ 0 required_acks -> no response request = ProduceRequest(0, 0, []) ret = cli.send(0, request) assert conn.send.called_with(request, expect_response=False) assert isinstance(ret, Future) request = MetadataRequest([]) cli.send(0, request) assert conn.send.called_with(request, expect_response=True)
def test_send(conn): cli = KafkaClient() try: cli.send(2, None) except Errors.NodeNotReadyError: pass else: assert False, 'NodeNotReadyError not raised' cli._initiate_connect(0) # ProduceRequest w/ 0 required_acks -> no response request = ProduceRequest(0, 0, []) ret = cli.send(0, request) assert conn.send.called_with(request, expect_response=False) assert isinstance(ret, Future) request = MetadataRequest([]) cli.send(0, request) assert conn.send.called_with(request, expect_response=True)
def test_can_connect(conn): cli = KafkaClient() # Node is not in broker metadata - cant connect assert not cli._can_connect(2) # Node is in broker metadata but not in _conns assert 0 not in cli._conns assert cli._can_connect(0) # Node is connected, can't reconnect cli._initiate_connect(0) assert not cli._can_connect(0) # Node is disconnected, can connect cli._conns[0].state = ConnectionStates.DISCONNECTED assert cli._can_connect(0) # Node is disconnected, but blacked out conn.blacked_out.return_value = True assert not cli._can_connect(0)
def test_can_connect(conn): cli = KafkaClient() # Node is not in broker metadata - cant connect assert not cli._can_connect(2) # Node is in broker metadata but not in _conns assert 0 not in cli._conns assert cli._can_connect(0) # Node is connected, can't reconnect cli._initiate_connect(0) assert not cli._can_connect(0) # Node is disconnected, can connect cli._conns[0].state = ConnectionStates.DISCONNECTED assert cli._can_connect(0) # Node is disconnected, but blacked out conn.blacked_out.return_value = True assert not cli._can_connect(0)