mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-15 20:29:52 +01:00
Add integration tests for auto-delete timer.
This commit is contained in:
@@ -50,6 +50,7 @@ import static org.briarproject.bramble.test.TestUtils.getAgreementPublicKey;
|
|||||||
import static org.briarproject.bramble.test.TestUtils.getSecretKey;
|
import static org.briarproject.bramble.test.TestUtils.getSecretKey;
|
||||||
import static org.briarproject.bramble.test.TestUtils.getTransportProperties;
|
import static org.briarproject.bramble.test.TestUtils.getTransportProperties;
|
||||||
import static org.briarproject.bramble.test.TestUtils.getTransportPropertiesMap;
|
import static org.briarproject.bramble.test.TestUtils.getTransportPropertiesMap;
|
||||||
|
import static org.briarproject.briar.api.autodelete.AutoDeleteConstants.MIN_AUTO_DELETE_TIMER_MS;
|
||||||
import static org.briarproject.briar.api.autodelete.AutoDeleteConstants.NO_AUTO_DELETE_TIMER;
|
import static org.briarproject.briar.api.autodelete.AutoDeleteConstants.NO_AUTO_DELETE_TIMER;
|
||||||
import static org.briarproject.briar.api.introduction.IntroductionManager.CLIENT_ID;
|
import static org.briarproject.briar.api.introduction.IntroductionManager.CLIENT_ID;
|
||||||
import static org.briarproject.briar.api.introduction.IntroductionManager.MAJOR_VERSION;
|
import static org.briarproject.briar.api.introduction.IntroductionManager.MAJOR_VERSION;
|
||||||
@@ -257,6 +258,71 @@ public class IntroductionIntegrationTest
|
|||||||
assertGroupCount(messageTracker2, g2.getId(), 2, 1);
|
assertGroupCount(messageTracker2, g2.getId(), 2, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIntroductionSessionWithAutoDelete() throws Exception {
|
||||||
|
addListeners(true, true);
|
||||||
|
|
||||||
|
// 0 and 1 set an auto-delete timer for their conversation
|
||||||
|
setAutoDeleteTimer(c0, contactId1From0);
|
||||||
|
setAutoDeleteTimer(c1, contactId0From1);
|
||||||
|
|
||||||
|
// Make introduction
|
||||||
|
introductionManager0
|
||||||
|
.makeIntroduction(contact1From0, contact2From0, "Hi!");
|
||||||
|
|
||||||
|
// Sync first REQUEST message
|
||||||
|
sync0To1(1, true);
|
||||||
|
eventWaiter.await(TIMEOUT, 1);
|
||||||
|
|
||||||
|
// Sync second REQUEST message
|
||||||
|
sync0To2(1, true);
|
||||||
|
eventWaiter.await(TIMEOUT, 1);
|
||||||
|
|
||||||
|
// Sync first ACCEPT message
|
||||||
|
sync1To0(1, true);
|
||||||
|
eventWaiter.await(TIMEOUT, 1);
|
||||||
|
|
||||||
|
// Sync second ACCEPT message
|
||||||
|
sync2To0(1, true);
|
||||||
|
eventWaiter.await(TIMEOUT, 1);
|
||||||
|
|
||||||
|
// Sync forwarded ACCEPT messages to introducees
|
||||||
|
sync0To1(1, true);
|
||||||
|
sync0To2(1, true);
|
||||||
|
|
||||||
|
// Sync first AUTH and its forward
|
||||||
|
sync1To0(1, true);
|
||||||
|
sync0To2(1, true);
|
||||||
|
|
||||||
|
// Sync second AUTH and its forward as well as the following ACTIVATE
|
||||||
|
sync2To0(2, true);
|
||||||
|
sync0To1(2, true);
|
||||||
|
|
||||||
|
// Sync second ACTIVATE and its forward
|
||||||
|
sync1To0(1, true);
|
||||||
|
sync0To2(1, true);
|
||||||
|
|
||||||
|
// Wait for introduction to succeed
|
||||||
|
eventWaiter.await(TIMEOUT, 2);
|
||||||
|
assertTrue(listener1.succeeded);
|
||||||
|
assertTrue(listener2.succeeded);
|
||||||
|
|
||||||
|
// All visible messages between 0 and 1 should have auto-delete timers
|
||||||
|
for (ConversationMessageHeader h : getMessages1From0()) {
|
||||||
|
assertEquals(MIN_AUTO_DELETE_TIMER_MS, h.getAutoDeleteTimer());
|
||||||
|
}
|
||||||
|
for (ConversationMessageHeader h : getMessages0From1()) {
|
||||||
|
assertEquals(MIN_AUTO_DELETE_TIMER_MS, h.getAutoDeleteTimer());
|
||||||
|
}
|
||||||
|
// No visible messages between 0 and 2 should have auto-delete timers
|
||||||
|
for (ConversationMessageHeader h : getMessages2From0()) {
|
||||||
|
assertEquals(NO_AUTO_DELETE_TIMER, h.getAutoDeleteTimer());
|
||||||
|
}
|
||||||
|
for (ConversationMessageHeader h : getMessages0From2()) {
|
||||||
|
assertEquals(NO_AUTO_DELETE_TIMER, h.getAutoDeleteTimer());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testIntroductionSessionFirstDecline() throws Exception {
|
public void testIntroductionSessionFirstDecline() throws Exception {
|
||||||
addListeners(false, true);
|
addListeners(false, true);
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ import static org.briarproject.bramble.test.TestPluginConfigModule.SIMPLEX_TRANS
|
|||||||
import static org.briarproject.bramble.test.TestUtils.deleteTestDirectory;
|
import static org.briarproject.bramble.test.TestUtils.deleteTestDirectory;
|
||||||
import static org.briarproject.bramble.test.TestUtils.getSecretKey;
|
import static org.briarproject.bramble.test.TestUtils.getSecretKey;
|
||||||
import static org.briarproject.bramble.test.TestUtils.getTestDirectory;
|
import static org.briarproject.bramble.test.TestUtils.getTestDirectory;
|
||||||
import static org.briarproject.briar.api.autodelete.AutoDeleteConstants.NO_AUTO_DELETE_TIMER;
|
import static org.briarproject.briar.api.autodelete.AutoDeleteConstants.MIN_AUTO_DELETE_TIMER_MS;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
public class SimplexMessagingIntegrationTest extends BriarTestCase {
|
public class SimplexMessagingIntegrationTest extends BriarTestCase {
|
||||||
@@ -125,7 +125,7 @@ public class SimplexMessagingIntegrationTest extends BriarTestCase {
|
|||||||
device.getPrivateMessageFactory();
|
device.getPrivateMessageFactory();
|
||||||
PrivateMessage message = privateMessageFactory.createPrivateMessage(
|
PrivateMessage message = privateMessageFactory.createPrivateMessage(
|
||||||
groupId, timestamp, "Hi!", singletonList(attachmentHeader),
|
groupId, timestamp, "Hi!", singletonList(attachmentHeader),
|
||||||
NO_AUTO_DELETE_TIMER);
|
MIN_AUTO_DELETE_TIMER_MS);
|
||||||
messagingManager.addLocalMessage(message);
|
messagingManager.addLocalMessage(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ import java.util.Set;
|
|||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import static java.util.Collections.emptySet;
|
import static java.util.Collections.emptySet;
|
||||||
import static org.briarproject.briar.api.autodelete.AutoDeleteConstants.NO_AUTO_DELETE_TIMER;
|
import static org.briarproject.briar.api.autodelete.AutoDeleteConstants.MIN_AUTO_DELETE_TIMER_MS;
|
||||||
import static org.briarproject.briar.test.BriarTestUtils.assertGroupCount;
|
import static org.briarproject.briar.test.BriarTestUtils.assertGroupCount;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertFalse;
|
import static org.junit.Assert.assertFalse;
|
||||||
@@ -165,6 +165,33 @@ public class GroupInvitationIntegrationTest
|
|||||||
assertEquals(0, groupManager1.getPrivateGroups().size());
|
assertEquals(0, groupManager1.getPrivateGroups().size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testInvitationDeclineWithAutoDelete() throws Exception {
|
||||||
|
// 0 and 1 set an auto-delete timer for their conversation
|
||||||
|
setAutoDeleteTimer(c0, contactId1From0);
|
||||||
|
setAutoDeleteTimer(c1, contactId0From1);
|
||||||
|
|
||||||
|
// Send invitation
|
||||||
|
sendInvitation(clock.currentTimeMillis(), null);
|
||||||
|
sync0To1(1, true);
|
||||||
|
|
||||||
|
// Decline invitation
|
||||||
|
groupInvitationManager1
|
||||||
|
.respondToInvitation(contactId0From1, privateGroup, false);
|
||||||
|
sync1To0(1, true);
|
||||||
|
|
||||||
|
// Group was not added
|
||||||
|
assertTrue(groupManager1.getPrivateGroups().isEmpty());
|
||||||
|
|
||||||
|
// All visible messages between 0 and 1 should have auto-delete timers
|
||||||
|
for (ConversationMessageHeader h : getMessages1From0()) {
|
||||||
|
assertEquals(MIN_AUTO_DELETE_TIMER_MS, h.getAutoDeleteTimer());
|
||||||
|
}
|
||||||
|
for (ConversationMessageHeader h : getMessages0From1()) {
|
||||||
|
assertEquals(MIN_AUTO_DELETE_TIMER_MS, h.getAutoDeleteTimer());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testInvitationAccept() throws Exception {
|
public void testInvitationAccept() throws Exception {
|
||||||
long timestamp = clock.currentTimeMillis();
|
long timestamp = clock.currentTimeMillis();
|
||||||
@@ -223,6 +250,35 @@ public class GroupInvitationIntegrationTest
|
|||||||
assertEquals(privateGroup, groups.iterator().next());
|
assertEquals(privateGroup, groups.iterator().next());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testInvitationAcceptWithAutoDelete() throws Exception {
|
||||||
|
// 0 and 1 set an auto-delete timer for their conversation
|
||||||
|
setAutoDeleteTimer(c0, contactId1From0);
|
||||||
|
setAutoDeleteTimer(c1, contactId0From1);
|
||||||
|
|
||||||
|
// Send invitation
|
||||||
|
sendInvitation(clock.currentTimeMillis(), null);
|
||||||
|
sync0To1(1, true);
|
||||||
|
|
||||||
|
// Accept invitation
|
||||||
|
groupInvitationManager1
|
||||||
|
.respondToInvitation(contactId0From1, privateGroup, true);
|
||||||
|
sync1To0(1, true);
|
||||||
|
|
||||||
|
// Group was added
|
||||||
|
Collection<PrivateGroup> groups = groupManager1.getPrivateGroups();
|
||||||
|
assertEquals(1, groups.size());
|
||||||
|
assertEquals(privateGroup, groups.iterator().next());
|
||||||
|
|
||||||
|
// All visible messages between 0 and 1 should have auto-delete timers
|
||||||
|
for (ConversationMessageHeader h : getMessages1From0()) {
|
||||||
|
assertEquals(MIN_AUTO_DELETE_TIMER_MS, h.getAutoDeleteTimer());
|
||||||
|
}
|
||||||
|
for (ConversationMessageHeader h : getMessages0From1()) {
|
||||||
|
assertEquals(MIN_AUTO_DELETE_TIMER_MS, h.getAutoDeleteTimer());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGroupCount() throws Exception {
|
public void testGroupCount() throws Exception {
|
||||||
long timestamp = clock.currentTimeMillis();
|
long timestamp = clock.currentTimeMillis();
|
||||||
@@ -687,9 +743,9 @@ public class GroupInvitationIntegrationTest
|
|||||||
throws DbException {
|
throws DbException {
|
||||||
byte[] signature = groupInvitationFactory.signInvitation(contact1From0,
|
byte[] signature = groupInvitationFactory.signInvitation(contact1From0,
|
||||||
privateGroup.getId(), timestamp, author0.getPrivateKey());
|
privateGroup.getId(), timestamp, author0.getPrivateKey());
|
||||||
|
long timer = getAutoDeleteTimer(c0, contactId1From0);
|
||||||
groupInvitationManager0.sendInvitation(privateGroup.getId(),
|
groupInvitationManager0.sendInvitation(privateGroup.getId(),
|
||||||
contactId1From0, text, timestamp, signature,
|
contactId1From0, text, timestamp, signature, timer);
|
||||||
NO_AUTO_DELETE_TIMER);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ import org.junit.rules.ExpectedException;
|
|||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
||||||
|
import static org.briarproject.briar.api.autodelete.AutoDeleteConstants.MIN_AUTO_DELETE_TIMER_MS;
|
||||||
import static org.briarproject.briar.api.blog.BlogSharingManager.CLIENT_ID;
|
import static org.briarproject.briar.api.blog.BlogSharingManager.CLIENT_ID;
|
||||||
import static org.briarproject.briar.api.blog.BlogSharingManager.MAJOR_VERSION;
|
import static org.briarproject.briar.api.blog.BlogSharingManager.MAJOR_VERSION;
|
||||||
import static org.briarproject.briar.test.BriarTestUtils.assertGroupCount;
|
import static org.briarproject.briar.test.BriarTestUtils.assertGroupCount;
|
||||||
@@ -203,6 +204,41 @@ public class BlogSharingIntegrationTest
|
|||||||
assertGroupCount(messageTracker1, g, 2, 1);
|
assertGroupCount(messageTracker1, g, 2, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSuccessfulSharingWithAutoDelete() throws Exception {
|
||||||
|
// Initialize and let invitee accept all requests
|
||||||
|
listenToEvents(true);
|
||||||
|
|
||||||
|
// Set an auto-delete timer for the conversation
|
||||||
|
setAutoDeleteTimer(c0, contactId1From0);
|
||||||
|
setAutoDeleteTimer(c1, contactId0From1);
|
||||||
|
|
||||||
|
// Send invitation
|
||||||
|
blogSharingManager0
|
||||||
|
.sendInvitation(blog2.getId(), contactId1From0, "Hi!");
|
||||||
|
|
||||||
|
// Sync first request message
|
||||||
|
sync0To1(1, true);
|
||||||
|
eventWaiter.await(TIMEOUT, 1);
|
||||||
|
|
||||||
|
// Sync response back
|
||||||
|
sync1To0(1, true);
|
||||||
|
eventWaiter.await(TIMEOUT, 1);
|
||||||
|
|
||||||
|
// Blog was added successfully
|
||||||
|
assertEquals(0, blogSharingManager0.getInvitations().size());
|
||||||
|
assertEquals(3, blogManager1.getBlogs().size());
|
||||||
|
assertTrue(blogManager1.getBlogs().contains(blog2));
|
||||||
|
|
||||||
|
// All visible messages should have auto-delete timers
|
||||||
|
for (ConversationMessageHeader h : getMessages1From0()) {
|
||||||
|
assertEquals(MIN_AUTO_DELETE_TIMER_MS, h.getAutoDeleteTimer());
|
||||||
|
}
|
||||||
|
for (ConversationMessageHeader h : getMessages0From1()) {
|
||||||
|
assertEquals(MIN_AUTO_DELETE_TIMER_MS, h.getAutoDeleteTimer());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSuccessfulSharingWithRssBlog() throws Exception {
|
public void testSuccessfulSharingWithRssBlog() throws Exception {
|
||||||
// initialize and let invitee accept all requests
|
// initialize and let invitee accept all requests
|
||||||
@@ -647,4 +683,15 @@ public class BlogSharingIntegrationTest
|
|||||||
c2.getEventBus().addListener(listener2);
|
c2.getEventBus().addListener(listener2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Collection<ConversationMessageHeader> getMessages1From0()
|
||||||
|
throws DbException {
|
||||||
|
return db0.transactionWithResult(true, txn ->
|
||||||
|
blogSharingManager0.getMessageHeaders(txn, contactId1From0));
|
||||||
|
}
|
||||||
|
|
||||||
|
private Collection<ConversationMessageHeader> getMessages0From1()
|
||||||
|
throws DbException {
|
||||||
|
return db1.transactionWithResult(true, txn ->
|
||||||
|
blogSharingManager1.getMessageHeaders(txn, contactId0From1));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ import javax.annotation.Nullable;
|
|||||||
import static java.util.Collections.emptySet;
|
import static java.util.Collections.emptySet;
|
||||||
import static junit.framework.Assert.assertNotNull;
|
import static junit.framework.Assert.assertNotNull;
|
||||||
import static org.briarproject.bramble.util.StringUtils.getRandomString;
|
import static org.briarproject.bramble.util.StringUtils.getRandomString;
|
||||||
|
import static org.briarproject.briar.api.autodelete.AutoDeleteConstants.MIN_AUTO_DELETE_TIMER_MS;
|
||||||
import static org.briarproject.briar.api.forum.ForumSharingManager.CLIENT_ID;
|
import static org.briarproject.briar.api.forum.ForumSharingManager.CLIENT_ID;
|
||||||
import static org.briarproject.briar.api.forum.ForumSharingManager.MAJOR_VERSION;
|
import static org.briarproject.briar.api.forum.ForumSharingManager.MAJOR_VERSION;
|
||||||
import static org.briarproject.briar.test.BriarTestUtils.assertGroupCount;
|
import static org.briarproject.briar.test.BriarTestUtils.assertGroupCount;
|
||||||
@@ -187,6 +188,41 @@ public class ForumSharingIntegrationTest
|
|||||||
assertFalse(forumSharingManager1.canBeShared(forum.getId(), c0));
|
assertFalse(forumSharingManager1.canBeShared(forum.getId(), c0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSuccessfulSharingWithAutoDelete() throws Exception {
|
||||||
|
// Set an auto-delete timer for the conversation
|
||||||
|
setAutoDeleteTimer(c0, contactId1From0);
|
||||||
|
setAutoDeleteTimer(c1, contactId0From1);
|
||||||
|
|
||||||
|
// Send invitation
|
||||||
|
forumSharingManager0
|
||||||
|
.sendInvitation(forum.getId(), contactId1From0, "Hi!");
|
||||||
|
|
||||||
|
// Sync request message
|
||||||
|
sync0To1(1, true);
|
||||||
|
eventWaiter.await(TIMEOUT, 1);
|
||||||
|
|
||||||
|
// Invitee accepts
|
||||||
|
respondToRequest(contactId0From1, true);
|
||||||
|
|
||||||
|
// Sync response back
|
||||||
|
sync1To0(1, true);
|
||||||
|
eventWaiter.await(TIMEOUT, 1);
|
||||||
|
assertResponseReceived(listener0, contactId1From0, true);
|
||||||
|
|
||||||
|
// Forum was added successfully
|
||||||
|
assertEquals(0, forumSharingManager0.getInvitations().size());
|
||||||
|
assertEquals(1, forumManager1.getForums().size());
|
||||||
|
|
||||||
|
// All visible messages should have auto-delete timers
|
||||||
|
for (ConversationMessageHeader h : getMessages1From0()) {
|
||||||
|
assertEquals(MIN_AUTO_DELETE_TIMER_MS, h.getAutoDeleteTimer());
|
||||||
|
}
|
||||||
|
for (ConversationMessageHeader h : getMessages0From1()) {
|
||||||
|
assertEquals(MIN_AUTO_DELETE_TIMER_MS, h.getAutoDeleteTimer());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testDeclinedSharing() throws Exception {
|
public void testDeclinedSharing() throws Exception {
|
||||||
// send invitation
|
// send invitation
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ import static org.briarproject.bramble.api.sync.validation.MessageState.PENDING;
|
|||||||
import static org.briarproject.bramble.test.TestPluginConfigModule.SIMPLEX_TRANSPORT_ID;
|
import static org.briarproject.bramble.test.TestPluginConfigModule.SIMPLEX_TRANSPORT_ID;
|
||||||
import static org.briarproject.bramble.test.TestUtils.getSecretKey;
|
import static org.briarproject.bramble.test.TestUtils.getSecretKey;
|
||||||
import static org.briarproject.bramble.util.LogUtils.logException;
|
import static org.briarproject.bramble.util.LogUtils.logException;
|
||||||
|
import static org.briarproject.briar.api.autodelete.AutoDeleteConstants.MIN_AUTO_DELETE_TIMER_MS;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
import static org.junit.Assert.fail;
|
import static org.junit.Assert.fail;
|
||||||
@@ -94,9 +95,6 @@ public abstract class BriarIntegrationTest<C extends BriarIntegrationTestCompone
|
|||||||
|
|
||||||
private LifecycleManager lifecycleManager0, lifecycleManager1,
|
private LifecycleManager lifecycleManager0, lifecycleManager1,
|
||||||
lifecycleManager2;
|
lifecycleManager2;
|
||||||
private SecretKey rootKey0_1 = getSecretKey();
|
|
||||||
private SecretKey rootKey0_2 = getSecretKey();
|
|
||||||
private SecretKey rootKey1_2 = getSecretKey();
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
protected Clock clock;
|
protected Clock clock;
|
||||||
@@ -137,6 +135,9 @@ public abstract class BriarIntegrationTest<C extends BriarIntegrationTestCompone
|
|||||||
private final String AUTHOR0 = "Author 0";
|
private final String AUTHOR0 = "Author 0";
|
||||||
private final String AUTHOR1 = "Author 1";
|
private final String AUTHOR1 = "Author 1";
|
||||||
private final String AUTHOR2 = "Author 2";
|
private final String AUTHOR2 = "Author 2";
|
||||||
|
private final SecretKey rootKey0_1 = getSecretKey();
|
||||||
|
private final SecretKey rootKey0_2 = getSecretKey();
|
||||||
|
private final SecretKey rootKey1_2 = getSecretKey();
|
||||||
|
|
||||||
protected File t0Dir = new File(testDir, AUTHOR0);
|
protected File t0Dir = new File(testDir, AUTHOR0);
|
||||||
protected File t1Dir = new File(testDir, AUTHOR1);
|
protected File t1Dir = new File(testDir, AUTHOR1);
|
||||||
@@ -451,4 +452,17 @@ public abstract class BriarIntegrationTest<C extends BriarIntegrationTestCompone
|
|||||||
contactManager2.removeContact(contactId1From2);
|
contactManager2.removeContact(contactId1From2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void setAutoDeleteTimer(BriarIntegrationTestComponent component,
|
||||||
|
ContactId contactId) throws DbException {
|
||||||
|
component.getDatabaseComponent().transaction(false, txn ->
|
||||||
|
component.getAutoDeleteManager().setAutoDeleteTimer(txn,
|
||||||
|
contactId, MIN_AUTO_DELETE_TIMER_MS));
|
||||||
|
}
|
||||||
|
|
||||||
|
protected long getAutoDeleteTimer(BriarIntegrationTestComponent component,
|
||||||
|
ContactId contactId) throws DbException {
|
||||||
|
return component.getDatabaseComponent().transactionWithResult(true,
|
||||||
|
txn -> component.getAutoDeleteManager().getAutoDeleteTimer(txn,
|
||||||
|
contactId));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import org.briarproject.bramble.api.lifecycle.LifecycleManager;
|
|||||||
import org.briarproject.bramble.api.properties.TransportPropertyManager;
|
import org.briarproject.bramble.api.properties.TransportPropertyManager;
|
||||||
import org.briarproject.bramble.test.BrambleCoreIntegrationTestModule;
|
import org.briarproject.bramble.test.BrambleCoreIntegrationTestModule;
|
||||||
import org.briarproject.briar.api.attachment.AttachmentReader;
|
import org.briarproject.briar.api.attachment.AttachmentReader;
|
||||||
|
import org.briarproject.briar.api.autodelete.AutoDeleteManager;
|
||||||
import org.briarproject.briar.api.avatar.AvatarManager;
|
import org.briarproject.briar.api.avatar.AvatarManager;
|
||||||
import org.briarproject.briar.api.blog.BlogFactory;
|
import org.briarproject.briar.api.blog.BlogFactory;
|
||||||
import org.briarproject.briar.api.blog.BlogManager;
|
import org.briarproject.briar.api.blog.BlogManager;
|
||||||
@@ -131,6 +132,8 @@ public interface BriarIntegrationTestComponent
|
|||||||
|
|
||||||
ConnectionManager getConnectionManager();
|
ConnectionManager getConnectionManager();
|
||||||
|
|
||||||
|
AutoDeleteManager getAutoDeleteManager();
|
||||||
|
|
||||||
class Helper {
|
class Helper {
|
||||||
|
|
||||||
public static void injectEagerSingletons(
|
public static void injectEagerSingletons(
|
||||||
|
|||||||
Reference in New Issue
Block a user