mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-20 14:49:53 +01:00
Store invitation outcome in metadata
and include in canBeOpened calculation for private groups and sharables.
This commit is contained in:
@@ -169,7 +169,7 @@ public abstract class AbstractProtocolEngineTest extends BrambleMockTestCase {
|
||||
final boolean visible) throws Exception {
|
||||
context.checking(new Expectations() {{
|
||||
oneOf(messageEncoder).encodeMetadata(type, privateGroupId,
|
||||
message.getTimestamp(), true, true, visible, false);
|
||||
message.getTimestamp(), true, true, visible, false, false);
|
||||
will(returnValue(meta));
|
||||
oneOf(clientHelper).addLocalMessage(txn, message, meta, true);
|
||||
}});
|
||||
|
||||
@@ -104,6 +104,7 @@ public class GroupInvitationIntegrationTest
|
||||
assertEquals(privateGroup0.getName(), request.getShareable().getName());
|
||||
assertFalse(request.isLocal());
|
||||
assertFalse(request.isRead());
|
||||
assertFalse(request.canBeOpened());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -175,6 +176,8 @@ public class GroupInvitationIntegrationTest
|
||||
foundResponse = true;
|
||||
InvitationResponse response = (GroupInvitationResponse) m;
|
||||
assertTrue(response.wasAccepted());
|
||||
} else {
|
||||
assertTrue(((GroupInvitationRequest) m).canBeOpened());
|
||||
}
|
||||
}
|
||||
assertTrue(foundResponse);
|
||||
|
||||
@@ -638,10 +638,10 @@ public class GroupInvitationManagerImplTest extends BrambleMockTestCase {
|
||||
final long time1 = 1L, time2 = 2L;
|
||||
final MessageMetadata messageMetadata1 =
|
||||
new MessageMetadata(INVITE, privateGroup.getId(), time1, true,
|
||||
true, true, false);
|
||||
true, true, false, true);
|
||||
final MessageMetadata messageMetadata2 =
|
||||
new MessageMetadata(JOIN, privateGroup.getId(), time2, true,
|
||||
true, true, true);
|
||||
true, true, true, false);
|
||||
final InviteMessage invite =
|
||||
new InviteMessage(message.getId(), contactGroup.getId(),
|
||||
privateGroup.getId(), time1, "name", author,
|
||||
|
||||
@@ -311,7 +311,7 @@ public class GroupInvitationValidatorTest extends ValidatorTestCase {
|
||||
} else {
|
||||
oneOf(messageEncoder).encodeMetadata(INVITE,
|
||||
message.getGroupId(), message.getTimestamp(), false,
|
||||
false, false, false);
|
||||
false, false, false, false);
|
||||
will(returnValue(meta));
|
||||
}
|
||||
}});
|
||||
@@ -389,7 +389,7 @@ public class GroupInvitationValidatorTest extends ValidatorTestCase {
|
||||
BdfList body = BdfList.of(JOIN.getValue(), privateGroup.getId(), null);
|
||||
context.checking(new Expectations() {{
|
||||
oneOf(messageEncoder).encodeMetadata(JOIN, message.getGroupId(),
|
||||
message.getTimestamp(), false, false, false, false);
|
||||
message.getTimestamp(), false, false, false, false, false);
|
||||
will(returnValue(meta));
|
||||
}});
|
||||
BdfMessageContext messageContext =
|
||||
@@ -404,7 +404,7 @@ public class GroupInvitationValidatorTest extends ValidatorTestCase {
|
||||
previousMessageId);
|
||||
context.checking(new Expectations() {{
|
||||
oneOf(messageEncoder).encodeMetadata(JOIN, message.getGroupId(),
|
||||
message.getTimestamp(), false, false, false, false);
|
||||
message.getTimestamp(), false, false, false, false, false);
|
||||
will(returnValue(meta));
|
||||
}});
|
||||
BdfMessageContext messageContext =
|
||||
@@ -487,7 +487,7 @@ public class GroupInvitationValidatorTest extends ValidatorTestCase {
|
||||
BdfList body = BdfList.of(LEAVE.getValue(), privateGroup.getId(), null);
|
||||
context.checking(new Expectations() {{
|
||||
oneOf(messageEncoder).encodeMetadata(LEAVE, message.getGroupId(),
|
||||
message.getTimestamp(), false, false, false, false);
|
||||
message.getTimestamp(), false, false, false, false, false);
|
||||
will(returnValue(meta));
|
||||
}});
|
||||
BdfMessageContext messageContext =
|
||||
@@ -500,7 +500,7 @@ public class GroupInvitationValidatorTest extends ValidatorTestCase {
|
||||
public void testAcceptsValidLeaveMessage() throws Exception {
|
||||
context.checking(new Expectations() {{
|
||||
oneOf(messageEncoder).encodeMetadata(LEAVE, message.getGroupId(),
|
||||
message.getTimestamp(), false, false, false, false);
|
||||
message.getTimestamp(), false, false, false, false, false);
|
||||
will(returnValue(meta));
|
||||
}});
|
||||
BdfList body = BdfList.of(LEAVE.getValue(), privateGroup.getId(),
|
||||
@@ -557,7 +557,7 @@ public class GroupInvitationValidatorTest extends ValidatorTestCase {
|
||||
public void testAcceptsValidAbortMessage() throws Exception {
|
||||
context.checking(new Expectations() {{
|
||||
oneOf(messageEncoder).encodeMetadata(ABORT, message.getGroupId(),
|
||||
message.getTimestamp(), false, false, false, false);
|
||||
message.getTimestamp(), false, false, false, false, false);
|
||||
will(returnValue(meta));
|
||||
}});
|
||||
BdfList body = BdfList.of(ABORT.getValue(), privateGroup.getId());
|
||||
|
||||
@@ -3,11 +3,9 @@ package org.briarproject.briar.privategroup.invitation;
|
||||
import org.briarproject.bramble.api.contact.Contact;
|
||||
import org.briarproject.bramble.api.data.BdfDictionary;
|
||||
import org.briarproject.bramble.api.data.BdfEntry;
|
||||
import org.briarproject.bramble.api.data.BdfList;
|
||||
import org.briarproject.bramble.api.identity.Author;
|
||||
import org.briarproject.bramble.api.identity.AuthorId;
|
||||
import org.briarproject.bramble.api.identity.LocalAuthor;
|
||||
import org.briarproject.bramble.api.sync.Message;
|
||||
import org.briarproject.bramble.api.sync.MessageId;
|
||||
import org.briarproject.briar.api.client.ProtocolStateException;
|
||||
import org.briarproject.briar.api.privategroup.GroupMessage;
|
||||
@@ -132,15 +130,17 @@ public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest {
|
||||
final JoinMessage properJoinMessage =
|
||||
new JoinMessage(messageId, contactGroupId, privateGroupId,
|
||||
messageTimestamp, lastRemoteMessageId);
|
||||
final Message inviteMsg =
|
||||
new Message(lastRemoteMessageId, contactGroupId, 1337L,
|
||||
getRandomBytes(42));
|
||||
final BdfList inviteList = BdfList.of("inviteMessage");
|
||||
final long timestamp = 0L;
|
||||
final GroupMessage joinGroupMessage =
|
||||
new GroupMessage(message, null, localAuthor);
|
||||
final BdfDictionary meta = new BdfDictionary();
|
||||
|
||||
expectMarkMessageAvailableToAnswer(lastRemoteMessageId, false);
|
||||
context.checking(new Expectations() {{
|
||||
oneOf(messageEncoder).setInvitationAccepted(meta, true);
|
||||
oneOf(clientHelper)
|
||||
.mergeMessageMetadata(txn, lastRemoteMessageId, meta);
|
||||
}});
|
||||
expectSendJoinMessage(properJoinMessage, true);
|
||||
context.checking(new Expectations() {{
|
||||
oneOf(messageTracker).trackOutgoingMessage(txn, message);
|
||||
|
||||
@@ -136,6 +136,7 @@ public class ForumSharingIntegrationTest
|
||||
assertEquals(forum0.getName(), invitation.getForumName());
|
||||
assertEquals(contactId1From0, invitation.getContactId());
|
||||
assertEquals("Hi!", invitation.getMessage());
|
||||
assertTrue(invitation.canBeOpened());
|
||||
} else {
|
||||
ForumInvitationResponse response =
|
||||
(ForumInvitationResponse) m;
|
||||
@@ -195,6 +196,7 @@ public class ForumSharingIntegrationTest
|
||||
assertEquals(forum0.getName(), invitation.getForumName());
|
||||
assertEquals(contactId1From0, invitation.getContactId());
|
||||
assertEquals(null, invitation.getMessage());
|
||||
assertFalse(invitation.canBeOpened());
|
||||
} else {
|
||||
ForumInvitationResponse response =
|
||||
(ForumInvitationResponse) m;
|
||||
|
||||
@@ -147,7 +147,7 @@ public abstract class SharingValidatorTest extends ValidatorTestCase {
|
||||
context.checking(new Expectations() {{
|
||||
oneOf(messageEncoder)
|
||||
.encodeMetadata(type, groupId, timestamp, false, false,
|
||||
false, false);
|
||||
false, false, false);
|
||||
will(returnValue(meta));
|
||||
}});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user