From 5aa041f9e1ba432a87a7f7672ab8ffaf420a4518 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Tue, 24 Nov 2020 12:11:36 -0300 Subject: [PATCH] Add AuthorManager#getMyAuthorInfo() without transaction and add test for it --- .../briar/api/identity/AuthorManager.java | 5 +++++ .../briar/identity/AuthorManagerImpl.java | 5 +++++ .../briar/identity/AuthorManagerImplTest.java | 17 ++++++++++++++++- 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/briar-api/src/main/java/org/briarproject/briar/api/identity/AuthorManager.java b/briar-api/src/main/java/org/briarproject/briar/api/identity/AuthorManager.java index 3fbfbe9b7..a07fbb8d1 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/identity/AuthorManager.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/identity/AuthorManager.java @@ -19,6 +19,11 @@ public interface AuthorManager { */ AuthorInfo getAuthorInfo(Transaction txn, AuthorId a) throws DbException; + /** + * Returns the {@link AuthorInfo} for the {@link LocalAuthor}. + */ + AuthorInfo getMyAuthorInfo() throws DbException; + /** * Returns the {@link AuthorInfo} for the {@link LocalAuthor}. */ diff --git a/briar-core/src/main/java/org/briarproject/briar/identity/AuthorManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/identity/AuthorManagerImpl.java index 1d507d22f..479803113 100644 --- a/briar-core/src/main/java/org/briarproject/briar/identity/AuthorManagerImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/identity/AuthorManagerImpl.java @@ -59,6 +59,11 @@ class AuthorManagerImpl implements AuthorManager { else return new AuthorInfo(UNVERIFIED, c.getAlias(), avatar); } + @Override + public AuthorInfo getMyAuthorInfo() throws DbException { + return db.transactionWithResult(true, this::getMyAuthorInfo); + } + @Override public AuthorInfo getMyAuthorInfo(Transaction txn) throws DbException { AttachmentHeader avatar = avatarManager.getMyAvatarHeader(txn); diff --git a/briar-core/src/test/java/org/briarproject/briar/identity/AuthorManagerImplTest.java b/briar-core/src/test/java/org/briarproject/briar/identity/AuthorManagerImplTest.java index b573498fc..d7f1fd3bd 100644 --- a/briar-core/src/test/java/org/briarproject/briar/identity/AuthorManagerImplTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/identity/AuthorManagerImplTest.java @@ -106,7 +106,6 @@ public class AuthorManagerImplTest extends BrambleMockTestCase { public void testGetAuthorInfoOurselves() throws DbException { Transaction txn = new Transaction(null, true); - // check ourselves context.checking(new Expectations() {{ oneOf(identityManager).getLocalAuthor(txn); will(returnValue(localAuthor)); @@ -122,6 +121,22 @@ public class AuthorManagerImplTest extends BrambleMockTestCase { assertEquals(avatarHeader, authorInfo.getAvatarHeader()); } + @Test + public void testGetMyAuthorInfo() throws DbException { + Transaction txn = new Transaction(null, true); + + context.checking(new Expectations() {{ + oneOf(avatarManager).getMyAvatarHeader(txn); + will(returnValue(avatarHeader)); + }}); + + AuthorInfo authorInfo = + authorManager.getMyAuthorInfo(txn); + assertEquals(OURSELVES, authorInfo.getStatus()); + assertNull(authorInfo.getAlias()); + assertEquals(avatarHeader, authorInfo.getAvatarHeader()); + } + private void checkAuthorInfoContext(Transaction txn, AuthorId authorId, Collection contacts) throws DbException { context.checking(new Expectations() {{