Try making message tracker assertions

This commit is contained in:
Sebastian Kürten
2021-03-18 10:12:54 +01:00
parent 24059adbd6
commit db7825d7f6
2 changed files with 30 additions and 1 deletions

View File

@@ -5,6 +5,7 @@ import org.briarproject.bramble.api.db.DbException;
import org.briarproject.bramble.api.db.Transaction;
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
import org.briarproject.bramble.api.sync.ClientId;
import org.briarproject.briar.api.conversation.ConversationManager;
import org.briarproject.briar.api.conversation.ConversationMessageHeader;
import java.util.Collection;
@@ -13,7 +14,8 @@ import java.util.List;
import javax.annotation.Nullable;
@NotNullByDefault
public interface SocialBackupManager {
public interface SocialBackupManager extends
ConversationManager.ConversationClient {
/**
* The unique ID of the social backup client.
@@ -47,6 +49,7 @@ public interface SocialBackupManager {
void createBackup(Transaction txn, List<ContactId> custodianIds,
int threshold) throws DbException;
@Override
Collection<ConversationMessageHeader> getMessageHeaders(
Transaction txn, ContactId contactId) throws DbException;
}

View File

@@ -2,7 +2,10 @@ package org.briarproject.briar.socialbackup;
import org.briarproject.bramble.api.db.DbException;
import org.briarproject.bramble.api.identity.Author;
import org.briarproject.bramble.api.sync.Group;
import org.briarproject.bramble.api.sync.GroupId;
import org.briarproject.bramble.test.TestDatabaseConfigModule;
import org.briarproject.briar.api.client.MessageTracker;
import org.briarproject.briar.api.conversation.ConversationMessageHeader;
import org.briarproject.briar.api.socialbackup.BackupMetadata;
import org.briarproject.briar.api.socialbackup.ShardMessageHeader;
@@ -30,6 +33,11 @@ public class SocialBackupIntegrationTest
private SocialBackupManager socialBackupManager1;
private SocialBackupManager socialBackupManager2;
private Group g1From0;
private Group g0From1;
private Group g2From0;
private Group g0From2;
@Before
@Override
public void setUp() throws Exception {
@@ -37,6 +45,11 @@ public class SocialBackupIntegrationTest
socialBackupManager0 = c0.getSocialBackupManager();
socialBackupManager1 = c1.getSocialBackupManager();
socialBackupManager2 = c2.getSocialBackupManager();
g1From0 = socialBackupManager0.getContactGroup(contact1From0);
g0From1 = socialBackupManager1.getContactGroup(contact0From1);
g2From0 = socialBackupManager0.getContactGroup(contact2From0);
g0From2 = socialBackupManager2.getContactGroup(contact0From2);
}
@Override
@@ -119,6 +132,12 @@ public class SocialBackupIntegrationTest
ShardMessageHeader s = (ShardMessageHeader) h;
assertFalse(s.isLocal());
}
// assert group counts
assertGroupCount(messageTracker0, g1From0.getId(), 1, 0);
assertGroupCount(messageTracker0, g2From0.getId(), 1, 0);
assertGroupCount(messageTracker1, g0From1.getId(), 1, 1);
assertGroupCount(messageTracker2, g0From2.getId(), 1, 1);
}
private Collection<ConversationMessageHeader> getMessages1At0()
@@ -145,4 +164,11 @@ public class SocialBackupIntegrationTest
.getMessageHeaders(txn, contactId0From2));
}
public static void assertGroupCount(MessageTracker tracker, GroupId g,
long msgCount, long unreadCount) throws DbException {
MessageTracker.GroupCount c1 = tracker.getGroupCount(g);
assertEquals(msgCount, c1.getMsgCount());
assertEquals(unreadCount, c1.getUnreadCount());
}
}