From 00ed6d9bb8b01868d1f75f783893f09eb2a69e5d Mon Sep 17 00:00:00 2001 From: akwizgran Date: Wed, 2 Dec 2020 11:30:54 +0000 Subject: [PATCH] Look up auto-delete timer when creating private group invitation. --- .../creation/CreateGroupControllerImpl.java | 50 ++++++++++++------- .../invitation/GroupInvitationManager.java | 3 +- .../invitation/AbstractProtocolEngine.java | 5 +- .../invitation/CreatorProtocolEngine.java | 14 +++--- .../GroupInvitationManagerImpl.java | 6 +-- .../invitation/InviteeProtocolEngine.java | 3 +- .../invitation/PeerProtocolEngine.java | 3 +- .../invitation/ProtocolEngine.java | 5 +- .../PrivateGroupIntegrationTest.java | 5 +- .../AbstractProtocolEngineTest.java | 22 ++++---- .../invitation/CreatorProtocolEngineTest.java | 14 +++--- .../GroupInvitationIntegrationTest.java | 4 +- .../GroupInvitationManagerImplTest.java | 8 +-- .../invitation/InviteeProtocolEngineTest.java | 14 +++--- .../invitation/PeerProtocolEngineTest.java | 14 +++--- 15 files changed, 98 insertions(+), 72 deletions(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupControllerImpl.java index 4cd66fe80..a5268cb5f 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupControllerImpl.java @@ -7,6 +7,7 @@ import org.briarproject.bramble.api.crypto.CryptoExecutor; import org.briarproject.bramble.api.db.DatabaseExecutor; import org.briarproject.bramble.api.db.DbException; import org.briarproject.bramble.api.db.NoSuchContactException; +import org.briarproject.bramble.api.db.Transaction; import org.briarproject.bramble.api.db.TransactionManager; import org.briarproject.bramble.api.identity.IdentityManager; import org.briarproject.bramble.api.identity.LocalAuthor; @@ -16,6 +17,7 @@ import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.system.Clock; import org.briarproject.briar.android.contactselection.ContactSelectorControllerImpl; import org.briarproject.briar.android.controller.handler.ResultExceptionHandler; +import org.briarproject.briar.api.autodelete.AutoDeleteManager; import org.briarproject.briar.api.conversation.ConversationManager; import org.briarproject.briar.api.identity.AuthorManager; import org.briarproject.briar.api.privategroup.GroupMessage; @@ -52,6 +54,7 @@ class CreateGroupControllerImpl extends ContactSelectorControllerImpl private final Executor cryptoExecutor; private final TransactionManager db; + private final AutoDeleteManager autoDeleteManager; private final ConversationManager conversationManager; private final ContactManager contactManager; private final IdentityManager identityManager; @@ -67,6 +70,7 @@ class CreateGroupControllerImpl extends ContactSelectorControllerImpl @DatabaseExecutor Executor dbExecutor, @CryptoExecutor Executor cryptoExecutor, TransactionManager db, + AutoDeleteManager autoDeleteManager, ConversationManager conversationManager, LifecycleManager lifecycleManager, ContactManager contactManager, @@ -81,6 +85,7 @@ class CreateGroupControllerImpl extends ContactSelectorControllerImpl super(dbExecutor, lifecycleManager, contactManager, authorManager); this.cryptoExecutor = cryptoExecutor; this.db = db; + this.autoDeleteManager = autoDeleteManager; this.conversationManager = conversationManager; this.contactManager = contactManager; this.identityManager = identityManager; @@ -146,20 +151,10 @@ class CreateGroupControllerImpl extends ContactSelectorControllerImpl runOnDbThread(() -> { try { db.transaction(true, txn -> { - List contexts = new ArrayList<>(); LocalAuthor localAuthor = identityManager.getLocalAuthor(txn); - for (ContactId c : contactIds) { - try { - Contact contact = contactManager.getContact(txn, c); - long timestamp = conversationManager - .getTimestampForOutgoingMessage(txn, c); - contexts.add( - new InvitationContext(contact, timestamp)); - } catch (NoSuchContactException e) { - // Continue - } - } + List contexts = + createInvitationContexts(txn, contactIds); txn.attach(() -> signInvitations(g, localAuthor, contexts, text, handler)); }); @@ -170,6 +165,23 @@ class CreateGroupControllerImpl extends ContactSelectorControllerImpl }); } + private List createInvitationContexts(Transaction txn, + Collection contactIds) throws DbException { + List contexts = new ArrayList<>(); + for (ContactId c : contactIds) { + try { + Contact contact = contactManager.getContact(txn, c); + long timestamp = conversationManager + .getTimestampForOutgoingMessage(txn, c); + long timer = autoDeleteManager.getAutoDeleteTimer(txn, c); + contexts.add(new InvitationContext(contact, timestamp, timer)); + } catch (NoSuchContactException e) { + // Continue + } + } + return contexts; + } + private void signInvitations(GroupId g, LocalAuthor localAuthor, List contexts, @Nullable String text, ResultExceptionHandler handler) { @@ -188,12 +200,12 @@ class CreateGroupControllerImpl extends ContactSelectorControllerImpl ResultExceptionHandler handler) { runOnDbThread(() -> { try { - for (InvitationContext context : contexts) { + for (InvitationContext ctx : contexts) { try { groupInvitationManager.sendInvitation(g, - context.contact.getId(), text, - context.timestamp, - requireNonNull(context.signature)); + ctx.contact.getId(), text, ctx.timestamp, + requireNonNull(ctx.signature), + ctx.autoDeleteTimer); } catch (NoSuchContactException e) { // Continue } @@ -209,13 +221,15 @@ class CreateGroupControllerImpl extends ContactSelectorControllerImpl private static class InvitationContext { private final Contact contact; - private final long timestamp; + private final long timestamp, autoDeleteTimer; @Nullable private byte[] signature = null; - private InvitationContext(Contact contact, long timestamp) { + private InvitationContext(Contact contact, long timestamp, + long autoDeleteTimer) { this.contact = contact; this.timestamp = timestamp; + this.autoDeleteTimer = autoDeleteTimer; } } } diff --git a/briar-api/src/main/java/org/briarproject/briar/api/privategroup/invitation/GroupInvitationManager.java b/briar-api/src/main/java/org/briarproject/briar/api/privategroup/invitation/GroupInvitationManager.java index 023d5b172..061064e9c 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/privategroup/invitation/GroupInvitationManager.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/privategroup/invitation/GroupInvitationManager.java @@ -43,7 +43,8 @@ public interface GroupInvitationManager extends ConversationClient { * pending. */ void sendInvitation(GroupId g, ContactId c, @Nullable String text, - long timestamp, byte[] signature) throws DbException; + long timestamp, byte[] signature, long autoDeleteTimer) + throws DbException; /** * Responds to a pending private group invitation from the given contact. diff --git a/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/AbstractProtocolEngine.java b/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/AbstractProtocolEngine.java index ee275abf2..abccc404d 100644 --- a/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/AbstractProtocolEngine.java +++ b/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/AbstractProtocolEngine.java @@ -115,8 +115,8 @@ abstract class AbstractProtocolEngine> } Message sendInviteMessage(Transaction txn, S s, - @Nullable String text, long timestamp, byte[] signature) - throws DbException { + @Nullable String text, long timestamp, byte[] signature, + long timer) throws DbException { Group g = db.getGroup(txn, s.getPrivateGroupId()); PrivateGroup privateGroup; try { @@ -127,7 +127,6 @@ abstract class AbstractProtocolEngine> Message m; ContactId c = getContactId(txn, s.getContactGroupId()); if (contactSupportsAutoDeletion(txn, c)) { - long timer = autoDeleteManager.getAutoDeleteTimer(txn, c); m = messageEncoder.encodeInviteMessage(s.getContactGroupId(), privateGroup.getId(), timestamp, privateGroup.getName(), privateGroup.getCreator(), privateGroup.getSalt(), text, diff --git a/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/CreatorProtocolEngine.java b/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/CreatorProtocolEngine.java index ebb9ad2c4..2cf40d270 100644 --- a/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/CreatorProtocolEngine.java +++ b/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/CreatorProtocolEngine.java @@ -61,11 +61,12 @@ class CreatorProtocolEngine extends AbstractProtocolEngine { @Override public CreatorSession onInviteAction(Transaction txn, CreatorSession s, - @Nullable String text, long timestamp, byte[] signature) - throws DbException { + @Nullable String text, long timestamp, byte[] signature, + long autoDeleteTimer) throws DbException { switch (s.getState()) { case START: - return onLocalInvite(txn, s, text, timestamp, signature); + return onLocalInvite(txn, s, text, timestamp, signature, + autoDeleteTimer); case INVITED: case JOINED: case LEFT: @@ -155,10 +156,11 @@ class CreatorProtocolEngine extends AbstractProtocolEngine { } private CreatorSession onLocalInvite(Transaction txn, CreatorSession s, - @Nullable String text, long timestamp, byte[] signature) - throws DbException { + @Nullable String text, long timestamp, byte[] signature, + long autoDeleteTimer) throws DbException { // Send an INVITE message - Message sent = sendInviteMessage(txn, s, text, timestamp, signature); + Message sent = sendInviteMessage(txn, s, text, timestamp, signature, + autoDeleteTimer); // Track the message messageTracker.trackOutgoingMessage(txn, sent); // Move to the INVITED state diff --git a/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/GroupInvitationManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/GroupInvitationManagerImpl.java index d89858a9e..b0243fa2f 100644 --- a/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/GroupInvitationManagerImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/GroupInvitationManagerImpl.java @@ -257,8 +257,8 @@ class GroupInvitationManagerImpl extends ConversationClientImpl @Override public void sendInvitation(GroupId privateGroupId, ContactId c, - @Nullable String text, long timestamp, byte[] signature) - throws DbException { + @Nullable String text, long timestamp, byte[] signature, + long autoDeleteTimer) throws DbException { SessionId sessionId = getSessionId(privateGroupId); Transaction txn = db.startTransaction(false); try { @@ -281,7 +281,7 @@ class GroupInvitationManagerImpl extends ConversationClientImpl } // Handle the invite action session = creatorEngine.onInviteAction(txn, session, text, - timestamp, signature); + timestamp, signature, autoDeleteTimer); // Store the updated session storeSession(txn, storageId, session); db.commitTransaction(txn); diff --git a/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/InviteeProtocolEngine.java b/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/InviteeProtocolEngine.java index 3ee96b9f9..87d82fdff 100644 --- a/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/InviteeProtocolEngine.java +++ b/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/InviteeProtocolEngine.java @@ -65,7 +65,8 @@ class InviteeProtocolEngine extends AbstractProtocolEngine { @Override public InviteeSession onInviteAction(Transaction txn, InviteeSession s, - @Nullable String text, long timestamp, byte[] signature) { + @Nullable String text, long timestamp, byte[] signature, + long autoDeleteTimer) { throw new UnsupportedOperationException(); // Invalid in this role } diff --git a/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/PeerProtocolEngine.java b/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/PeerProtocolEngine.java index 8f57c7e4e..a8c00fd25 100644 --- a/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/PeerProtocolEngine.java +++ b/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/PeerProtocolEngine.java @@ -60,7 +60,8 @@ class PeerProtocolEngine extends AbstractProtocolEngine { @Override public PeerSession onInviteAction(Transaction txn, PeerSession s, - @Nullable String text, long timestamp, byte[] signature) { + @Nullable String text, long timestamp, byte[] signature, + long autoDeleteTimer) { throw new UnsupportedOperationException(); // Invalid in this role } diff --git a/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/ProtocolEngine.java b/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/ProtocolEngine.java index 74fa35269..ec4010ff7 100644 --- a/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/ProtocolEngine.java +++ b/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/ProtocolEngine.java @@ -8,10 +8,11 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import javax.annotation.Nullable; @NotNullByDefault -interface ProtocolEngine { +interface ProtocolEngine> { S onInviteAction(Transaction txn, S session, @Nullable String text, - long timestamp, byte[] signature) throws DbException; + long timestamp, byte[] signature, long autoDeleteTimer) + throws DbException; S onJoinAction(Transaction txn, S session) throws DbException; diff --git a/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupIntegrationTest.java index 51e7dcc57..2c5b6cf8d 100644 --- a/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupIntegrationTest.java @@ -24,6 +24,7 @@ import java.util.Collection; import javax.annotation.Nullable; +import static org.briarproject.briar.api.autodelete.AutoDeleteConstants.NO_AUTO_DELETE_TIMER; import static org.briarproject.briar.api.identity.AuthorInfo.Status.OURSELVES; import static org.briarproject.briar.api.privategroup.Visibility.INVISIBLE; import static org.briarproject.briar.api.privategroup.Visibility.REVEALED_BY_CONTACT; @@ -220,8 +221,8 @@ public class PrivateGroupIntegrationTest byte[] signature = groupInvitationFactory .signInvitation(contact, groupId0, timestamp, author0.getPrivateKey()); - groupInvitationManager0 - .sendInvitation(groupId0, c, text, timestamp, signature); + groupInvitationManager0.sendInvitation(groupId0, c, text, timestamp, + signature, NO_AUTO_DELETE_TIMER); } private GroupMember getGroupMember(PrivateGroupManager groupManager, diff --git a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/AbstractProtocolEngineTest.java b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/AbstractProtocolEngineTest.java index 2ceff9376..d7c4fd5e2 100644 --- a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/AbstractProtocolEngineTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/AbstractProtocolEngineTest.java @@ -129,8 +129,8 @@ abstract class AbstractProtocolEngineTest extends BrambleMockTestCase { } void expectSendInviteMessage(String text) throws Exception { - expectCheckWhetherContactSupportsAutoDeletion(true); expectGetLocalTimestamp(messageTimestamp); + expectCheckWhetherContactSupportsAutoDeletion(); context.checking(new Expectations() {{ oneOf(messageEncoder).encodeInviteMessage(contactGroupId, privateGroupId, inviteTimestamp, privateGroup.getName(), @@ -143,8 +143,9 @@ abstract class AbstractProtocolEngineTest extends BrambleMockTestCase { void expectSendJoinMessage(JoinMessage m, boolean visible) throws Exception { - expectCheckWhetherContactSupportsAutoDeletion(visible); expectGetLocalTimestamp(messageTimestamp); + expectCheckWhetherContactSupportsAutoDeletion(); + if (visible) expectGetAutoDeleteTimer(); context.checking(new Expectations() {{ oneOf(messageEncoder).encodeJoinMessage(m.getContactGroupId(), m.getPrivateGroupId(), m.getTimestamp(), @@ -155,8 +156,9 @@ abstract class AbstractProtocolEngineTest extends BrambleMockTestCase { } void expectSendLeaveMessage(boolean visible) throws Exception { - expectCheckWhetherContactSupportsAutoDeletion(visible); expectGetLocalTimestamp(messageTimestamp); + expectCheckWhetherContactSupportsAutoDeletion(); + if (visible) expectGetAutoDeleteTimer(); context.checking(new Expectations() {{ oneOf(messageEncoder).encodeLeaveMessage(contactGroupId, privateGroupId, messageTimestamp, lastLocalMessageId, @@ -232,8 +234,7 @@ abstract class AbstractProtocolEngineTest extends BrambleMockTestCase { }}); } - void expectCheckWhetherContactSupportsAutoDeletion(boolean visible) - throws Exception { + void expectCheckWhetherContactSupportsAutoDeletion() throws Exception { context.checking(new Expectations() {{ oneOf(clientHelper).getContactId(txn, contactGroupId); will(returnValue(contactId)); @@ -241,10 +242,13 @@ abstract class AbstractProtocolEngineTest extends BrambleMockTestCase { GroupInvitationManager.CLIENT_ID, GroupInvitationManager.MAJOR_VERSION); will(returnValue(GroupInvitationManager.MINOR_VERSION)); - if (visible) { - oneOf(autoDeleteManager).getAutoDeleteTimer(txn, contactId); - will(returnValue(NO_AUTO_DELETE_TIMER)); - } + }}); + } + + void expectGetAutoDeleteTimer() throws Exception { + context.checking(new Expectations() {{ + oneOf(autoDeleteManager).getAutoDeleteTimer(txn, contactId); + will(returnValue(NO_AUTO_DELETE_TIMER)); }}); } } diff --git a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/CreatorProtocolEngineTest.java b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/CreatorProtocolEngineTest.java index 2e967228f..6faaace02 100644 --- a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/CreatorProtocolEngineTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/CreatorProtocolEngineTest.java @@ -44,7 +44,7 @@ public class CreatorProtocolEngineTest extends AbstractProtocolEngineTest { expectOnLocalInvite(text); CreatorSession newSession = engine.onInviteAction(txn, session, text, inviteTimestamp, - signature); + signature, NO_AUTO_DELETE_TIMER); assertEquals(INVITED, newSession.getState()); assertEquals(messageId, newSession.getLastLocalMessageId()); assertNull(newSession.getLastRemoteMessageId()); @@ -61,7 +61,7 @@ public class CreatorProtocolEngineTest extends AbstractProtocolEngineTest { expectOnLocalInvite(null); CreatorSession newSession = engine.onInviteAction(txn, session, null, inviteTimestamp, - signature); + signature, NO_AUTO_DELETE_TIMER); assertEquals(INVITED, newSession.getState()); assertEquals(messageId, newSession.getLastLocalMessageId()); assertNull(newSession.getLastRemoteMessageId()); @@ -84,31 +84,31 @@ public class CreatorProtocolEngineTest extends AbstractProtocolEngineTest { @Test(expected = ProtocolStateException.class) public void testOnInviteActionFromInvited() throws Exception { engine.onInviteAction(txn, getDefaultSession(INVITED), null, - inviteTimestamp, signature); + inviteTimestamp, signature, NO_AUTO_DELETE_TIMER); } @Test(expected = ProtocolStateException.class) public void testOnInviteActionFromJoined() throws Exception { engine.onInviteAction(txn, getDefaultSession(JOINED), null, - inviteTimestamp, signature); + inviteTimestamp, signature, NO_AUTO_DELETE_TIMER); } @Test(expected = ProtocolStateException.class) public void testOnInviteActionFromLeft() throws Exception { engine.onInviteAction(txn, getDefaultSession(LEFT), null, - inviteTimestamp, signature); + inviteTimestamp, signature, NO_AUTO_DELETE_TIMER); } @Test(expected = ProtocolStateException.class) public void testOnInviteActionFromDissolved() throws Exception { engine.onInviteAction(txn, getDefaultSession(DISSOLVED), null, - inviteTimestamp, signature); + inviteTimestamp, signature, NO_AUTO_DELETE_TIMER); } @Test(expected = ProtocolStateException.class) public void testOnInviteActionFromError() throws Exception { engine.onInviteAction(txn, getDefaultSession(ERROR), null, - inviteTimestamp, signature); + inviteTimestamp, signature, NO_AUTO_DELETE_TIMER); } // onJoinAction diff --git a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationIntegrationTest.java index d2f608d75..9535b81f8 100644 --- a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationIntegrationTest.java @@ -27,6 +27,7 @@ import java.util.Set; import javax.annotation.Nullable; import static java.util.Collections.emptySet; +import static org.briarproject.briar.api.autodelete.AutoDeleteConstants.NO_AUTO_DELETE_TIMER; import static org.briarproject.briar.test.BriarTestUtils.assertGroupCount; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -687,7 +688,8 @@ public class GroupInvitationIntegrationTest byte[] signature = groupInvitationFactory.signInvitation(contact1From0, privateGroup.getId(), timestamp, author0.getPrivateKey()); groupInvitationManager0.sendInvitation(privateGroup.getId(), - contactId1From0, text, timestamp, signature); + contactId1From0, text, timestamp, signature, + NO_AUTO_DELETE_TIMER); } } diff --git a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationManagerImplTest.java b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationManagerImplTest.java index 85df40b38..51c5c1592 100644 --- a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationManagerImplTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationManagerImplTest.java @@ -482,7 +482,7 @@ public class GroupInvitationManagerImplTest extends BrambleMockTestCase { context.checking(new Expectations() {{ oneOf(creatorEngine).onInviteAction(with(txn), with(any(CreatorSession.class)), with(text), with(time), - with(signature)); + with(signature), with(NO_AUTO_DELETE_TIMER)); will(returnValue(creatorSession)); }}); expectStoreSession(creatorSession, storageMessage.getId()); @@ -491,7 +491,7 @@ public class GroupInvitationManagerImplTest extends BrambleMockTestCase { oneOf(db).endTransaction(txn); }}); groupInvitationManager.sendInvitation(privateGroup.getId(), contactId, - text, time, signature); + text, time, signature, NO_AUTO_DELETE_TIMER); } @Test @@ -514,7 +514,7 @@ public class GroupInvitationManagerImplTest extends BrambleMockTestCase { will(returnValue(creatorSession)); oneOf(creatorEngine).onInviteAction(with(txn), with(any(CreatorSession.class)), with(text), with(time), - with(signature)); + with(signature), with(NO_AUTO_DELETE_TIMER)); will(returnValue(creatorSession)); }}); expectStoreSession(creatorSession, storageMessage.getId()); @@ -523,7 +523,7 @@ public class GroupInvitationManagerImplTest extends BrambleMockTestCase { oneOf(db).endTransaction(txn); }}); groupInvitationManager.sendInvitation(privateGroup.getId(), contactId, - text, time, signature); + text, time, signature, NO_AUTO_DELETE_TIMER); } @Test(expected = IllegalArgumentException.class) diff --git a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/InviteeProtocolEngineTest.java b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/InviteeProtocolEngineTest.java index f8552e09f..27c635d3c 100644 --- a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/InviteeProtocolEngineTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/InviteeProtocolEngineTest.java @@ -58,43 +58,43 @@ public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest { @Test(expected = UnsupportedOperationException.class) public void testOnInviteActionFromStart() { engine.onInviteAction(txn, getDefaultSession(START), null, - messageTimestamp, signature); + messageTimestamp, signature, NO_AUTO_DELETE_TIMER); } @Test(expected = UnsupportedOperationException.class) public void testOnInviteActionFromLeft() { engine.onInviteAction(txn, getDefaultSession(ACCEPTED), null, - messageTimestamp, signature); + messageTimestamp, signature, NO_AUTO_DELETE_TIMER); } @Test(expected = UnsupportedOperationException.class) public void testOnInviteActionFromInvited() { engine.onInviteAction(txn, getDefaultSession(INVITED), null, - messageTimestamp, signature); + messageTimestamp, signature, NO_AUTO_DELETE_TIMER); } @Test(expected = UnsupportedOperationException.class) public void testOnInviteActionFromDissolved() { engine.onInviteAction(txn, getDefaultSession(DISSOLVED), null, - messageTimestamp, signature); + messageTimestamp, signature, NO_AUTO_DELETE_TIMER); } @Test(expected = UnsupportedOperationException.class) public void testOnInviteActionFromAccepted() { engine.onInviteAction(txn, getDefaultSession(ACCEPTED), null, - messageTimestamp, signature); + messageTimestamp, signature, NO_AUTO_DELETE_TIMER); } @Test(expected = UnsupportedOperationException.class) public void testOnInviteActionFromJoined() { engine.onInviteAction(txn, getDefaultSession(JOINED), null, - messageTimestamp, signature); + messageTimestamp, signature, NO_AUTO_DELETE_TIMER); } @Test(expected = UnsupportedOperationException.class) public void testOnInviteActionFromError() { engine.onInviteAction(txn, getDefaultSession(ERROR), null, - messageTimestamp, signature); + messageTimestamp, signature, NO_AUTO_DELETE_TIMER); } // onJoinAction diff --git a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/PeerProtocolEngineTest.java b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/PeerProtocolEngineTest.java index 533246f6a..69383ba38 100644 --- a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/PeerProtocolEngineTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/PeerProtocolEngineTest.java @@ -40,43 +40,43 @@ public class PeerProtocolEngineTest extends AbstractProtocolEngineTest { @Test(expected = UnsupportedOperationException.class) public void testOnInviteActionFromStart() { engine.onInviteAction(txn, getDefaultSession(START), null, - messageTimestamp, signature); + messageTimestamp, signature, NO_AUTO_DELETE_TIMER); } @Test(expected = UnsupportedOperationException.class) public void testOnInviteActionFromAwaitMember() { engine.onInviteAction(txn, getDefaultSession(AWAIT_MEMBER), null, - messageTimestamp, signature); + messageTimestamp, signature, NO_AUTO_DELETE_TIMER); } @Test(expected = UnsupportedOperationException.class) public void testOnInviteActionFromNeitherJoined() { engine.onInviteAction(txn, getDefaultSession(NEITHER_JOINED), null, - messageTimestamp, signature); + messageTimestamp, signature, NO_AUTO_DELETE_TIMER); } @Test(expected = UnsupportedOperationException.class) public void testOnInviteActionFromLocalJoined() { engine.onInviteAction(txn, getDefaultSession(LOCAL_JOINED), null, - messageTimestamp, signature); + messageTimestamp, signature, NO_AUTO_DELETE_TIMER); } @Test(expected = UnsupportedOperationException.class) public void testOnInviteActionFromBothJoined() { engine.onInviteAction(txn, getDefaultSession(BOTH_JOINED), null, - messageTimestamp, signature); + messageTimestamp, signature, NO_AUTO_DELETE_TIMER); } @Test(expected = UnsupportedOperationException.class) public void testOnInviteActionFromLocalLeft() { engine.onInviteAction(txn, getDefaultSession(LOCAL_LEFT), null, - messageTimestamp, signature); + messageTimestamp, signature, NO_AUTO_DELETE_TIMER); } @Test(expected = UnsupportedOperationException.class) public void testOnInviteActionFromError() { engine.onInviteAction(txn, getDefaultSession(ERROR), null, - messageTimestamp, signature); + messageTimestamp, signature, NO_AUTO_DELETE_TIMER); } // onJoinAction