import akka.actor.ActorSystem;
import akka.testkit.TestProbe;
import com.google.common.testing.FakeTicker;
-import java.util.Optional;
+import java.util.OptionalLong;
import java.util.concurrent.ThreadLocalRandom;
import java.util.concurrent.TimeUnit;
import java.util.function.Consumer;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
+import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnitRunner;
import org.opendaylight.controller.cluster.access.ABIVersion;
-import org.opendaylight.controller.cluster.access.concepts.AbstractRequestFailureProxy;
-import org.opendaylight.controller.cluster.access.concepts.AbstractRequestProxy;
import org.opendaylight.controller.cluster.access.concepts.FailureEnvelope;
import org.opendaylight.controller.cluster.access.concepts.Request;
import org.opendaylight.controller.cluster.access.concepts.RequestEnvelope;
/**
* Test suite covering logic contained in {@link ConnectingClientConnection}. It assumes {@link ConnectionEntryTest}
* passes.
- *
- * @author Robert Varga
*/
+@RunWith(MockitoJUnitRunner.class)
public class ConnectingClientConnectionTest {
private static class MockFailure extends RequestFailure<WritableIdentifier, MockFailure> {
private static final long serialVersionUID = 1L;
}
@Override
- protected AbstractRequestFailureProxy<WritableIdentifier, MockFailure> externalizableProxy(
- final ABIVersion version) {
+ protected SerialForm<WritableIdentifier, MockFailure> externalizableProxy(final ABIVersion version) {
return null;
}
}
@Override
- protected AbstractRequestProxy<WritableIdentifier, MockRequest> externalizableProxy(final ABIVersion version) {
+ protected Request.SerialForm<WritableIdentifier, MockRequest> externalizableProxy(final ABIVersion version) {
return null;
}
@Before
public void setup() {
- MockitoAnnotations.initMocks(this);
-
doNothing().when(mockCallback).accept(any(MockFailure.class));
ticker = new FakeTicker();
@Test
public void testSendRequestNeedsBackend() {
queue.sendRequest(mockRequest, mockCallback);
- final Optional<Long> ret = queue.checkTimeout(ticker.read());
+ final OptionalLong ret = queue.checkTimeout(ticker.read());
assertNotNull(ret);
assertTrue(ret.isPresent());
}
setupBackend();
queue.sendRequest(mockRequest, mockCallback);
- final Optional<Long> ret = queue.checkTimeout(ticker.read());
+ final OptionalLong ret = queue.checkTimeout(ticker.read());
assertNotNull(ret);
assertTrue(ret.isPresent());
assertTransmit(mockRequest, 0);
@Test
public void testRunTimeoutEmpty() {
- Optional<Long> ret = queue.checkTimeout(ticker.read());
+ OptionalLong ret = queue.checkTimeout(ticker.read());
assertNotNull(ret);
assertFalse(ret.isPresent());
}
@Test
public void testRunTimeoutWithoutShift() {
queue.sendRequest(mockRequest, mockCallback);
- Optional<Long> ret = queue.checkTimeout(ticker.read());
+ OptionalLong ret = queue.checkTimeout(ticker.read());
assertNotNull(ret);
assertTrue(ret.isPresent());
}
ticker.advance(AbstractClientConnection.DEFAULT_BACKEND_ALIVE_TIMEOUT_NANOS - 1);
- Optional<Long> ret = queue.checkTimeout(ticker.read());
+ OptionalLong ret = queue.checkTimeout(ticker.read());
assertNotNull(ret);
assertTrue(ret.isPresent());
}
ticker.advance(AbstractClientConnection.DEFAULT_BACKEND_ALIVE_TIMEOUT_NANOS);
- Optional<Long> ret = queue.checkTimeout(ticker.read());
+ OptionalLong ret = queue.checkTimeout(ticker.read());
assertNull(ret);
}
ticker.advance(AbstractClientConnection.DEFAULT_BACKEND_ALIVE_TIMEOUT_NANOS + 1);
- Optional<Long> ret = queue.checkTimeout(ticker.read());
- assertNull(ret);
+ assertNull(queue.checkTimeout(ticker.read()));
}
@SuppressWarnings({ "rawtypes", "unchecked" })
ticker.advance(AbstractClientConnection.DEFAULT_NO_PROGRESS_TIMEOUT_NANOS);
// No problem
- Optional<Long> ret = queue.checkTimeout(ticker.read());
- assertNotNull(ret);
- assertFalse(ret.isPresent());
+ assertEquals(OptionalLong.empty(), queue.checkTimeout(ticker.read()));
}
@Test
ticker.advance(AbstractClientConnection.DEFAULT_NO_PROGRESS_TIMEOUT_NANOS + 1);
// No problem
- Optional<Long> ret = queue.checkTimeout(ticker.read());
- assertNotNull(ret);
- assertFalse(ret.isPresent());
+ assertEquals(OptionalLong.empty(), queue.checkTimeout(ticker.read()));
}
@Test
ticker.advance(AbstractClientConnection.DEFAULT_NO_PROGRESS_TIMEOUT_NANOS - 11);
- Optional<Long> ret = queue.checkTimeout(ticker.read());
- assertNull(ret);
+ assertNull(queue.checkTimeout(ticker.read()));
}
private void setupBackend() {