From c36f5c795bb23470028fcea24d6a30d5a2e34bd3 Mon Sep 17 00:00:00 2001 From: Torsten Grote <t@grobox.de> Date: Fri, 4 Nov 2016 11:04:44 -0200 Subject: [PATCH] Address review comments for TransportKeyManagerImplTest --- .../transport/KeyManagerImpl.java | 2 -- .../transport/TransportKeyManager.java | 5 ++-- .../transport/TransportKeyManagerFactory.java | 4 +-- .../TransportKeyManagerFactoryImpl.java | 4 +-- .../transport/TransportKeyManagerImpl.java | 6 ++++- .../transport/TransportModule.java | 1 - .../transport/KeyManagerImplTest.java | 27 +++++++++++++------ ....java => TransportKeyManagerImplTest.java} | 3 +-- 8 files changed, 31 insertions(+), 21 deletions(-) rename {briar-api/src/org/briarproject/api => briar-core/src/org/briarproject}/transport/TransportKeyManager.java (82%) rename {briar-api/src/org/briarproject/api => briar-core/src/org/briarproject}/transport/TransportKeyManagerFactory.java (61%) rename briar-tests/src/org/briarproject/transport/{TransportKeyManagerTest.java => TransportKeyManagerImplTest.java} (99%) diff --git a/briar-core/src/org/briarproject/transport/KeyManagerImpl.java b/briar-core/src/org/briarproject/transport/KeyManagerImpl.java index e372cb928d..a6c8f1be12 100644 --- a/briar-core/src/org/briarproject/transport/KeyManagerImpl.java +++ b/briar-core/src/org/briarproject/transport/KeyManagerImpl.java @@ -19,8 +19,6 @@ import org.briarproject.api.plugins.duplex.DuplexPluginFactory; import org.briarproject.api.plugins.simplex.SimplexPluginFactory; import org.briarproject.api.transport.KeyManager; import org.briarproject.api.transport.StreamContext; -import org.briarproject.api.transport.TransportKeyManager; -import org.briarproject.api.transport.TransportKeyManagerFactory; import java.util.HashMap; import java.util.Map; diff --git a/briar-api/src/org/briarproject/api/transport/TransportKeyManager.java b/briar-core/src/org/briarproject/transport/TransportKeyManager.java similarity index 82% rename from briar-api/src/org/briarproject/api/transport/TransportKeyManager.java rename to briar-core/src/org/briarproject/transport/TransportKeyManager.java index dc3e22f9f9..56ed6b9ca5 100644 --- a/briar-api/src/org/briarproject/api/transport/TransportKeyManager.java +++ b/briar-core/src/org/briarproject/transport/TransportKeyManager.java @@ -1,11 +1,12 @@ -package org.briarproject.api.transport; +package org.briarproject.transport; import org.briarproject.api.contact.ContactId; import org.briarproject.api.crypto.SecretKey; import org.briarproject.api.db.DbException; import org.briarproject.api.db.Transaction; +import org.briarproject.api.transport.StreamContext; -public interface TransportKeyManager { +interface TransportKeyManager { void start(Transaction txn) throws DbException; diff --git a/briar-api/src/org/briarproject/api/transport/TransportKeyManagerFactory.java b/briar-core/src/org/briarproject/transport/TransportKeyManagerFactory.java similarity index 61% rename from briar-api/src/org/briarproject/api/transport/TransportKeyManagerFactory.java rename to briar-core/src/org/briarproject/transport/TransportKeyManagerFactory.java index 1b2f3a29b5..ca1021a0c1 100644 --- a/briar-api/src/org/briarproject/api/transport/TransportKeyManagerFactory.java +++ b/briar-core/src/org/briarproject/transport/TransportKeyManagerFactory.java @@ -1,8 +1,8 @@ -package org.briarproject.api.transport; +package org.briarproject.transport; import org.briarproject.api.TransportId; -public interface TransportKeyManagerFactory { +interface TransportKeyManagerFactory { TransportKeyManager createTransportKeyManager(TransportId transportId, long maxLatency); diff --git a/briar-core/src/org/briarproject/transport/TransportKeyManagerFactoryImpl.java b/briar-core/src/org/briarproject/transport/TransportKeyManagerFactoryImpl.java index 4efe408560..dbc05778ba 100644 --- a/briar-core/src/org/briarproject/transport/TransportKeyManagerFactoryImpl.java +++ b/briar-core/src/org/briarproject/transport/TransportKeyManagerFactoryImpl.java @@ -5,15 +5,13 @@ import org.briarproject.api.crypto.CryptoComponent; import org.briarproject.api.db.DatabaseComponent; import org.briarproject.api.db.DatabaseExecutor; import org.briarproject.api.system.Clock; -import org.briarproject.api.transport.TransportKeyManager; -import org.briarproject.api.transport.TransportKeyManagerFactory; import java.util.concurrent.Executor; import java.util.concurrent.ScheduledExecutorService; import javax.inject.Inject; -public class TransportKeyManagerFactoryImpl implements +class TransportKeyManagerFactoryImpl implements TransportKeyManagerFactory { private final DatabaseComponent db; diff --git a/briar-core/src/org/briarproject/transport/TransportKeyManagerImpl.java b/briar-core/src/org/briarproject/transport/TransportKeyManagerImpl.java index 4565849d85..3afd0ef928 100644 --- a/briar-core/src/org/briarproject/transport/TransportKeyManagerImpl.java +++ b/briar-core/src/org/briarproject/transport/TransportKeyManagerImpl.java @@ -10,7 +10,6 @@ import org.briarproject.api.db.DbException; import org.briarproject.api.db.Transaction; import org.briarproject.api.system.Clock; import org.briarproject.api.transport.StreamContext; -import org.briarproject.api.transport.TransportKeyManager; import org.briarproject.api.transport.TransportKeys; import org.briarproject.transport.ReorderingWindow.Change; @@ -64,6 +63,7 @@ class TransportKeyManagerImpl implements TransportKeyManager { keys = new HashMap<ContactId, MutableTransportKeys>(); } + @Override public void start(Transaction txn) throws DbException { long now = clock.currentTimeMillis(); lock.lock(); @@ -156,6 +156,7 @@ class TransportKeyManagerImpl implements TransportKeyManager { }); } + @Override public void addContact(Transaction txn, ContactId c, SecretKey master, long timestamp, boolean alice) throws DbException { lock.lock(); @@ -177,6 +178,7 @@ class TransportKeyManagerImpl implements TransportKeyManager { } } + @Override public void removeContact(ContactId c) { lock.lock(); try { @@ -192,6 +194,7 @@ class TransportKeyManagerImpl implements TransportKeyManager { } } + @Override public StreamContext getStreamContext(Transaction txn, ContactId c) throws DbException { lock.lock(); @@ -214,6 +217,7 @@ class TransportKeyManagerImpl implements TransportKeyManager { } } + @Override public StreamContext getStreamContext(Transaction txn, byte[] tag) throws DbException { lock.lock(); diff --git a/briar-core/src/org/briarproject/transport/TransportModule.java b/briar-core/src/org/briarproject/transport/TransportModule.java index c66865bdbd..461e1d8dcb 100644 --- a/briar-core/src/org/briarproject/transport/TransportModule.java +++ b/briar-core/src/org/briarproject/transport/TransportModule.java @@ -7,7 +7,6 @@ import org.briarproject.api.lifecycle.LifecycleManager; import org.briarproject.api.transport.KeyManager; import org.briarproject.api.transport.StreamReaderFactory; import org.briarproject.api.transport.StreamWriterFactory; -import org.briarproject.api.transport.TransportKeyManagerFactory; import javax.inject.Inject; import javax.inject.Singleton; diff --git a/briar-tests/src/org/briarproject/transport/KeyManagerImplTest.java b/briar-tests/src/org/briarproject/transport/KeyManagerImplTest.java index d7ff0f0cea..3ac7d5f1c7 100644 --- a/briar-tests/src/org/briarproject/transport/KeyManagerImplTest.java +++ b/briar-tests/src/org/briarproject/transport/KeyManagerImplTest.java @@ -14,8 +14,6 @@ import org.briarproject.api.identity.AuthorId; import org.briarproject.api.plugins.PluginConfig; import org.briarproject.api.plugins.simplex.SimplexPluginFactory; import org.briarproject.api.transport.StreamContext; -import org.briarproject.api.transport.TransportKeyManager; -import org.briarproject.api.transport.TransportKeyManagerFactory; import org.jmock.Expectations; import org.jmock.Mockery; import org.jmock.lib.concurrent.DeterministicExecutor; @@ -29,6 +27,7 @@ import java.util.Collections; import static org.briarproject.TestUtils.getRandomBytes; import static org.briarproject.TestUtils.getRandomId; import static org.briarproject.TestUtils.getSecretKey; +import static org.briarproject.api.transport.TransportConstants.TAG_LENGTH; import static org.junit.Assert.assertEquals; public class KeyManagerImplTest extends BriarTestCase { @@ -46,10 +45,11 @@ public class KeyManagerImplTest extends BriarTestCase { private final ContactId contactId = new ContactId(42); private final ContactId inactiveContactId = new ContactId(43); private final TransportId transportId = new TransportId("tId"); + private final TransportId unknownTransportId = new TransportId("id"); private final StreamContext streamContext = new StreamContext(contactId, transportId, getSecretKey(), getSecretKey(), 1); - private final byte[] tag = getRandomBytes(42); + private final byte[] tag = getRandomBytes(TAG_LENGTH); public KeyManagerImplTest() { keyManager = new KeyManagerImpl(db, executor, pluginConfig, @@ -114,12 +114,19 @@ public class KeyManagerImplTest extends BriarTestCase { } @Test - public void testGetStreamContextForContact() throws Exception { + public void testGetStreamContextForInactiveContact() throws Exception { assertEquals(null, keyManager.getStreamContext(inactiveContactId, transportId)); + } + + @Test + public void testGetStreamContextForUnknownTransport() throws Exception { assertEquals(null, keyManager - .getStreamContext(inactiveContactId, new TransportId("id"))); + .getStreamContext(contactId, unknownTransportId)); + } + @Test + public void testGetStreamContextForContact() throws Exception { context.checking(new Expectations() {{ oneOf(db).startTransaction(false); will(returnValue(txn)); @@ -135,10 +142,14 @@ public class KeyManagerImplTest extends BriarTestCase { } @Test - public void testGetStreamContextForTag() throws Exception { - assertEquals(null, keyManager - .getStreamContext(new TransportId("id"), tag)); + public void testGetStreamContextForTagAndUnknownTransport() + throws Exception { + assertEquals(null, + keyManager.getStreamContext(unknownTransportId, tag)); + } + @Test + public void testGetStreamContextForTag() throws Exception { context.checking(new Expectations() {{ oneOf(db).startTransaction(false); will(returnValue(txn)); diff --git a/briar-tests/src/org/briarproject/transport/TransportKeyManagerTest.java b/briar-tests/src/org/briarproject/transport/TransportKeyManagerImplTest.java similarity index 99% rename from briar-tests/src/org/briarproject/transport/TransportKeyManagerTest.java rename to briar-tests/src/org/briarproject/transport/TransportKeyManagerImplTest.java index d1bc128f69..0f039dfdac 100644 --- a/briar-tests/src/org/briarproject/transport/TransportKeyManagerTest.java +++ b/briar-tests/src/org/briarproject/transport/TransportKeyManagerImplTest.java @@ -13,7 +13,6 @@ import org.briarproject.api.system.Clock; import org.briarproject.api.transport.IncomingKeys; import org.briarproject.api.transport.OutgoingKeys; import org.briarproject.api.transport.StreamContext; -import org.briarproject.api.transport.TransportKeyManager; import org.briarproject.api.transport.TransportKeys; import org.hamcrest.Description; import org.jmock.Expectations; @@ -41,7 +40,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; -public class TransportKeyManagerTest extends BriarTestCase { +public class TransportKeyManagerImplTest extends BriarTestCase { private final TransportId transportId = new TransportId("id"); private final long maxLatency = 30 * 1000; // 30 seconds -- GitLab