Merge branch '1232-get-pending-contact' into 'master'

Add method to get a pending contact

See merge request briar/briar!1110
This commit is contained in:
Torsten Grote
2019-05-27 17:51:59 +00:00
8 changed files with 87 additions and 9 deletions

View File

@@ -763,12 +763,12 @@ public class DatabaseComponentImplTest extends BrambleMockTestCase {
throws Exception {
context.checking(new Expectations() {{
// Check whether the pending contact is in the DB (which it's not)
exactly(3).of(database).startTransaction();
exactly(4).of(database).startTransaction();
will(returnValue(txn));
exactly(3).of(database).containsPendingContact(txn,
exactly(4).of(database).containsPendingContact(txn,
pendingContactId);
will(returnValue(false));
exactly(3).of(database).abortTransaction(txn);
exactly(4).of(database).abortTransaction(txn);
}});
DatabaseComponent db = createDatabaseComponent(database, eventBus,
eventExecutor, shutdownManager);
@@ -791,6 +791,14 @@ public class DatabaseComponentImplTest extends BrambleMockTestCase {
// Expected
}
try {
db.transaction(false, transaction ->
db.getPendingContact(transaction, pendingContactId));
fail();
} catch (NoSuchPendingContactException expected) {
// Expected
}
try {
db.transaction(false, transaction ->
db.removePendingContact(transaction, pendingContactId));

View File

@@ -2204,14 +2204,14 @@ public abstract class JdbcDatabaseTest extends BrambleTestCase {
assertEquals(emptyList(), db.getPendingContacts(txn));
db.addPendingContact(txn, pendingContact);
PendingContact retrieved =
db.getPendingContact(txn, pendingContact.getId());
assertPendingContactEquals(pendingContact, retrieved);
Collection<PendingContact> pendingContacts = db.getPendingContacts(txn);
assertEquals(1, pendingContacts.size());
PendingContact retrieved = pendingContacts.iterator().next();
assertEquals(pendingContact.getId(), retrieved.getId());
assertEquals(pendingContact.getAlias(), retrieved.getAlias());
assertArrayEquals(pendingContact.getPublicKey().getEncoded(),
retrieved.getPublicKey().getEncoded());
assertEquals(pendingContact.getTimestamp(), retrieved.getTimestamp());
retrieved = pendingContacts.iterator().next();
assertPendingContactEquals(pendingContact, retrieved);
db.removePendingContact(txn, pendingContact.getId());
assertEquals(emptyList(), db.getPendingContacts(txn));
@@ -2220,6 +2220,15 @@ public abstract class JdbcDatabaseTest extends BrambleTestCase {
db.close();
}
private void assertPendingContactEquals(PendingContact expected,
PendingContact actual) {
assertEquals(expected.getId(), actual.getId());
assertArrayEquals(expected.getPublicKey().getEncoded(),
actual.getPublicKey().getEncoded());
assertEquals(expected.getAlias(), actual.getAlias());
assertEquals(expected.getTimestamp(), actual.getTimestamp());
}
@Test
public void testTransferKeys() throws Exception {
boolean alice = random.nextBoolean();