import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.verify;
+
import akka.actor.ActorRef;
import akka.actor.ActorSystem;
import akka.testkit.TestProbe;
private static final long serialVersionUID = 1L;
MockFailure(final WritableIdentifier target, final RequestException cause) {
- super(target, cause);
+ super(target, 0, cause);
}
@Override
- protected AbstractRequestFailureProxy<WritableIdentifier, MockFailure> externalizableProxy(final ABIVersion version) {
+ protected AbstractRequestFailureProxy<WritableIdentifier, MockFailure> externalizableProxy(
+ final ABIVersion version) {
return null;
}
private static final long serialVersionUID = 1L;
MockRequest(final WritableIdentifier target, final ActorRef replyTo) {
- super(target, replyTo);
+ super(target, 0, replyTo);
}
@Override
protected MockRequest cloneAsVersion(final ABIVersion version) {
return this;
}
- };
+ }
@Mock
private ActorRef mockReplyTo;
ticker.increment(ThreadLocalRandom.current().nextLong());
mockActor = TestProbe.apply(actorSystem);
- mockBackendInfo = new BackendInfo(mockActor.ref(), ABIVersion.current());
+ mockBackendInfo = new BackendInfo(mockActor.ref(), 0, ABIVersion.current(), 5);
mockRequest = new MockRequest(mockIdentifier, mockReplyTo);
mockResponse = mockRequest.toRequestFailure(mockCause);
- entry = new SequencedQueueEntry(mockRequest, 0, mockCallback, ticker.read());
+ entry = new SequencedQueueEntry(mockRequest, mockCallback, ticker.read());
}
@After
}
@Test
- public void testGetSequence() {
- assertEquals(0, entry.getSequence());
- }
-
- @Test
- public void testGetCurrentTry() {
- assertEquals(0, entry.getCurrentTry());
- entry.retransmit(mockBackendInfo, ticker.read());
- assertEquals(0, entry.getCurrentTry());
- entry.retransmit(mockBackendInfo, ticker.read());
- assertEquals(1, entry.getCurrentTry());
- entry.retransmit(mockBackendInfo, ticker.read());
- assertEquals(2, entry.getCurrentTry());
+ public void testGetTxDetails() {
+ assertNull(entry.getTxDetails());
+ entry.retransmit(mockBackendInfo, 0, ticker.read());
+ assertEquals(0, entry.getTxDetails().getTxSequence());
+ entry.retransmit(mockBackendInfo, 1, ticker.read());
+ assertEquals(1, entry.getTxDetails().getTxSequence());
+ entry.retransmit(mockBackendInfo, 3, ticker.read());
+ assertEquals(3, entry.getTxDetails().getTxSequence());
}
@Test
assertTrue(entry.isTimedOut(ticker.read(), 0));
assertFalse(entry.isTimedOut(ticker.read(), 1));
- entry.retransmit(mockBackendInfo, ticker.read());
+ entry.retransmit(mockBackendInfo, 0, ticker.read());
assertTrue(entry.isTimedOut(ticker.read(), 0));
ticker.increment(10);
assertTrue(entry.isTimedOut(ticker.read(), 10));
assertFalse(entry.isTimedOut(ticker.read(), 20));
- entry.retransmit(mockBackendInfo, ticker.read());
+ entry.retransmit(mockBackendInfo, 1, ticker.read());
assertTrue(entry.isTimedOut(ticker.read(), 0));
ticker.increment(10);
assertTrue(entry.isTimedOut(ticker.read(), 10));
@Test
public void testRetransmit() {
assertFalse(mockActor.msgAvailable());
- entry.retransmit(mockBackendInfo, ticker.read());
+ entry.retransmit(mockBackendInfo, 0, ticker.read());
assertTrue(mockActor.msgAvailable());
assertRequestEquals(mockRequest, mockActor.receiveOne(Duration.apply(5, TimeUnit.SECONDS)));
}
- private static void assertRequestEquals(final Request<?, ?> expected, final Object o) {
- assertTrue(o instanceof RequestEnvelope);
+ private static void assertRequestEquals(final Request<?, ?> expected, final Object obj) {
+ assertTrue(obj instanceof RequestEnvelope);
- final RequestEnvelope actual = (RequestEnvelope) o;
- assertEquals(0, actual.getRetry());
- assertEquals(0, actual.getSequence());
- assertEquals(expected.getTarget(), actual.getMessage().getTarget());
+ final RequestEnvelope actual = (RequestEnvelope) obj;
+ assertEquals(0, actual.getSessionId());
+ assertEquals(0, actual.getTxSequence());
+ assertEquals(expected.getTarget(), actual.getMessage().getTarget());
}
}