diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/mailbox/MailboxPropertyManager.java b/bramble-api/src/main/java/org/briarproject/bramble/api/mailbox/MailboxPropertyManager.java index 6180ba152..e7e1d8d42 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/mailbox/MailboxPropertyManager.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/mailbox/MailboxPropertyManager.java @@ -57,7 +57,6 @@ public interface MailboxPropertyManager { */ String MSG_KEY_LOCAL = "local"; - @Nullable MailboxPropertiesUpdate getLocalProperties(Transaction txn, ContactId c) throws DbException; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxPropertyManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxPropertyManagerImpl.java index f2ca77084..c6eb94ab4 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxPropertyManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxPropertyManagerImpl.java @@ -180,10 +180,15 @@ class MailboxPropertyManagerImpl implements MailboxPropertyManager, } @Override - @Nullable public MailboxPropertiesUpdate getLocalProperties(Transaction txn, ContactId c) throws DbException { - return getProperties(txn, db.getContact(txn, c), true); + MailboxPropertiesUpdate local = + getProperties(txn, db.getContact(txn, c), true); + // An update (with or without mailbox) is created when contact is added + if (local == null) { + throw new DbException(); + } + return local; } @Override diff --git a/bramble-core/src/test/java/org/briarproject/bramble/mailbox/MailboxPropertyManagerImplTest.java b/bramble-core/src/test/java/org/briarproject/bramble/mailbox/MailboxPropertyManagerImplTest.java index 679555d53..63cfc2d1a 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/mailbox/MailboxPropertyManagerImplTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/mailbox/MailboxPropertyManagerImplTest.java @@ -673,30 +673,6 @@ public class MailboxPropertyManagerImplTest extends BrambleMockTestCase { assertTrue(mailboxPropertiesUpdateEqual(local, updateMailbox)); } - @Test - public void testGetLocalPropertiesReturnsNullBecauseNoUpdate() - throws Exception { - Transaction txn = new Transaction(null, false); - Contact contact = getContact(); - Group contactGroup = getGroup(CLIENT_ID, MAJOR_VERSION); - Map emptyMessageMetadata = - new LinkedHashMap<>(); - - context.checking(new Expectations() {{ - oneOf(db).getContact(txn, contact.getId()); - will(returnValue(contact)); - oneOf(contactGroupFactory).createContactGroup(CLIENT_ID, - MAJOR_VERSION, contact); - will(returnValue(contactGroup)); - oneOf(clientHelper).getMessageMetadataAsDictionary(txn, - contactGroup.getId()); - will(returnValue(emptyMessageMetadata)); - }}); - - MailboxPropertyManagerImpl t = createInstance(); - assertNull(t.getLocalProperties(txn, contact.getId())); - } - @Test public void testGetLocalPropertiesNoMailbox() throws Exception {