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