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.db.Transaction;
import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
import org.briarproject.bramble.api.sync.ClientId; import org.briarproject.bramble.api.sync.ClientId;
import org.briarproject.briar.api.conversation.ConversationManager;
import org.briarproject.briar.api.conversation.ConversationMessageHeader; import org.briarproject.briar.api.conversation.ConversationMessageHeader;
import java.util.Collection; import java.util.Collection;
@@ -13,7 +14,8 @@ import java.util.List;
import javax.annotation.Nullable; import javax.annotation.Nullable;
@NotNullByDefault @NotNullByDefault
public interface SocialBackupManager { public interface SocialBackupManager extends
ConversationManager.ConversationClient {
/** /**
* The unique ID of the social backup client. * The unique ID of the social backup client.
@@ -47,6 +49,7 @@ public interface SocialBackupManager {
void createBackup(Transaction txn, List<ContactId> custodianIds, void createBackup(Transaction txn, List<ContactId> custodianIds,
int threshold) throws DbException; int threshold) throws DbException;
@Override
Collection<ConversationMessageHeader> getMessageHeaders( Collection<ConversationMessageHeader> getMessageHeaders(
Transaction txn, ContactId contactId) throws DbException; 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.db.DbException;
import org.briarproject.bramble.api.identity.Author; 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.bramble.test.TestDatabaseConfigModule;
import org.briarproject.briar.api.client.MessageTracker;
import org.briarproject.briar.api.conversation.ConversationMessageHeader; import org.briarproject.briar.api.conversation.ConversationMessageHeader;
import org.briarproject.briar.api.socialbackup.BackupMetadata; import org.briarproject.briar.api.socialbackup.BackupMetadata;
import org.briarproject.briar.api.socialbackup.ShardMessageHeader; import org.briarproject.briar.api.socialbackup.ShardMessageHeader;
@@ -30,6 +33,11 @@ public class SocialBackupIntegrationTest
private SocialBackupManager socialBackupManager1; private SocialBackupManager socialBackupManager1;
private SocialBackupManager socialBackupManager2; private SocialBackupManager socialBackupManager2;
private Group g1From0;
private Group g0From1;
private Group g2From0;
private Group g0From2;
@Before @Before
@Override @Override
public void setUp() throws Exception { public void setUp() throws Exception {
@@ -37,6 +45,11 @@ public class SocialBackupIntegrationTest
socialBackupManager0 = c0.getSocialBackupManager(); socialBackupManager0 = c0.getSocialBackupManager();
socialBackupManager1 = c1.getSocialBackupManager(); socialBackupManager1 = c1.getSocialBackupManager();
socialBackupManager2 = c2.getSocialBackupManager(); socialBackupManager2 = c2.getSocialBackupManager();
g1From0 = socialBackupManager0.getContactGroup(contact1From0);
g0From1 = socialBackupManager1.getContactGroup(contact0From1);
g2From0 = socialBackupManager0.getContactGroup(contact2From0);
g0From2 = socialBackupManager2.getContactGroup(contact0From2);
} }
@Override @Override
@@ -119,6 +132,12 @@ public class SocialBackupIntegrationTest
ShardMessageHeader s = (ShardMessageHeader) h; ShardMessageHeader s = (ShardMessageHeader) h;
assertFalse(s.isLocal()); 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() private Collection<ConversationMessageHeader> getMessages1At0()
@@ -145,4 +164,11 @@ public class SocialBackupIntegrationTest
.getMessageHeaders(txn, contactId0From2)); .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());
}
} }