mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-19 22:29:53 +01:00
Address review issues
This commit is contained in:
@@ -208,7 +208,7 @@ public class CreatorProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
// onInviteMessage
|
// onInviteMessage
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testOnInviteMessageInAnyState() throws Exception {
|
public void testOnInviteMessageInAnyStateWhenSubscribed() throws Exception {
|
||||||
expectIsSubscribedPrivateGroup();
|
expectIsSubscribedPrivateGroup();
|
||||||
expectSetPrivateGroupVisibility(INVISIBLE);
|
expectSetPrivateGroupVisibility(INVISIBLE);
|
||||||
expectSendAbortMessage();
|
expectSendAbortMessage();
|
||||||
@@ -217,15 +217,29 @@ public class CreatorProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
engine.onInviteMessage(txn, session, inviteMessage);
|
engine.onInviteMessage(txn, session, inviteMessage);
|
||||||
assertEquals(ERROR, newSession.getState());
|
assertEquals(ERROR, newSession.getState());
|
||||||
|
|
||||||
expectIsSubscribedPrivateGroup();
|
expectAbortWhenSubscribedToGroup();
|
||||||
expectSetPrivateGroupVisibility(INVISIBLE);
|
|
||||||
expectSendAbortMessage();
|
|
||||||
session = getDefaultSession(START);
|
session = getDefaultSession(START);
|
||||||
newSession =
|
newSession =
|
||||||
engine.onInviteMessage(txn, session, inviteMessage);
|
engine.onInviteMessage(txn, session, inviteMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testOnInviteMessageInAnyStateWhenNotSubscribed()
|
||||||
|
throws Exception {
|
||||||
|
expectIsSubscribedPrivateGroup();
|
||||||
|
expectSetPrivateGroupVisibility(INVISIBLE);
|
||||||
|
expectSendAbortMessage();
|
||||||
|
CreatorSession session = getDefaultSession(LEFT);
|
||||||
|
CreatorSession newSession =
|
||||||
|
engine.onInviteMessage(txn, session, inviteMessage);
|
||||||
assertEquals(ERROR, newSession.getState());
|
assertEquals(ERROR, newSession.getState());
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
expectAbortWhenNotSubscribedToGroup();
|
||||||
|
session = getDefaultSession(START);
|
||||||
|
newSession =
|
||||||
|
engine.onInviteMessage(txn, session, inviteMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
}
|
}
|
||||||
|
|
||||||
// onJoinMessage
|
// onJoinMessage
|
||||||
@@ -234,42 +248,30 @@ public class CreatorProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
public void testOnJoinMessageFromStart() throws Exception {
|
public void testOnJoinMessageFromStart() throws Exception {
|
||||||
CreatorSession session = getDefaultSession(START);
|
CreatorSession session = getDefaultSession(START);
|
||||||
|
|
||||||
expectIsSubscribedPrivateGroup();
|
expectAbortWhenSubscribedToGroup();
|
||||||
expectSetPrivateGroupVisibility(INVISIBLE);
|
|
||||||
expectSendAbortMessage();
|
|
||||||
CreatorSession newSession =
|
CreatorSession newSession =
|
||||||
engine.onJoinMessage(txn, session, joinMessage);
|
engine.onJoinMessage(txn, session, joinMessage);
|
||||||
assertEquals(ERROR, newSession.getState());
|
assertSessionAborted(session, newSession);
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testOnJoinMessageFromJoined() throws Exception {
|
public void testOnJoinMessageFromJoined() throws Exception {
|
||||||
CreatorSession session = getDefaultSession(JOINED);
|
CreatorSession session = getDefaultSession(JOINED);
|
||||||
|
|
||||||
expectIsSubscribedPrivateGroup();
|
expectAbortWhenSubscribedToGroup();
|
||||||
expectSetPrivateGroupVisibility(INVISIBLE);
|
|
||||||
expectSendAbortMessage();
|
|
||||||
CreatorSession newSession =
|
CreatorSession newSession =
|
||||||
engine.onJoinMessage(txn, session, joinMessage);
|
engine.onJoinMessage(txn, session, joinMessage);
|
||||||
assertEquals(ERROR, newSession.getState());
|
assertSessionAborted(session, newSession);
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testOnJoinMessageFromLeft() throws Exception {
|
public void testOnJoinMessageFromLeft() throws Exception {
|
||||||
CreatorSession session = getDefaultSession(LEFT);
|
CreatorSession session = getDefaultSession(LEFT);
|
||||||
|
|
||||||
expectIsSubscribedPrivateGroup();
|
expectAbortWhenSubscribedToGroup();
|
||||||
expectSetPrivateGroupVisibility(INVISIBLE);
|
|
||||||
expectSendAbortMessage();
|
|
||||||
CreatorSession newSession =
|
CreatorSession newSession =
|
||||||
engine.onJoinMessage(txn, session, joinMessage);
|
engine.onJoinMessage(txn, session, joinMessage);
|
||||||
assertEquals(ERROR, newSession.getState());
|
assertSessionAborted(session, newSession);
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -277,14 +279,10 @@ public class CreatorProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
throws Exception {
|
throws Exception {
|
||||||
CreatorSession session = getDefaultSession(INVITED);
|
CreatorSession session = getDefaultSession(INVITED);
|
||||||
|
|
||||||
expectIsSubscribedPrivateGroup();
|
expectAbortWhenSubscribedToGroup();
|
||||||
expectSetPrivateGroupVisibility(INVISIBLE);
|
|
||||||
expectSendAbortMessage();
|
|
||||||
CreatorSession newSession =
|
CreatorSession newSession =
|
||||||
engine.onJoinMessage(txn, session, joinMessage);
|
engine.onJoinMessage(txn, session, joinMessage);
|
||||||
assertEquals(ERROR, newSession.getState());
|
assertSessionAborted(session, newSession);
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -295,14 +293,10 @@ public class CreatorProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
new JoinMessage(messageId, contactGroupId, privateGroupId,
|
new JoinMessage(messageId, contactGroupId, privateGroupId,
|
||||||
inviteTimestamp + 1, messageId);
|
inviteTimestamp + 1, messageId);
|
||||||
|
|
||||||
expectIsSubscribedPrivateGroup();
|
expectAbortWhenSubscribedToGroup();
|
||||||
expectSetPrivateGroupVisibility(INVISIBLE);
|
|
||||||
expectSendAbortMessage();
|
|
||||||
CreatorSession newSession =
|
CreatorSession newSession =
|
||||||
engine.onJoinMessage(txn, session, invalidJoinMessage);
|
engine.onJoinMessage(txn, session, invalidJoinMessage);
|
||||||
assertEquals(ERROR, newSession.getState());
|
assertSessionAborted(session, newSession);
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -354,42 +348,30 @@ public class CreatorProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
inviteTimestamp, lastLocalMessageId);
|
inviteTimestamp, lastLocalMessageId);
|
||||||
CreatorSession session = getDefaultSession(START);
|
CreatorSession session = getDefaultSession(START);
|
||||||
|
|
||||||
expectIsSubscribedPrivateGroup();
|
expectAbortWhenSubscribedToGroup();
|
||||||
expectSetPrivateGroupVisibility(INVISIBLE);
|
|
||||||
expectSendAbortMessage();
|
|
||||||
CreatorSession newSession =
|
CreatorSession newSession =
|
||||||
engine.onLeaveMessage(txn, session, leaveMessage);
|
engine.onLeaveMessage(txn, session, leaveMessage);
|
||||||
assertEquals(ERROR, newSession.getState());
|
assertSessionAborted(session, newSession);
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testOnLeaveMessageFromLeft() throws Exception {
|
public void testOnLeaveMessageFromLeft() throws Exception {
|
||||||
CreatorSession session = getDefaultSession(LEFT);
|
CreatorSession session = getDefaultSession(LEFT);
|
||||||
|
|
||||||
expectIsSubscribedPrivateGroup();
|
expectAbortWhenSubscribedToGroup();
|
||||||
expectSetPrivateGroupVisibility(INVISIBLE);
|
|
||||||
expectSendAbortMessage();
|
|
||||||
CreatorSession newSession =
|
CreatorSession newSession =
|
||||||
engine.onLeaveMessage(txn, session, leaveMessage);
|
engine.onLeaveMessage(txn, session, leaveMessage);
|
||||||
assertEquals(ERROR, newSession.getState());
|
assertSessionAborted(session, newSession);
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testOnLeaveMessageFromInvitedWithWrongTime() throws Exception {
|
public void testOnLeaveMessageFromInvitedWithWrongTime() throws Exception {
|
||||||
CreatorSession session = getDefaultSession(INVITED);
|
CreatorSession session = getDefaultSession(INVITED);
|
||||||
|
|
||||||
expectIsSubscribedPrivateGroup();
|
expectAbortWhenSubscribedToGroup();
|
||||||
expectSetPrivateGroupVisibility(INVISIBLE);
|
|
||||||
expectSendAbortMessage();
|
|
||||||
CreatorSession newSession =
|
CreatorSession newSession =
|
||||||
engine.onLeaveMessage(txn, session, leaveMessage);
|
engine.onLeaveMessage(txn, session, leaveMessage);
|
||||||
assertEquals(ERROR, newSession.getState());
|
assertSessionAborted(session, newSession);
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -400,14 +382,10 @@ public class CreatorProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
inviteTimestamp + 1, lastLocalMessageId);
|
inviteTimestamp + 1, lastLocalMessageId);
|
||||||
CreatorSession session = getDefaultSession(INVITED);
|
CreatorSession session = getDefaultSession(INVITED);
|
||||||
|
|
||||||
expectIsSubscribedPrivateGroup();
|
expectAbortWhenSubscribedToGroup();
|
||||||
expectSetPrivateGroupVisibility(INVISIBLE);
|
|
||||||
expectSendAbortMessage();
|
|
||||||
CreatorSession newSession =
|
CreatorSession newSession =
|
||||||
engine.onLeaveMessage(txn, session, invalidLeaveMessage);
|
engine.onLeaveMessage(txn, session, invalidLeaveMessage);
|
||||||
assertEquals(ERROR, newSession.getState());
|
assertSessionAborted(session, newSession);
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -461,23 +439,37 @@ public class CreatorProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
expectSendAbortMessage();
|
expectSendAbortMessage();
|
||||||
CreatorSession newSession =
|
CreatorSession newSession =
|
||||||
engine.onAbortMessage(txn, session, abortMessage);
|
engine.onAbortMessage(txn, session, abortMessage);
|
||||||
assertEquals(ERROR, newSession.getState());
|
assertSessionAborted(session, newSession);
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testOnAbortMessageWhenSubscribed() throws Exception {
|
public void testOnAbortMessageWhenSubscribed() throws Exception {
|
||||||
CreatorSession session = getDefaultSession(START);
|
CreatorSession session = getDefaultSession(START);
|
||||||
|
|
||||||
|
expectAbortWhenSubscribedToGroup();
|
||||||
|
CreatorSession newSession =
|
||||||
|
engine.onAbortMessage(txn, session, abortMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
|
}
|
||||||
|
|
||||||
|
// helper methods
|
||||||
|
|
||||||
|
private void expectAbortWhenSubscribedToGroup() throws Exception {
|
||||||
expectIsSubscribedPrivateGroup();
|
expectIsSubscribedPrivateGroup();
|
||||||
expectSetPrivateGroupVisibility(INVISIBLE);
|
expectSetPrivateGroupVisibility(INVISIBLE);
|
||||||
expectSendAbortMessage();
|
expectSendAbortMessage();
|
||||||
CreatorSession newSession =
|
}
|
||||||
engine.onAbortMessage(txn, session, abortMessage);
|
|
||||||
|
private void expectAbortWhenNotSubscribedToGroup() throws Exception {
|
||||||
|
expectIsNotSubscribedPrivateGroup();
|
||||||
|
expectSendAbortMessage();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void assertSessionAborted(CreatorSession oldSession,
|
||||||
|
CreatorSession newSession) throws Exception {
|
||||||
assertEquals(ERROR, newSession.getState());
|
assertEquals(ERROR, newSession.getState());
|
||||||
assertSessionRecordedSentMessage(newSession);
|
assertSessionRecordedSentMessage(newSession);
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
assertSessionConstantsUnchanged(oldSession, newSession);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,8 @@ import static org.briarproject.briar.privategroup.invitation.InviteeState.LEFT;
|
|||||||
import static org.briarproject.briar.privategroup.invitation.InviteeState.START;
|
import static org.briarproject.briar.privategroup.invitation.InviteeState.START;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertFalse;
|
import static org.junit.Assert.assertFalse;
|
||||||
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
import static org.junit.Assert.assertNull;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest {
|
public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest {
|
||||||
@@ -311,13 +313,10 @@ public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
assertTrue(
|
assertTrue(
|
||||||
inviteMessage.getTimestamp() <= session.getInviteTimestamp());
|
inviteMessage.getTimestamp() <= session.getInviteTimestamp());
|
||||||
|
|
||||||
expectAbort();
|
expectAbortWhenSubscribedToGroup();
|
||||||
InviteeSession newSession =
|
InviteeSession newSession =
|
||||||
engine.onInviteMessage(txn, session, inviteMessage);
|
engine.onInviteMessage(txn, session, inviteMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
assertEquals(ERROR, newSession.getState());
|
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -337,14 +336,11 @@ public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
oneOf(db).getContact(txn, contactId);
|
oneOf(db).getContact(txn, contactId);
|
||||||
will(returnValue(contact));
|
will(returnValue(contact));
|
||||||
}});
|
}});
|
||||||
expectAbort();
|
expectAbortWhenSubscribedToGroup();
|
||||||
|
|
||||||
InviteeSession newSession =
|
InviteeSession newSession =
|
||||||
engine.onInviteMessage(txn, session, properInviteMessage);
|
engine.onInviteMessage(txn, session, properInviteMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
assertEquals(ERROR, newSession.getState());
|
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -393,62 +389,47 @@ public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testOnInviteMessageFromInvited() throws Exception {
|
public void testOnInviteMessageFromInvited() throws Exception {
|
||||||
expectAbort();
|
expectAbortWhenSubscribedToGroup();
|
||||||
InviteeSession session = getDefaultSession(INVITED);
|
InviteeSession session = getDefaultSession(INVITED);
|
||||||
InviteeSession newSession =
|
InviteeSession newSession =
|
||||||
engine.onInviteMessage(txn, session, inviteMessage);
|
engine.onInviteMessage(txn, session, inviteMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
assertEquals(ERROR, newSession.getState());
|
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testOnInviteMessageFromAccepted() throws Exception {
|
public void testOnInviteMessageFromAccepted() throws Exception {
|
||||||
expectAbort();
|
expectAbortWhenSubscribedToGroup();
|
||||||
InviteeSession session = getDefaultSession(ACCEPTED);
|
InviteeSession session = getDefaultSession(ACCEPTED);
|
||||||
InviteeSession newSession =
|
InviteeSession newSession =
|
||||||
engine.onInviteMessage(txn, session, inviteMessage);
|
engine.onInviteMessage(txn, session, inviteMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
assertEquals(ERROR, newSession.getState());
|
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testOnInviteMessageFromJoined() throws Exception {
|
public void testOnInviteMessageFromJoined() throws Exception {
|
||||||
expectAbort();
|
expectAbortWhenSubscribedToGroup();
|
||||||
InviteeSession session = getDefaultSession(JOINED);
|
InviteeSession session = getDefaultSession(JOINED);
|
||||||
InviteeSession newSession =
|
InviteeSession newSession =
|
||||||
engine.onInviteMessage(txn, session, inviteMessage);
|
engine.onInviteMessage(txn, session, inviteMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
assertEquals(ERROR, newSession.getState());
|
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testOnInviteMessageFromLeft() throws Exception {
|
public void testOnInviteMessageFromLeft() throws Exception {
|
||||||
expectAbort();
|
expectAbortWhenSubscribedToGroup();
|
||||||
InviteeSession session = getDefaultSession(LEFT);
|
InviteeSession session = getDefaultSession(LEFT);
|
||||||
InviteeSession newSession =
|
InviteeSession newSession =
|
||||||
engine.onInviteMessage(txn, session, inviteMessage);
|
engine.onInviteMessage(txn, session, inviteMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
assertEquals(ERROR, newSession.getState());
|
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testOnInviteMessageFromDissolved() throws Exception {
|
public void testOnInviteMessageFromDissolved() throws Exception {
|
||||||
expectAbort();
|
expectAbortWhenSubscribedToGroup();
|
||||||
InviteeSession session = getDefaultSession(DISSOLVED);
|
InviteeSession session = getDefaultSession(DISSOLVED);
|
||||||
InviteeSession newSession =
|
InviteeSession newSession =
|
||||||
engine.onInviteMessage(txn, session, inviteMessage);
|
engine.onInviteMessage(txn, session, inviteMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
assertEquals(ERROR, newSession.getState());
|
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -462,62 +443,47 @@ public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testOnJoinMessageFromStart() throws Exception {
|
public void testOnJoinMessageFromStart() throws Exception {
|
||||||
expectAbort();
|
expectAbortWhenSubscribedToGroup();
|
||||||
InviteeSession session = getDefaultSession(START);
|
InviteeSession session = getDefaultSession(START);
|
||||||
InviteeSession newSession =
|
InviteeSession newSession =
|
||||||
engine.onJoinMessage(txn, session, joinMessage);
|
engine.onJoinMessage(txn, session, joinMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
assertEquals(ERROR, newSession.getState());
|
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testOnJoinMessageFromInvited() throws Exception {
|
public void testOnJoinMessageFromInvited() throws Exception {
|
||||||
expectAbort();
|
expectAbortWhenSubscribedToGroup();
|
||||||
InviteeSession session = getDefaultSession(INVITED);
|
InviteeSession session = getDefaultSession(INVITED);
|
||||||
InviteeSession newSession =
|
InviteeSession newSession =
|
||||||
engine.onJoinMessage(txn, session, joinMessage);
|
engine.onJoinMessage(txn, session, joinMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
assertEquals(ERROR, newSession.getState());
|
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testOnJoinMessageFromJoined() throws Exception {
|
public void testOnJoinMessageFromJoined() throws Exception {
|
||||||
expectAbort();
|
expectAbortWhenSubscribedToGroup();
|
||||||
InviteeSession session = getDefaultSession(JOINED);
|
InviteeSession session = getDefaultSession(JOINED);
|
||||||
InviteeSession newSession =
|
InviteeSession newSession =
|
||||||
engine.onJoinMessage(txn, session, joinMessage);
|
engine.onJoinMessage(txn, session, joinMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
assertEquals(ERROR, newSession.getState());
|
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testOnJoinMessageFromLeft() throws Exception {
|
public void testOnJoinMessageFromLeft() throws Exception {
|
||||||
expectAbort();
|
expectAbortWhenSubscribedToGroup();
|
||||||
InviteeSession session = getDefaultSession(LEFT);
|
InviteeSession session = getDefaultSession(LEFT);
|
||||||
InviteeSession newSession =
|
InviteeSession newSession =
|
||||||
engine.onJoinMessage(txn, session, joinMessage);
|
engine.onJoinMessage(txn, session, joinMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
assertEquals(ERROR, newSession.getState());
|
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testOnJoinMessageFromDissolved() throws Exception {
|
public void testOnJoinMessageFromDissolved() throws Exception {
|
||||||
expectAbort();
|
expectAbortWhenSubscribedToGroup();
|
||||||
InviteeSession session = getDefaultSession(DISSOLVED);
|
InviteeSession session = getDefaultSession(DISSOLVED);
|
||||||
InviteeSession newSession =
|
InviteeSession newSession =
|
||||||
engine.onJoinMessage(txn, session, joinMessage);
|
engine.onJoinMessage(txn, session, joinMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
assertEquals(ERROR, newSession.getState());
|
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -526,13 +492,10 @@ public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
InviteeSession session = getDefaultSession(ACCEPTED);
|
InviteeSession session = getDefaultSession(ACCEPTED);
|
||||||
assertTrue(joinMessage.getTimestamp() <= session.getInviteTimestamp());
|
assertTrue(joinMessage.getTimestamp() <= session.getInviteTimestamp());
|
||||||
|
|
||||||
expectAbort();
|
expectAbortWhenSubscribedToGroup();
|
||||||
InviteeSession newSession =
|
InviteeSession newSession =
|
||||||
engine.onJoinMessage(txn, session, joinMessage);
|
engine.onJoinMessage(txn, session, joinMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
assertEquals(ERROR, newSession.getState());
|
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -545,18 +508,15 @@ public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
lastLocalMessageId);
|
lastLocalMessageId);
|
||||||
assertFalse(invalidJoinMessage.getTimestamp() <=
|
assertFalse(invalidJoinMessage.getTimestamp() <=
|
||||||
session.getInviteTimestamp());
|
session.getInviteTimestamp());
|
||||||
assertTrue(session.getLastRemoteMessageId() != null);
|
assertNotNull(session.getLastRemoteMessageId());
|
||||||
assertTrue(invalidJoinMessage.getPreviousMessageId() != null);
|
assertNotNull(invalidJoinMessage.getPreviousMessageId());
|
||||||
assertFalse(session.getLastRemoteMessageId()
|
assertFalse(session.getLastRemoteMessageId()
|
||||||
.equals(invalidJoinMessage.getPreviousMessageId()));
|
.equals(invalidJoinMessage.getPreviousMessageId()));
|
||||||
|
|
||||||
expectAbort();
|
expectAbortWhenSubscribedToGroup();
|
||||||
InviteeSession newSession =
|
InviteeSession newSession =
|
||||||
engine.onJoinMessage(txn, session, invalidJoinMessage);
|
engine.onJoinMessage(txn, session, invalidJoinMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
assertEquals(ERROR, newSession.getState());
|
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -568,8 +528,8 @@ public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
lastRemoteMessageId);
|
lastRemoteMessageId);
|
||||||
assertFalse(properJoinMessage.getTimestamp() <=
|
assertFalse(properJoinMessage.getTimestamp() <=
|
||||||
session.getInviteTimestamp());
|
session.getInviteTimestamp());
|
||||||
assertTrue(session.getLastRemoteMessageId() != null);
|
assertNotNull(session.getLastRemoteMessageId());
|
||||||
assertTrue(properJoinMessage.getPreviousMessageId() != null);
|
assertNotNull(properJoinMessage.getPreviousMessageId());
|
||||||
assertTrue(session.getLastRemoteMessageId()
|
assertTrue(session.getLastRemoteMessageId()
|
||||||
.equals(properJoinMessage.getPreviousMessageId()));
|
.equals(properJoinMessage.getPreviousMessageId()));
|
||||||
|
|
||||||
@@ -601,26 +561,20 @@ public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testOnLeaveMessageFromStart() throws Exception {
|
public void testOnLeaveMessageFromStart() throws Exception {
|
||||||
expectAbort();
|
expectAbortWhenSubscribedToGroup();
|
||||||
InviteeSession session = getDefaultSession(START);
|
InviteeSession session = getDefaultSession(START);
|
||||||
InviteeSession newSession =
|
InviteeSession newSession =
|
||||||
engine.onLeaveMessage(txn, session, leaveMessage);
|
engine.onLeaveMessage(txn, session, leaveMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
assertEquals(ERROR, newSession.getState());
|
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testOnLeaveMessageFromDissolved() throws Exception {
|
public void testOnLeaveMessageFromDissolved() throws Exception {
|
||||||
expectAbort();
|
expectAbortWhenSubscribedToGroup();
|
||||||
InviteeSession session = getDefaultSession(DISSOLVED);
|
InviteeSession session = getDefaultSession(DISSOLVED);
|
||||||
InviteeSession newSession =
|
InviteeSession newSession =
|
||||||
engine.onLeaveMessage(txn, session, leaveMessage);
|
engine.onLeaveMessage(txn, session, leaveMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
assertEquals(ERROR, newSession.getState());
|
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -629,13 +583,10 @@ public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
InviteeSession session = getDefaultSession(INVITED);
|
InviteeSession session = getDefaultSession(INVITED);
|
||||||
assertTrue(leaveMessage.getTimestamp() <= session.getInviteTimestamp());
|
assertTrue(leaveMessage.getTimestamp() <= session.getInviteTimestamp());
|
||||||
|
|
||||||
expectAbort();
|
expectAbortWhenSubscribedToGroup();
|
||||||
InviteeSession newSession =
|
InviteeSession newSession =
|
||||||
engine.onLeaveMessage(txn, session, leaveMessage);
|
engine.onLeaveMessage(txn, session, leaveMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
assertEquals(ERROR, newSession.getState());
|
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -644,13 +595,10 @@ public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
InviteeSession session = getDefaultSession(LEFT);
|
InviteeSession session = getDefaultSession(LEFT);
|
||||||
assertTrue(leaveMessage.getTimestamp() <= session.getInviteTimestamp());
|
assertTrue(leaveMessage.getTimestamp() <= session.getInviteTimestamp());
|
||||||
|
|
||||||
expectAbort();
|
expectAbortWhenSubscribedToGroup();
|
||||||
InviteeSession newSession =
|
InviteeSession newSession =
|
||||||
engine.onLeaveMessage(txn, session, leaveMessage);
|
engine.onLeaveMessage(txn, session, leaveMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
assertEquals(ERROR, newSession.getState());
|
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -662,15 +610,12 @@ public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
privateGroupId, session.getInviteTimestamp() + 1, null);
|
privateGroupId, session.getInviteTimestamp() + 1, null);
|
||||||
assertFalse(invalidLeaveMessage.getTimestamp() <=
|
assertFalse(invalidLeaveMessage.getTimestamp() <=
|
||||||
session.getInviteTimestamp());
|
session.getInviteTimestamp());
|
||||||
assertTrue(invalidLeaveMessage.getPreviousMessageId() == null);
|
assertNull(invalidLeaveMessage.getPreviousMessageId());
|
||||||
|
|
||||||
expectAbort();
|
expectAbortWhenSubscribedToGroup();
|
||||||
InviteeSession newSession =
|
InviteeSession newSession =
|
||||||
engine.onLeaveMessage(txn, session, invalidLeaveMessage);
|
engine.onLeaveMessage(txn, session, invalidLeaveMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
assertEquals(ERROR, newSession.getState());
|
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -682,15 +627,12 @@ public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
privateGroupId, session.getInviteTimestamp() + 1, null);
|
privateGroupId, session.getInviteTimestamp() + 1, null);
|
||||||
assertFalse(invalidLeaveMessage.getTimestamp() <=
|
assertFalse(invalidLeaveMessage.getTimestamp() <=
|
||||||
session.getInviteTimestamp());
|
session.getInviteTimestamp());
|
||||||
assertTrue(invalidLeaveMessage.getPreviousMessageId() == null);
|
assertNull(invalidLeaveMessage.getPreviousMessageId());
|
||||||
|
|
||||||
expectAbort();
|
expectAbortWhenSubscribedToGroup();
|
||||||
InviteeSession newSession =
|
InviteeSession newSession =
|
||||||
engine.onLeaveMessage(txn, session, invalidLeaveMessage);
|
engine.onLeaveMessage(txn, session, invalidLeaveMessage);
|
||||||
|
assertSessionAborted(session, newSession);
|
||||||
assertEquals(ERROR, newSession.getState());
|
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -702,8 +644,8 @@ public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
lastRemoteMessageId);
|
lastRemoteMessageId);
|
||||||
assertFalse(properLeaveMessage.getTimestamp() <=
|
assertFalse(properLeaveMessage.getTimestamp() <=
|
||||||
session.getInviteTimestamp());
|
session.getInviteTimestamp());
|
||||||
assertTrue(session.getLastRemoteMessageId() != null);
|
assertNotNull(session.getLastRemoteMessageId());
|
||||||
assertTrue(properLeaveMessage.getPreviousMessageId() != null);
|
assertNotNull(properLeaveMessage.getPreviousMessageId());
|
||||||
assertTrue(session.getLastRemoteMessageId()
|
assertTrue(session.getLastRemoteMessageId()
|
||||||
.equals(properLeaveMessage.getPreviousMessageId()));
|
.equals(properLeaveMessage.getPreviousMessageId()));
|
||||||
|
|
||||||
@@ -731,8 +673,8 @@ public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
lastRemoteMessageId);
|
lastRemoteMessageId);
|
||||||
assertFalse(properLeaveMessage.getTimestamp() <=
|
assertFalse(properLeaveMessage.getTimestamp() <=
|
||||||
session.getInviteTimestamp());
|
session.getInviteTimestamp());
|
||||||
assertTrue(session.getLastRemoteMessageId() != null);
|
assertNotNull(session.getLastRemoteMessageId());
|
||||||
assertTrue(properLeaveMessage.getPreviousMessageId() != null);
|
assertNotNull(properLeaveMessage.getPreviousMessageId());
|
||||||
assertTrue(session.getLastRemoteMessageId()
|
assertTrue(session.getLastRemoteMessageId()
|
||||||
.equals(properLeaveMessage.getPreviousMessageId()));
|
.equals(properLeaveMessage.getPreviousMessageId()));
|
||||||
|
|
||||||
@@ -757,12 +699,10 @@ public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
public void testOnAbortMessageWhenNotSubscribed() throws Exception {
|
public void testOnAbortMessageWhenNotSubscribed() throws Exception {
|
||||||
InviteeSession session = getDefaultSession(START);
|
InviteeSession session = getDefaultSession(START);
|
||||||
|
|
||||||
expectAbort();
|
expectAbortWhenSubscribedToGroup();
|
||||||
InviteeSession newSession =
|
InviteeSession newSession =
|
||||||
engine.onAbortMessage(txn, session, abortMessage);
|
engine.onAbortMessage(txn, session, abortMessage);
|
||||||
assertEquals(ERROR, newSession.getState());
|
assertSessionAborted(session, newSession);
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -772,9 +712,7 @@ public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
expectAbortWhenNotSubscribedToGroup();
|
expectAbortWhenNotSubscribedToGroup();
|
||||||
InviteeSession newSession =
|
InviteeSession newSession =
|
||||||
engine.onAbortMessage(txn, session, abortMessage);
|
engine.onAbortMessage(txn, session, abortMessage);
|
||||||
assertEquals(ERROR, newSession.getState());
|
assertSessionAborted(session, newSession);
|
||||||
assertSessionRecordedSentMessage(newSession);
|
|
||||||
assertSessionConstantsUnchanged(session, newSession);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// helper methods
|
// helper methods
|
||||||
@@ -790,7 +728,7 @@ public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
}});
|
}});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void expectAbort() throws Exception {
|
private void expectAbortWhenSubscribedToGroup() throws Exception {
|
||||||
expectAbort(true);
|
expectAbort(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -821,4 +759,11 @@ public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest {
|
|||||||
expectSendAbortMessage();
|
expectSendAbortMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void assertSessionAborted(InviteeSession oldSession,
|
||||||
|
InviteeSession newSession) throws Exception {
|
||||||
|
assertEquals(ERROR, newSession.getState());
|
||||||
|
assertSessionRecordedSentMessage(newSession);
|
||||||
|
assertSessionConstantsUnchanged(oldSession, newSession);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user