Hook up incoming messages to the auto-delete manager.

This commit is contained in:
akwizgran
2020-12-03 12:44:28 +00:00
committed by Torsten Grote
parent 27dbe23914
commit 49080cb64c
14 changed files with 97 additions and 23 deletions

View File

@@ -28,8 +28,7 @@ import static org.briarproject.briar.autodelete.AutoDeleteConstants.GROUP_KEY_TI
import static org.briarproject.briar.autodelete.AutoDeleteConstants.NO_PREVIOUS_TIMER;
import static org.junit.Assert.assertEquals;
// Thank you, I'm using them for readability
@SuppressWarnings("UnnecessaryLocalVariable")
@SuppressWarnings("UnnecessaryLocalVariable") // Using them for readability
public class AutoDeleteManagerImplTest extends BrambleMockTestCase {
private final DatabaseComponent db = context.mock(DatabaseComponent.class);

View File

@@ -3,6 +3,7 @@ package org.briarproject.briar.messaging;
import org.briarproject.bramble.BrambleCoreIntegrationTestEagerSingletons;
import org.briarproject.bramble.BrambleCoreModule;
import org.briarproject.bramble.test.BrambleCoreIntegrationTestModule;
import org.briarproject.briar.autodelete.AutoDeleteModule;
import org.briarproject.briar.avatar.AvatarModule;
import org.briarproject.briar.client.BriarClientModule;
import org.briarproject.briar.forum.ForumModule;
@@ -17,6 +18,7 @@ import dagger.Component;
BrambleCoreIntegrationTestModule.class,
BrambleCoreModule.class,
BriarClientModule.class,
AutoDeleteModule.class,
AvatarModule.class,
ForumModule.class,
IdentityModule.class,

View File

@@ -10,6 +10,7 @@ import org.briarproject.bramble.api.lifecycle.LifecycleManager;
import org.briarproject.bramble.test.BrambleCoreIntegrationTestModule;
import org.briarproject.briar.api.messaging.MessagingManager;
import org.briarproject.briar.api.messaging.PrivateMessageFactory;
import org.briarproject.briar.autodelete.AutoDeleteModule;
import org.briarproject.briar.client.BriarClientModule;
import javax.inject.Singleton;
@@ -18,6 +19,7 @@ import dagger.Component;
@Singleton
@Component(modules = {
AutoDeleteModule.class,
BrambleCoreIntegrationTestModule.class,
BrambleCoreModule.class,
BriarClientModule.class,

View File

@@ -153,7 +153,7 @@ abstract class AbstractProtocolEngineTest extends BrambleMockTestCase {
if (visible) expectGetTimestampForVisibleMessage(messageTimestamp);
else expectGetTimestampForInvisibleMessage(messageTimestamp);
expectCheckWhetherContactSupportsAutoDeletion();
if (visible) expectGetAutoDeleteTimer();
if (visible) expectGetAutoDeleteTimer(messageTimestamp);
context.checking(new Expectations() {{
oneOf(messageEncoder).encodeJoinMessage(m.getContactGroupId(),
m.getPrivateGroupId(), m.getTimestamp(),
@@ -167,7 +167,7 @@ abstract class AbstractProtocolEngineTest extends BrambleMockTestCase {
if (visible) expectGetTimestampForVisibleMessage(messageTimestamp);
else expectGetTimestampForInvisibleMessage(messageTimestamp);
expectCheckWhetherContactSupportsAutoDeletion();
if (visible) expectGetAutoDeleteTimer();
if (visible) expectGetAutoDeleteTimer(messageTimestamp);
context.checking(new Expectations() {{
oneOf(messageEncoder).encodeLeaveMessage(contactGroupId,
privateGroupId, messageTimestamp, lastLocalMessageId,
@@ -254,11 +254,28 @@ abstract class AbstractProtocolEngineTest extends BrambleMockTestCase {
}});
}
void expectGetAutoDeleteTimer() throws Exception {
void expectGetAutoDeleteTimer(long timestamp) throws Exception {
context.checking(new Expectations() {{
oneOf(autoDeleteManager).getAutoDeleteTimer(txn, contactId,
localTimestamp);
timestamp);
will(returnValue(NO_AUTO_DELETE_TIMER));
}});
}
void expectTrackUnreadMessage(long timestamp) throws Exception {
context.checking(new Expectations() {{
oneOf(messageTracker).trackMessage(txn, contactGroupId, timestamp,
false);
}});
}
void expectReceiveAutoDeleteTimer(DeletableGroupInvitationMessage m)
throws Exception {
context.checking(new Expectations() {{
oneOf(clientHelper).getContactId(txn, contactGroupId);
will(returnValue(contactId));
oneOf(autoDeleteManager).receiveAutoDeleteTimer(txn, contactId,
m.getAutoDeleteTimer(), m.getTimestamp());
}});
}
}

View File

@@ -308,11 +308,8 @@ public class CreatorProtocolEngineTest extends AbstractProtocolEngineTest {
expectSendJoinMessage(properJoinMessage, false);
expectMarkMessageVisibleInUi(properJoinMessage.getId());
context.checking(new Expectations() {{
oneOf(messageTracker)
.trackMessage(txn, contactGroupId, inviteTimestamp + 1,
false);
}});
expectTrackUnreadMessage(properJoinMessage.getTimestamp());
expectReceiveAutoDeleteTimer(properJoinMessage);
expectGetContactId();
expectSetPrivateGroupVisibility(SHARED);
CreatorSession newSession =
@@ -399,11 +396,8 @@ public class CreatorProtocolEngineTest extends AbstractProtocolEngineTest {
CreatorSession session = getDefaultSession(INVITED);
expectMarkMessageVisibleInUi(properLeaveMessage.getId());
context.checking(new Expectations() {{
oneOf(messageTracker)
.trackMessage(txn, contactGroupId, inviteTimestamp + 1,
false);
}});
expectTrackUnreadMessage(properLeaveMessage.getTimestamp());
expectReceiveAutoDeleteTimer(properLeaveMessage);
expectGetContactId();
CreatorSession newSession =
engine.onLeaveMessage(txn, session, properLeaveMessage);

View File

@@ -366,9 +366,9 @@ public class InviteeProtocolEngineTest extends AbstractProtocolEngineTest {
}});
expectMarkMessageVisibleInUi(properInviteMessage.getId());
expectMarkMessageAvailableToAnswer(properInviteMessage.getId(), true);
expectTrackUnreadMessage(properInviteMessage.getTimestamp());
expectReceiveAutoDeleteTimer(properInviteMessage);
context.checking(new Expectations() {{
oneOf(messageTracker).trackMessage(txn, contactGroupId,
properInviteMessage.getTimestamp(), false);
oneOf(privateGroupFactory)
.createPrivateGroup(properInviteMessage.getGroupName(),
properInviteMessage.getCreator(),