package org.opendaylight.controller.cluster.access.client;
import static org.hamcrest.CoreMatchers.hasItems;
-import static org.mockito.Matchers.anyLong;
-import static org.mockito.Matchers.argThat;
import static org.mockito.Matchers.isA;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.timeout;
import akka.actor.ActorSystem;
import akka.testkit.JavaTestKit;
import akka.testkit.TestProbe;
+import com.google.common.collect.Iterables;
import java.util.Optional;
import java.util.function.Consumer;
import org.junit.After;
system = ActorSystem.apply();
backendProbe = new TestProbe(system);
contextProbe = new TestProbe(system);
- context = new ClientActorContext(contextProbe.ref(), system.scheduler(), system.dispatcher(),
- PERSISTENCE_ID, CLIENT_ID);
+ context = new ClientActorContext(contextProbe.ref(), PERSISTENCE_ID, system,
+ CLIENT_ID, AccessClientUtil.newMockClientActorConfig());
replyToProbe = new TestProbe(system);
connection = createConnection();
}
Assert.assertFalse(timeout.isPresent());
}
- @Test
- public void testCheckTimeoutConnectionTimeouted() throws Exception {
- final Consumer<Response<?, ?>> callback = mock(Consumer.class);
- connection.sendRequest(createRequest(replyToProbe.ref()), callback);
- final long now = context.ticker().read() + ConnectedClientConnection.BACKEND_ALIVE_TIMEOUT_NANOS;
- final Optional<Long> timeout = connection.checkTimeout(now);
- Assert.assertNull(timeout);
- }
-
@Test
public void testCheckTimeout() throws Exception {
final Consumer<Response<?, ?>> callback = mock(Consumer.class);
connection.sendRequest(request2, callback);
final Iterable<ConnectionEntry> entries = connection.startReplay();
Assert.assertThat(entries, hasItems(entryWithRequest(request1), entryWithRequest(request2)));
+ Assert.assertEquals(2, Iterables.size(entries));
+ Iterables.removeIf(entries, e -> true);
final ReconnectForwarder forwarder = mock(ReconnectForwarder.class);
connection.finishReplay(forwarder);
- verify(forwarder).forwardEntry(argThat(entryWithRequest(request1)), anyLong());
- verify(forwarder).forwardEntry(argThat(entryWithRequest(request2)), anyLong());
}
@After
return new AbortLocalTransactionRequest(identifier, replyTo);
}
-}
\ No newline at end of file
+}