KAFKA-3255: Added unit tests for NetworkClient.connectionDelay(Node node, long now)

Author: Frank Scholten <frank@frankscholten.nl>

Reviewers: Eno Thereska <eno.thereska@gmail.com>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #941 from frankscholten/tests/cluster-connection-states
This commit is contained in:
Frank Scholten 2016-02-22 10:13:11 -08:00 committed by Ewen Cheslack-Postava
parent 49fd0ceb09
commit d2527af99a
2 changed files with 29 additions and 9 deletions

View File

@ -94,15 +94,6 @@ final class ClusterConnectionStates {
return state != null && state.state == ConnectionState.CONNECTED;
}
/**
* Return true iff we are in the process of connecting
* @param id The id of the connection
*/
public boolean isConnecting(String id) {
NodeConnectionState state = nodeState.get(id);
return state != null && state.state == ConnectionState.CONNECTING;
}
/**
* Enter the connected state for the given connection
* @param id The connection identifier

View File

@ -176,6 +176,35 @@ public class NetworkClientTest {
}
@Test
public void testConnectionDelay() {
long now = time.milliseconds();
long delay = client.connectionDelay(node, now);
assertEquals(0, delay);
}
@Test
public void testConnectionDelayConnected() {
awaitReady(client, node);
long now = time.milliseconds();
long delay = client.connectionDelay(node, now);
assertEquals(Long.MAX_VALUE, delay);
}
@Test
public void testConnectionDelayDisconnected() {
awaitReady(client, node);
selector.close(node.idString());
client.poll(requestTimeoutMs, time.milliseconds());
long delay = client.connectionDelay(node, time.milliseconds());
assertEquals(reconnectBackoffMsTest, delay);
}
private static class TestCallbackHandler implements RequestCompletionHandler {
public boolean executed = false;
public ClientResponse response;