X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fcds-access-client%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Faccess%2Fclient%2FReconnectingClientConnectionTest.java;h=367acb3b6d74f068c0caf3d26ce2db583432d9d8;hb=HEAD;hp=b2ff72368c3f5e37b707a438b36d24e85079f489;hpb=b2ed560507ad550be22a84ebd60ad4edc14cea7d;p=controller.git diff --git a/opendaylight/md-sal/cds-access-client/src/test/java/org/opendaylight/controller/cluster/access/client/ReconnectingClientConnectionTest.java b/opendaylight/md-sal/cds-access-client/src/test/java/org/opendaylight/controller/cluster/access/client/ReconnectingClientConnectionTest.java index b2ff72368c..367acb3b6d 100644 --- a/opendaylight/md-sal/cds-access-client/src/test/java/org/opendaylight/controller/cluster/access/client/ReconnectingClientConnectionTest.java +++ b/opendaylight/md-sal/cds-access-client/src/test/java/org/opendaylight/controller/cluster/access/client/ReconnectingClientConnectionTest.java @@ -7,18 +7,22 @@ */ package org.opendaylight.controller.cluster.access.client; -import static org.mockito.Matchers.any; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.after; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; +import java.util.OptionalLong; import java.util.function.Consumer; -import org.junit.Assert; import org.junit.Test; import org.opendaylight.controller.cluster.access.ABIVersion; import org.opendaylight.controller.cluster.access.commands.TransactionAbortSuccess; import org.opendaylight.controller.cluster.access.concepts.LocalHistoryIdentifier; import org.opendaylight.controller.cluster.access.concepts.Request; +import org.opendaylight.controller.cluster.access.concepts.RequestException; import org.opendaylight.controller.cluster.access.concepts.RequestSuccess; import org.opendaylight.controller.cluster.access.concepts.Response; import org.opendaylight.controller.cluster.access.concepts.ResponseEnvelope; @@ -28,33 +32,44 @@ import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier public class ReconnectingClientConnectionTest extends AbstractClientConnectionTest, BackendInfo> { + @Test + public void testCheckTimeoutConnectionTimedout() { + final Consumer> callback = mock(Consumer.class); + connection.sendRequest(createRequest(replyToProbe.ref()), callback); + final long now = context.ticker().read() + ConnectedClientConnection.DEFAULT_BACKEND_ALIVE_TIMEOUT_NANOS; + final OptionalLong timeout = connection.checkTimeout(now); + assertNotNull(timeout); + assertTrue(timeout.isPresent()); + } + @Override protected ReconnectingClientConnection createConnection() { - final BackendInfo backend = new BackendInfo(backendProbe.ref(), 0L, ABIVersion.BORON, 10); - - final ConnectedClientConnection oldConnection = - new ConnectedClientConnection<>(context, 0L, backend); - return new ReconnectingClientConnection<>(oldConnection); + final BackendInfo backend = new BackendInfo(backendProbe.ref(), "test", 0L, ABIVersion.current(), 10); + final ConnectingClientConnection connectingConn = new ConnectingClientConnection<>(context, 0L, + backend.getName()); + final ConnectedClientConnection connectedConn = + new ConnectedClientConnection<>(connectingConn, backend); + return new ReconnectingClientConnection<>(connectedConn, mock(RequestException.class)); } @Override @Test - public void testReconnectConnection() throws Exception { + public void testReconnectConnection() { final ClientActorBehavior behavior = mock(ClientActorBehavior.class); - Assert.assertSame(behavior, connection.reconnectConnection(behavior)); + assertSame(behavior, connection.lockedReconnect(behavior, mock(RequestException.class))); } @Override @Test - public void testSendRequestReceiveResponse() throws Exception { + public void testSendRequestReceiveResponse() { final Consumer> callback = mock(Consumer.class); final Request request = createRequest(replyToProbe.ref()); connection.sendRequest(request, callback); - backendProbe.expectNoMsg(); + backendProbe.expectNoMessage(); final LocalHistoryIdentifier historyId = new LocalHistoryIdentifier(CLIENT_ID, 0L); final RequestSuccess message = new TransactionAbortSuccess(new TransactionIdentifier(historyId, 0L), 0L); final ResponseEnvelope envelope = new SuccessEnvelope(message, 0L, 0L, 0L); connection.receiveResponse(envelope); verify(callback, after(1000).never()).accept(any()); } -} \ No newline at end of file +}