mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-13 11:19:04 +01:00
Add integration test for auto-delete timer in private messages.
This commit is contained in:
@@ -32,6 +32,7 @@ import static java.util.Collections.emptyList;
|
||||
import static java.util.Collections.emptySet;
|
||||
import static java.util.Collections.singleton;
|
||||
import static java.util.Collections.singletonList;
|
||||
import static org.briarproject.bramble.api.autodelete.AutoDeleteConstants.MIN_AUTO_DELETE_TIMER_MS;
|
||||
import static org.briarproject.bramble.api.sync.validation.MessageState.DELIVERED;
|
||||
import static org.briarproject.bramble.api.sync.validation.MessageState.PENDING;
|
||||
import static org.briarproject.bramble.test.TestUtils.getRandomBytes;
|
||||
@@ -89,7 +90,7 @@ public class MessagingManagerIntegrationTest
|
||||
|
||||
@Test
|
||||
public void testSimpleConversation() throws Exception {
|
||||
// conversation start out empty
|
||||
// conversation starts out empty
|
||||
Collection<ConversationMessageHeader> messages0 = getMessages(c0);
|
||||
Collection<ConversationMessageHeader> messages1 = getMessages(c1);
|
||||
assertEquals(0, messages0.size());
|
||||
@@ -108,6 +109,10 @@ public class MessagingManagerIntegrationTest
|
||||
(PrivateMessageHeader) messages1.iterator().next();
|
||||
assertTrue(m0.hasText());
|
||||
assertTrue(m1.hasText());
|
||||
assertEquals(0, m0.getAttachmentHeaders().size());
|
||||
assertEquals(0, m1.getAttachmentHeaders().size());
|
||||
assertEquals(-1, m0.getAutoDeleteTimer());
|
||||
assertEquals(-1, m1.getAutoDeleteTimer());
|
||||
assertTrue(m0.isRead());
|
||||
assertFalse(m1.isRead());
|
||||
assertGroupCounts(c0, 1, 0);
|
||||
@@ -143,13 +148,44 @@ public class MessagingManagerIntegrationTest
|
||||
assertFalse(m1.hasText());
|
||||
assertEquals(1, m0.getAttachmentHeaders().size());
|
||||
assertEquals(1, m1.getAttachmentHeaders().size());
|
||||
assertEquals(-1, m0.getAutoDeleteTimer());
|
||||
assertEquals(-1, m1.getAutoDeleteTimer());
|
||||
assertTrue(m0.isRead());
|
||||
assertFalse(m1.isRead());
|
||||
assertGroupCounts(c0, 1, 0);
|
||||
assertGroupCounts(c1, 1, 1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAutoDeleteTimer() throws Exception {
|
||||
// send message with auto-delete timer
|
||||
sendMessage(c0, c1, getRandomString(123), emptyList(),
|
||||
MIN_AUTO_DELETE_TIMER_MS);
|
||||
|
||||
// message with timer is sent/displayed properly
|
||||
Collection<ConversationMessageHeader> messages0 = getMessages(c0);
|
||||
Collection<ConversationMessageHeader> messages1 = getMessages(c1);
|
||||
assertEquals(1, messages0.size());
|
||||
assertEquals(1, messages1.size());
|
||||
PrivateMessageHeader m0 =
|
||||
(PrivateMessageHeader) messages0.iterator().next();
|
||||
PrivateMessageHeader m1 =
|
||||
(PrivateMessageHeader) messages1.iterator().next();
|
||||
assertTrue(m0.hasText());
|
||||
assertTrue(m1.hasText());
|
||||
assertEquals(0, m0.getAttachmentHeaders().size());
|
||||
assertEquals(0, m1.getAttachmentHeaders().size());
|
||||
assertEquals(MIN_AUTO_DELETE_TIMER_MS, m0.getAutoDeleteTimer());
|
||||
assertEquals(MIN_AUTO_DELETE_TIMER_MS, m1.getAutoDeleteTimer());
|
||||
assertTrue(m0.isRead());
|
||||
assertFalse(m1.isRead());
|
||||
assertGroupCounts(c0, 1, 0);
|
||||
assertGroupCounts(c1, 1, 1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeleteAll() throws Exception {
|
||||
// send 3 message (1 with attachment)
|
||||
// send 3 messages (1 with attachment)
|
||||
sendMessage(c0, c1, getRandomString(42));
|
||||
sendMessage(c0, c1, getRandomString(23));
|
||||
sendMessage(c0, c1, null, singletonList(addAttachment(c0)));
|
||||
@@ -331,18 +367,23 @@ public class MessagingManagerIntegrationTest
|
||||
}
|
||||
|
||||
private PrivateMessage sendMessage(BriarIntegrationTestComponent from,
|
||||
BriarIntegrationTestComponent to, String text)
|
||||
throws Exception {
|
||||
BriarIntegrationTestComponent to, String text) throws Exception {
|
||||
return sendMessage(from, to, text, emptyList());
|
||||
}
|
||||
|
||||
private PrivateMessage sendMessage(BriarIntegrationTestComponent from,
|
||||
BriarIntegrationTestComponent to, @Nullable String text,
|
||||
List<AttachmentHeader> attachments) throws Exception {
|
||||
return sendMessage(from, to, text, attachments, -1);
|
||||
}
|
||||
|
||||
private PrivateMessage sendMessage(BriarIntegrationTestComponent from,
|
||||
BriarIntegrationTestComponent to, @Nullable String text,
|
||||
List<AttachmentHeader> attachments, long autoDeleteTimer)
|
||||
throws Exception {
|
||||
GroupId g = from.getMessagingManager().getConversationId(contactId);
|
||||
// TODO: Add tests for auto-deletion timer
|
||||
PrivateMessage m = messageFactory.createPrivateMessage(g,
|
||||
clock.currentTimeMillis(), text, attachments, -1);
|
||||
clock.currentTimeMillis(), text, attachments, autoDeleteTimer);
|
||||
from.getMessagingManager().addLocalMessage(m);
|
||||
syncMessage(from, to, contactId, 1 + attachments.size(), true);
|
||||
return m;
|
||||
|
||||
Reference in New Issue
Block a user