From 97d4c68f43b76c575484eb2297b11db8fc36a583 Mon Sep 17 00:00:00 2001
From: Torsten Grote <t@grobox.de>
Date: Thu, 8 Dec 2016 11:35:13 -0200
Subject: [PATCH] Move integration tests to their proper packages

---
 bramble-core/build.gradle                     | 11 +++++-
 .../bramble/sync}/SyncIntegrationTest.java    |  4 ++-
 .../sync}/SyncIntegrationTestComponent.java   |  4 +--
 briar-android-tests/.gitignore                |  5 ---
 briar-android-tests/build.gradle              | 27 ---------------
 .../src/main/AndroidManifest.xml              | 12 -------
 .../src/main/res/values/strings.xml           |  3 --
 briar-android/build.gradle                    |  2 --
 briar-core/build.gradle                       | 13 +++++--
 .../briar}/BriarIntegrationTest.java          | 21 ++++++------
 .../briar}/BriarIntegrationTestComponent.java |  5 ++-
 .../blog/BlogManagerIntegrationTest.java      | 21 +++++++-----
 .../briar/forum}/ForumManagerTest.java        | 16 +++++----
 .../IntroductionIntegrationTest.java          |  8 +++--
 .../IntroductionIntegrationTestComponent.java |  2 +-
 .../MessageSizeIntegrationTest.java           | 11 +++---
 .../MessageSizeIntegrationTestComponent.java  |  6 ++--
 .../SimplexMessagingIntegrationTest.java      |  6 ++--
 ...plexMessagingIntegrationTestComponent.java |  6 ++--
 .../GroupInvitationIntegrationTest.java       |  8 +++--
 .../PrivateGroupIntegrationTest.java          |  6 +++-
 .../PrivateGroupManagerIntegrationTest.java   | 13 ++++---
 .../sharing}/BlogSharingIntegrationTest.java  | 10 ++++--
 .../sharing}/ForumSharingIntegrationTest.java | 34 +++++++++++--------
 .../org/briarproject/TestDatabaseModule.java  |  0
 .../org/briarproject/TestLifecycleModule.java |  2 +-
 .../briarproject/TestPluginConfigModule.java  |  0
 .../briarproject/TestSeedProviderModule.java  |  0
 settings.gradle                               |  1 -
 29 files changed, 134 insertions(+), 123 deletions(-)
 rename {briar-android-tests/src/test/java/org/briarproject => bramble-core/src/test/java/org/briarproject/bramble/sync}/SyncIntegrationTest.java (98%)
 rename {briar-android-tests/src/test/java/org/briarproject => bramble-core/src/test/java/org/briarproject/bramble/sync}/SyncIntegrationTestComponent.java (81%)
 delete mode 100644 briar-android-tests/.gitignore
 delete mode 100644 briar-android-tests/build.gradle
 delete mode 100644 briar-android-tests/src/main/AndroidManifest.xml
 delete mode 100644 briar-android-tests/src/main/res/values/strings.xml
 rename {briar-android-tests/src/test/java/org/briarproject => briar-core/src/test/java/org/briarproject/briar}/BriarIntegrationTest.java (96%)
 rename {briar-android-tests/src/test/java/org/briarproject => briar-core/src/test/java/org/briarproject/briar}/BriarIntegrationTestComponent.java (96%)
 rename briar-android-tests/src/test/java/org/briarproject/BlogManagerTest.java => briar-core/src/test/java/org/briarproject/briar/blog/BlogManagerIntegrationTest.java (95%)
 rename {briar-android-tests/src/test/java/org/briarproject => briar-core/src/test/java/org/briarproject/briar/forum}/ForumManagerTest.java (94%)
 rename {briar-android-tests => briar-core}/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java (99%)
 rename {briar-android-tests => briar-core}/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTestComponent.java (97%)
 rename {briar-android-tests/src/test/java/org/briarproject => briar-core/src/test/java/org/briarproject/briar/messaging}/MessageSizeIntegrationTest.java (91%)
 rename {briar-android-tests/src/test/java/org/briarproject => briar-core/src/test/java/org/briarproject/briar/messaging}/MessageSizeIntegrationTestComponent.java (86%)
 rename {briar-android-tests/src/test/java/org/briarproject => briar-core/src/test/java/org/briarproject/briar/messaging}/SimplexMessagingIntegrationTest.java (98%)
 rename {briar-android-tests/src/test/java/org/briarproject => briar-core/src/test/java/org/briarproject/briar/messaging}/SimplexMessagingIntegrationTestComponent.java (92%)
 rename {briar-android-tests/src/test/java/org/briarproject => briar-core/src/test/java/org/briarproject/briar/privategroup}/GroupInvitationIntegrationTest.java (97%)
 rename {briar-android-tests/src/test/java/org/briarproject => briar-core/src/test/java/org/briarproject/briar/privategroup}/PrivateGroupIntegrationTest.java (96%)
 rename briar-android-tests/src/test/java/org/briarproject/PrivateGroupManagerTest.java => briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupManagerIntegrationTest.java (97%)
 rename {briar-android-tests/src/test/java/org/briarproject => briar-core/src/test/java/org/briarproject/briar/sharing}/BlogSharingIntegrationTest.java (97%)
 rename {briar-android-tests/src/test/java/org/briarproject => briar-core/src/test/java/org/briarproject/briar/sharing}/ForumSharingIntegrationTest.java (96%)
 rename {briar-android-tests/src/test/java => briar-tests/src}/org/briarproject/TestDatabaseModule.java (100%)
 rename {briar-android-tests/src/test/java => briar-tests/src}/org/briarproject/TestLifecycleModule.java (98%)
 rename {briar-android-tests/src/test/java => briar-tests/src}/org/briarproject/TestPluginConfigModule.java (100%)
 rename {briar-android-tests/src/test/java => briar-tests/src}/org/briarproject/TestSeedProviderModule.java (100%)

diff --git a/bramble-core/build.gradle b/bramble-core/build.gradle
index a281b0bd10..30ea06e20e 100644
--- a/bramble-core/build.gradle
+++ b/bramble-core/build.gradle
@@ -1,4 +1,8 @@
-apply plugin: 'java'
+plugins {
+	id "java"
+	id "net.ltgt.apt" version "0.9"
+	id "idea"
+}
 sourceCompatibility = 1.6
 targetCompatibility = 1.6
 
@@ -9,6 +13,11 @@ dependencies {
 	compile fileTree(dir: 'libs', include: '*.jar')
 	compile 'com.madgag.spongycastle:core:1.54.0.0'
 	compile 'com.h2database:h2:1.4.190'
+
+	testCompile project(':briar-tests') // TODO remove when moving unit tests (#778)
+	testCompile 'junit:junit:4.12'
+	testCompile 'com.google.dagger:dagger-compiler:2.8'
+	testApt 'com.google.dagger:dagger-compiler:2.8'
 }
 
 dependencyVerification {
diff --git a/briar-android-tests/src/test/java/org/briarproject/SyncIntegrationTest.java b/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTest.java
similarity index 98%
rename from briar-android-tests/src/test/java/org/briarproject/SyncIntegrationTest.java
rename to bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTest.java
index ef6ed72abb..f97d3fe32a 100644
--- a/briar-android-tests/src/test/java/org/briarproject/SyncIntegrationTest.java
+++ b/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTest.java
@@ -1,5 +1,7 @@
-package org.briarproject;
+package org.briarproject.bramble.sync;
 
+import org.briarproject.BriarTestCase;
+import org.briarproject.TestUtils;
 import org.briarproject.bramble.api.contact.ContactId;
 import org.briarproject.bramble.api.crypto.CryptoComponent;
 import org.briarproject.bramble.api.crypto.SecretKey;
diff --git a/briar-android-tests/src/test/java/org/briarproject/SyncIntegrationTestComponent.java b/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTestComponent.java
similarity index 81%
rename from briar-android-tests/src/test/java/org/briarproject/SyncIntegrationTestComponent.java
rename to bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTestComponent.java
index f20e66c8ee..456911d54f 100644
--- a/briar-android-tests/src/test/java/org/briarproject/SyncIntegrationTestComponent.java
+++ b/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTestComponent.java
@@ -1,7 +1,7 @@
-package org.briarproject;
+package org.briarproject.bramble.sync;
 
+import org.briarproject.TestSeedProviderModule;
 import org.briarproject.bramble.crypto.CryptoModule;
-import org.briarproject.bramble.sync.SyncModule;
 import org.briarproject.bramble.transport.TransportModule;
 
 import javax.inject.Singleton;
diff --git a/briar-android-tests/.gitignore b/briar-android-tests/.gitignore
deleted file mode 100644
index 216c35063e..0000000000
--- a/briar-android-tests/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-gen
-build
-local.properties
-.settings
diff --git a/briar-android-tests/build.gradle b/briar-android-tests/build.gradle
deleted file mode 100644
index 82a778db64..0000000000
--- a/briar-android-tests/build.gradle
+++ /dev/null
@@ -1,27 +0,0 @@
-apply plugin: 'com.android.library'
-apply plugin: 'com.neenbedankt.android-apt'
-
-android {
-    compileSdkVersion 23
-    buildToolsVersion "23.0.3"
-
-    defaultConfig {
-        minSdkVersion 14
-        proguardFiles getDefaultProguardFile('proguard-android.txt'), '../briar-android/proguard-rules.txt'
-        consumerProguardFiles getDefaultProguardFile('proguard-android.txt'), '../briar-android/proguard-rules.txt'
-    }
-
-    compileOptions {
-        sourceCompatibility JavaVersion.VERSION_1_7
-        targetCompatibility JavaVersion.VERSION_1_7
-    }
-}
-
-dependencies {
-    testCompile project(':briar-tests')
-    testCompile 'junit:junit:4.12'
-    testCompile 'net.jodah:concurrentunit:0.4.2'
-    testCompile 'com.android.support:appcompat-v7:23.2.1'
-    testApt 'com.google.dagger:dagger-compiler:2.0.2'
-    provided 'javax.annotation:jsr250-api:1.0'
-}
diff --git a/briar-android-tests/src/main/AndroidManifest.xml b/briar-android-tests/src/main/AndroidManifest.xml
deleted file mode 100644
index a152a552bc..0000000000
--- a/briar-android-tests/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<manifest package="org.briarproject"
-          xmlns:android="http://schemas.android.com/apk/res/android">
-
-	<application
-		android:allowBackup="true"
-		android:label="@string/app_name"
-		android:supportsRtl="true"
-		>
-
-	</application>
-
-</manifest>
diff --git a/briar-android-tests/src/main/res/values/strings.xml b/briar-android-tests/src/main/res/values/strings.xml
deleted file mode 100644
index 71b096466a..0000000000
--- a/briar-android-tests/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<resources>
-	<string name="app_name">briar-android-tests</string>
-</resources>
diff --git a/briar-android/build.gradle b/briar-android/build.gradle
index 48ee85bf19..ab370acc6b 100644
--- a/briar-android/build.gradle
+++ b/briar-android/build.gradle
@@ -37,8 +37,6 @@ dependencies {
 	compile 'uk.co.samuelwall:material-tap-target-prompt:1.3.0'
 
 	testCompile 'junit:junit:4.12'
-	testCompile 'net.jodah:concurrentunit:0.4.2'
-	testApt 'com.google.dagger:dagger-compiler:2.0.2'
 	testCompile project(path: ':briar-tests')
 	testCompile 'org.robolectric:robolectric:3.0'
 	testCompile 'org.mockito:mockito-core:1.10.19'
diff --git a/briar-core/build.gradle b/briar-core/build.gradle
index f4b3040f17..d75100870a 100644
--- a/briar-core/build.gradle
+++ b/briar-core/build.gradle
@@ -1,4 +1,8 @@
-apply plugin: 'java'
+plugins {
+	id "java"
+	id "net.ltgt.apt" version "0.9"
+	id "idea"
+}
 sourceCompatibility = 1.6
 targetCompatibility = 1.6
 
@@ -11,6 +15,12 @@ dependencies {
 	compile 'org.jdom:jdom2:2.0.6'
 	compile 'com.squareup.okhttp3:okhttp:3.3.1'
 	compile 'org.jsoup:jsoup:1.9.2'
+
+	testCompile project(':briar-tests') // TODO remove when moving unit tests (#778)
+	testCompile 'junit:junit:4.12'
+	testCompile 'net.jodah:concurrentunit:0.4.2'
+	testCompile 'com.google.dagger:dagger-compiler:2.8'
+	testApt 'com.google.dagger:dagger-compiler:2.8'
 }
 
 dependencyVerification {
@@ -24,4 +34,3 @@ dependencyVerification {
 			'org.slf4j:slf4j-api:e56288031f5e60652c06e7bb6e9fa410a61231ab54890f7b708fc6adc4107c5b'
 	]
 }
-
diff --git a/briar-android-tests/src/test/java/org/briarproject/BriarIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/BriarIntegrationTest.java
similarity index 96%
rename from briar-android-tests/src/test/java/org/briarproject/BriarIntegrationTest.java
rename to briar-core/src/test/java/org/briarproject/briar/BriarIntegrationTest.java
index 73efbf9ba1..a03603046a 100644
--- a/briar-android-tests/src/test/java/org/briarproject/BriarIntegrationTest.java
+++ b/briar-core/src/test/java/org/briarproject/briar/BriarIntegrationTest.java
@@ -1,9 +1,9 @@
-package org.briarproject;
-
-import android.support.annotation.CallSuper;
+package org.briarproject.briar;
 
 import net.jodah.concurrentunit.Waiter;
 
+import org.briarproject.BriarTestCase;
+import org.briarproject.TestUtils;
 import org.briarproject.bramble.api.client.ClientHelper;
 import org.briarproject.bramble.api.client.ContactGroupFactory;
 import org.briarproject.bramble.api.contact.Contact;
@@ -101,19 +101,19 @@ public abstract class BriarIntegrationTest<C extends BriarIntegrationTestCompone
 	@Inject
 	protected AuthorFactory authorFactory;
 	@Inject
-	ContactGroupFactory contactGroupFactory;
+	protected ContactGroupFactory contactGroupFactory;
 	@Inject
-	PrivateGroupFactory privateGroupFactory;
+	protected PrivateGroupFactory privateGroupFactory;
 	@Inject
-	GroupMessageFactory groupMessageFactory;
+	protected GroupMessageFactory groupMessageFactory;
 	@Inject
-	GroupInvitationFactory groupInvitationFactory;
+	protected GroupInvitationFactory groupInvitationFactory;
 	@Inject
-	BlogFactory blogFactory;
+	protected BlogFactory blogFactory;
 	@Inject
-	BlogPostFactory blogPostFactory;
+	protected BlogPostFactory blogPostFactory;
 	@Inject
-	ForumPostFactory forumPostFactory;
+	protected ForumPostFactory forumPostFactory;
 
 	// objects accessed from background threads need to be volatile
 	private volatile Waiter validationWaiter;
@@ -132,7 +132,6 @@ public abstract class BriarIntegrationTest<C extends BriarIntegrationTestCompone
 	protected File t2Dir = new File(testDir, AUTHOR2);
 
 	@Before
-	@CallSuper
 	public void setUp() throws Exception {
 		assertTrue(testDir.mkdirs());
 		createComponents();
diff --git a/briar-android-tests/src/test/java/org/briarproject/BriarIntegrationTestComponent.java b/briar-core/src/test/java/org/briarproject/briar/BriarIntegrationTestComponent.java
similarity index 96%
rename from briar-android-tests/src/test/java/org/briarproject/BriarIntegrationTestComponent.java
rename to briar-core/src/test/java/org/briarproject/briar/BriarIntegrationTestComponent.java
index ddca97605e..dc76b46426 100644
--- a/briar-android-tests/src/test/java/org/briarproject/BriarIntegrationTestComponent.java
+++ b/briar-core/src/test/java/org/briarproject/briar/BriarIntegrationTestComponent.java
@@ -1,5 +1,8 @@
-package org.briarproject;
+package org.briarproject.briar;
 
+import org.briarproject.TestDatabaseModule;
+import org.briarproject.TestPluginConfigModule;
+import org.briarproject.TestSeedProviderModule;
 import org.briarproject.bramble.api.client.ClientHelper;
 import org.briarproject.bramble.api.contact.ContactManager;
 import org.briarproject.bramble.api.db.DatabaseComponent;
diff --git a/briar-android-tests/src/test/java/org/briarproject/BlogManagerTest.java b/briar-core/src/test/java/org/briarproject/briar/blog/BlogManagerIntegrationTest.java
similarity index 95%
rename from briar-android-tests/src/test/java/org/briarproject/BlogManagerTest.java
rename to briar-core/src/test/java/org/briarproject/briar/blog/BlogManagerIntegrationTest.java
index 8226a135b1..85a2659d09 100644
--- a/briar-android-tests/src/test/java/org/briarproject/BlogManagerTest.java
+++ b/briar-core/src/test/java/org/briarproject/briar/blog/BlogManagerIntegrationTest.java
@@ -1,7 +1,11 @@
-package org.briarproject;
+package org.briarproject.briar.blog;
 
+import org.briarproject.TestDatabaseModule;
 import org.briarproject.bramble.api.db.DbException;
 import org.briarproject.bramble.api.sync.MessageId;
+import org.briarproject.briar.BriarIntegrationTest;
+import org.briarproject.briar.BriarIntegrationTestComponent;
+import org.briarproject.briar.DaggerBriarIntegrationTestComponent;
 import org.briarproject.briar.api.blog.Blog;
 import org.briarproject.briar.api.blog.BlogCommentHeader;
 import org.briarproject.briar.api.blog.BlogManager;
@@ -17,6 +21,7 @@ import java.util.Iterator;
 
 import static junit.framework.Assert.assertFalse;
 import static junit.framework.Assert.assertNotNull;
+import static org.briarproject.TestUtils.getRandomString;
 import static org.briarproject.briar.api.blog.MessageType.COMMENT;
 import static org.briarproject.briar.api.blog.MessageType.POST;
 import static org.briarproject.briar.api.blog.MessageType.WRAPPED_COMMENT;
@@ -24,7 +29,7 @@ import static org.briarproject.briar.api.blog.MessageType.WRAPPED_POST;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
-public class BlogManagerTest
+public class BlogManagerIntegrationTest
 		extends BriarIntegrationTest<BriarIntegrationTestComponent> {
 
 	private BlogManager blogManager0, blogManager1;
@@ -101,7 +106,7 @@ public class BlogManagerTest
 	@Test
 	public void testBlogPost() throws Exception {
 		// check that blog0 has no posts
-		final String body = TestUtils.getRandomString(42);
+		final String body = getRandomString(42);
 		Collection<BlogPostHeader> headers0 =
 				blogManager0.getPostHeaders(blog0.getId());
 		assertEquals(0, headers0.size());
@@ -139,7 +144,7 @@ public class BlogManagerTest
 	@Test
 	public void testBlogPostInWrongBlog() throws Exception {
 		// add a post to blog1
-		final String body = TestUtils.getRandomString(42);
+		final String body = getRandomString(42);
 		BlogPost p = blogPostFactory
 				.createBlogPost(blog1.getId(), clock.currentTimeMillis(), null,
 						author0, body);
@@ -178,7 +183,7 @@ public class BlogManagerTest
 	@Test
 	public void testBlogComment() throws Exception {
 		// add a post to blog0
-		final String body = TestUtils.getRandomString(42);
+		final String body = getRandomString(42);
 		BlogPost p = blogPostFactory
 				.createBlogPost(blog0.getId(), clock.currentTimeMillis(), null,
 						author0, body);
@@ -223,7 +228,7 @@ public class BlogManagerTest
 	@Test
 	public void testBlogCommentOnOwnPost() throws Exception {
 		// add a post to blog0
-		final String body = TestUtils.getRandomString(42);
+		final String body = getRandomString(42);
 		BlogPost p = blogPostFactory
 				.createBlogPost(blog0.getId(), clock.currentTimeMillis(), null,
 						author0, body);
@@ -259,7 +264,7 @@ public class BlogManagerTest
 	@Test
 	public void testCommentOnComment() throws Exception {
 		// add a post to blog0
-		final String body = TestUtils.getRandomString(42);
+		final String body = getRandomString(42);
 		BlogPost p = blogPostFactory
 				.createBlogPost(blog0.getId(), clock.currentTimeMillis(), null,
 						author0, body);
@@ -349,7 +354,7 @@ public class BlogManagerTest
 	@Test
 	public void testCommentOnOwnComment() throws Exception {
 		// add a post to blog0
-		final String body = TestUtils.getRandomString(42);
+		final String body = getRandomString(42);
 		BlogPost p = blogPostFactory
 				.createBlogPost(blog0.getId(), clock.currentTimeMillis(), null,
 						author0, body);
diff --git a/briar-android-tests/src/test/java/org/briarproject/ForumManagerTest.java b/briar-core/src/test/java/org/briarproject/briar/forum/ForumManagerTest.java
similarity index 94%
rename from briar-android-tests/src/test/java/org/briarproject/ForumManagerTest.java
rename to briar-core/src/test/java/org/briarproject/briar/forum/ForumManagerTest.java
index 72c8fc0e43..f4527089ca 100644
--- a/briar-android-tests/src/test/java/org/briarproject/ForumManagerTest.java
+++ b/briar-core/src/test/java/org/briarproject/briar/forum/ForumManagerTest.java
@@ -1,8 +1,10 @@
-package org.briarproject;
-
-import junit.framework.Assert;
+package org.briarproject.briar.forum;
 
+import org.briarproject.TestDatabaseModule;
 import org.briarproject.bramble.api.sync.GroupId;
+import org.briarproject.briar.BriarIntegrationTest;
+import org.briarproject.briar.BriarIntegrationTestComponent;
+import org.briarproject.briar.DaggerBriarIntegrationTestComponent;
 import org.briarproject.briar.api.forum.Forum;
 import org.briarproject.briar.api.forum.ForumManager;
 import org.briarproject.briar.api.forum.ForumPost;
@@ -15,10 +17,10 @@ import java.util.Collection;
 
 import javax.annotation.Nullable;
 
-import static junit.framework.Assert.assertEquals;
-import static junit.framework.Assert.assertNull;
-import static junit.framework.TestCase.assertFalse;
 import static org.briarproject.TestUtils.assertGroupCount;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
 public class ForumManagerTest
@@ -110,7 +112,7 @@ public class ForumManagerTest
 
 			boolean isPost1 = h.getId().equals(post1.getMessage().getId());
 			boolean isPost2 = h.getId().equals(post2.getMessage().getId());
-			Assert.assertTrue(isPost1 || isPost2);
+			assertTrue(isPost1 || isPost2);
 			if (isPost1) {
 				assertEquals(h.getTimestamp(), ms1);
 				assertEquals(body1, hBody);
diff --git a/briar-android-tests/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java
similarity index 99%
rename from briar-android-tests/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java
rename to briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java
index 099a510418..80cd0c1581 100644
--- a/briar-android-tests/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java
+++ b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java
@@ -2,7 +2,6 @@ package org.briarproject.briar.introduction;
 
 import net.jodah.concurrentunit.Waiter;
 
-import org.briarproject.BriarIntegrationTest;
 import org.briarproject.TestDatabaseModule;
 import org.briarproject.TestUtils;
 import org.briarproject.bramble.api.FormatException;
@@ -27,6 +26,7 @@ import org.briarproject.bramble.api.properties.TransportPropertyManager;
 import org.briarproject.bramble.api.sync.Group;
 import org.briarproject.bramble.api.sync.GroupId;
 import org.briarproject.bramble.api.sync.MessageId;
+import org.briarproject.briar.BriarIntegrationTest;
 import org.briarproject.briar.api.client.SessionId;
 import org.briarproject.briar.api.introduction.IntroductionManager;
 import org.briarproject.briar.api.introduction.IntroductionMessage;
@@ -454,7 +454,7 @@ public class IntroductionIntegrationTest
 		assertTrue(listener1.requestReceived);
 
 		// get SessionId
-		List<IntroductionMessage> list = new ArrayList<>(
+		List<IntroductionMessage> list = new ArrayList<IntroductionMessage>(
 				introductionManager1.getIntroductionMessages(contactId0From1));
 		assertEquals(2, list.size());
 		assertTrue(list.get(0) instanceof IntroductionRequest);
@@ -906,7 +906,9 @@ public class IntroductionIntegrationTest
 											time);
 						}
 					}
-				} catch (DbException | IOException exception) {
+				} catch (DbException exception) {
+					eventWaiter.rethrow(exception);
+				} catch (FormatException exception) {
 					eventWaiter.rethrow(exception);
 				} finally {
 					eventWaiter.resume();
diff --git a/briar-android-tests/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTestComponent.java b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTestComponent.java
similarity index 97%
rename from briar-android-tests/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTestComponent.java
rename to briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTestComponent.java
index 1f6dcb7fd8..ba3dcae6a1 100644
--- a/briar-android-tests/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTestComponent.java
+++ b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTestComponent.java
@@ -1,6 +1,5 @@
 package org.briarproject.briar.introduction;
 
-import org.briarproject.BriarIntegrationTestComponent;
 import org.briarproject.TestDatabaseModule;
 import org.briarproject.TestPluginConfigModule;
 import org.briarproject.TestSeedProviderModule;
@@ -16,6 +15,7 @@ import org.briarproject.bramble.properties.PropertiesModule;
 import org.briarproject.bramble.sync.SyncModule;
 import org.briarproject.bramble.system.SystemModule;
 import org.briarproject.bramble.transport.TransportModule;
+import org.briarproject.briar.BriarIntegrationTestComponent;
 import org.briarproject.briar.blog.BlogModule;
 import org.briarproject.briar.client.BriarClientModule;
 import org.briarproject.briar.forum.ForumModule;
diff --git a/briar-android-tests/src/test/java/org/briarproject/MessageSizeIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java
similarity index 91%
rename from briar-android-tests/src/test/java/org/briarproject/MessageSizeIntegrationTest.java
rename to briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java
index 78a57af54c..348e829e4a 100644
--- a/briar-android-tests/src/test/java/org/briarproject/MessageSizeIntegrationTest.java
+++ b/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java
@@ -1,5 +1,7 @@
-package org.briarproject;
+package org.briarproject.briar.messaging;
 
+import org.briarproject.BriarTestCase;
+import org.briarproject.TestUtils;
 import org.briarproject.bramble.api.UniqueId;
 import org.briarproject.bramble.api.crypto.CryptoComponent;
 import org.briarproject.bramble.api.crypto.PrivateKey;
@@ -18,6 +20,7 @@ import org.junit.Test;
 
 import javax.inject.Inject;
 
+import static org.briarproject.TestUtils.getRandomId;
 import static org.briarproject.bramble.api.identity.AuthorConstants.MAX_AUTHOR_NAME_LENGTH;
 import static org.briarproject.bramble.api.identity.AuthorConstants.MAX_PUBLIC_KEY_LENGTH;
 import static org.briarproject.bramble.api.sync.SyncConstants.MAX_PACKET_PAYLOAD_LENGTH;
@@ -46,7 +49,7 @@ public class MessageSizeIntegrationTest extends BriarTestCase {
 	@Test
 	public void testPrivateMessageFitsIntoPacket() throws Exception {
 		// Create a maximum-length private message
-		GroupId groupId = new GroupId(TestUtils.getRandomId());
+		GroupId groupId = new GroupId(getRandomId());
 		long timestamp = Long.MAX_VALUE;
 		String body =
 				StringUtils.fromUtf8(new byte[MAX_PRIVATE_MESSAGE_BODY_LENGTH]);
@@ -70,9 +73,9 @@ public class MessageSizeIntegrationTest extends BriarTestCase {
 				.createLocalAuthor(authorName, authorPublic,
 						privateKey.getEncoded());
 		// Create a maximum-length forum post
-		GroupId groupId = new GroupId(TestUtils.getRandomId());
+		GroupId groupId = new GroupId(getRandomId());
 		long timestamp = Long.MAX_VALUE;
-		MessageId parent = new MessageId(TestUtils.getRandomId());
+		MessageId parent = new MessageId(getRandomId());
 		String body = TestUtils.getRandomString(MAX_FORUM_POST_BODY_LENGTH);
 		ForumPost post = forumPostFactory.createPost(groupId,
 				timestamp, parent, author, body);
diff --git a/briar-android-tests/src/test/java/org/briarproject/MessageSizeIntegrationTestComponent.java b/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTestComponent.java
similarity index 86%
rename from briar-android-tests/src/test/java/org/briarproject/MessageSizeIntegrationTestComponent.java
rename to briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTestComponent.java
index 5921a61410..37ede53702 100644
--- a/briar-android-tests/src/test/java/org/briarproject/MessageSizeIntegrationTestComponent.java
+++ b/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTestComponent.java
@@ -1,5 +1,8 @@
-package org.briarproject;
+package org.briarproject.briar.messaging;
 
+import org.briarproject.TestDatabaseModule;
+import org.briarproject.TestLifecycleModule;
+import org.briarproject.TestSeedProviderModule;
 import org.briarproject.bramble.client.ClientModule;
 import org.briarproject.bramble.crypto.CryptoModule;
 import org.briarproject.bramble.data.DataModule;
@@ -10,7 +13,6 @@ import org.briarproject.bramble.sync.SyncModule;
 import org.briarproject.bramble.system.SystemModule;
 import org.briarproject.briar.client.BriarClientModule;
 import org.briarproject.briar.forum.ForumModule;
-import org.briarproject.briar.messaging.MessagingModule;
 
 import javax.inject.Singleton;
 
diff --git a/briar-android-tests/src/test/java/org/briarproject/SimplexMessagingIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java
similarity index 98%
rename from briar-android-tests/src/test/java/org/briarproject/SimplexMessagingIntegrationTest.java
rename to briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java
index 68515bd0fd..098fdb11b7 100644
--- a/briar-android-tests/src/test/java/org/briarproject/SimplexMessagingIntegrationTest.java
+++ b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java
@@ -1,5 +1,8 @@
-package org.briarproject;
+package org.briarproject.briar.messaging;
 
+import org.briarproject.BriarTestCase;
+import org.briarproject.TestDatabaseModule;
+import org.briarproject.TestUtils;
 import org.briarproject.bramble.api.contact.ContactId;
 import org.briarproject.bramble.api.contact.ContactManager;
 import org.briarproject.bramble.api.crypto.SecretKey;
@@ -23,7 +26,6 @@ import org.briarproject.bramble.system.SystemModule;
 import org.briarproject.briar.api.messaging.MessagingManager;
 import org.briarproject.briar.api.messaging.PrivateMessage;
 import org.briarproject.briar.api.messaging.PrivateMessageFactory;
-import org.briarproject.briar.messaging.MessagingModule;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/briar-android-tests/src/test/java/org/briarproject/SimplexMessagingIntegrationTestComponent.java b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTestComponent.java
similarity index 92%
rename from briar-android-tests/src/test/java/org/briarproject/SimplexMessagingIntegrationTestComponent.java
rename to briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTestComponent.java
index 91536eccad..566c978306 100644
--- a/briar-android-tests/src/test/java/org/briarproject/SimplexMessagingIntegrationTestComponent.java
+++ b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTestComponent.java
@@ -1,5 +1,8 @@
-package org.briarproject;
+package org.briarproject.briar.messaging;
 
+import org.briarproject.TestDatabaseModule;
+import org.briarproject.TestPluginConfigModule;
+import org.briarproject.TestSeedProviderModule;
 import org.briarproject.bramble.api.contact.ContactManager;
 import org.briarproject.bramble.api.event.EventBus;
 import org.briarproject.bramble.api.identity.IdentityManager;
@@ -22,7 +25,6 @@ import org.briarproject.bramble.transport.TransportModule;
 import org.briarproject.briar.api.messaging.MessagingManager;
 import org.briarproject.briar.api.messaging.PrivateMessageFactory;
 import org.briarproject.briar.client.BriarClientModule;
-import org.briarproject.briar.messaging.MessagingModule;
 
 import javax.inject.Singleton;
 
diff --git a/briar-android-tests/src/test/java/org/briarproject/GroupInvitationIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/privategroup/GroupInvitationIntegrationTest.java
similarity index 97%
rename from briar-android-tests/src/test/java/org/briarproject/GroupInvitationIntegrationTest.java
rename to briar-core/src/test/java/org/briarproject/briar/privategroup/GroupInvitationIntegrationTest.java
index 7c350c6301..249d46fad6 100644
--- a/briar-android-tests/src/test/java/org/briarproject/GroupInvitationIntegrationTest.java
+++ b/briar-core/src/test/java/org/briarproject/briar/privategroup/GroupInvitationIntegrationTest.java
@@ -1,7 +1,11 @@
-package org.briarproject;
+package org.briarproject.briar.privategroup;
 
+import org.briarproject.TestDatabaseModule;
 import org.briarproject.bramble.api.db.DbException;
 import org.briarproject.bramble.api.sync.Group;
+import org.briarproject.briar.BriarIntegrationTest;
+import org.briarproject.briar.BriarIntegrationTestComponent;
+import org.briarproject.briar.DaggerBriarIntegrationTestComponent;
 import org.briarproject.briar.api.client.ProtocolStateException;
 import org.briarproject.briar.api.privategroup.GroupMessage;
 import org.briarproject.briar.api.privategroup.PrivateGroup;
@@ -18,11 +22,11 @@ import java.util.Collection;
 
 import javax.annotation.Nullable;
 
-import static junit.framework.TestCase.fail;
 import static org.briarproject.TestUtils.assertGroupCount;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 public class GroupInvitationIntegrationTest
 		extends BriarIntegrationTest<BriarIntegrationTestComponent> {
diff --git a/briar-android-tests/src/test/java/org/briarproject/PrivateGroupIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupIntegrationTest.java
similarity index 96%
rename from briar-android-tests/src/test/java/org/briarproject/PrivateGroupIntegrationTest.java
rename to briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupIntegrationTest.java
index 7e435710e6..19fb33f613 100644
--- a/briar-android-tests/src/test/java/org/briarproject/PrivateGroupIntegrationTest.java
+++ b/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupIntegrationTest.java
@@ -1,11 +1,15 @@
-package org.briarproject;
+package org.briarproject.briar.privategroup;
 
+import org.briarproject.TestDatabaseModule;
 import org.briarproject.bramble.api.contact.Contact;
 import org.briarproject.bramble.api.contact.ContactId;
 import org.briarproject.bramble.api.db.DbException;
 import org.briarproject.bramble.api.identity.AuthorId;
 import org.briarproject.bramble.api.sync.GroupId;
 import org.briarproject.bramble.api.sync.MessageId;
+import org.briarproject.briar.BriarIntegrationTest;
+import org.briarproject.briar.BriarIntegrationTestComponent;
+import org.briarproject.briar.DaggerBriarIntegrationTestComponent;
 import org.briarproject.briar.api.privategroup.GroupMember;
 import org.briarproject.briar.api.privategroup.GroupMessage;
 import org.briarproject.briar.api.privategroup.GroupMessageHeader;
diff --git a/briar-android-tests/src/test/java/org/briarproject/PrivateGroupManagerTest.java b/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupManagerIntegrationTest.java
similarity index 97%
rename from briar-android-tests/src/test/java/org/briarproject/PrivateGroupManagerTest.java
rename to briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupManagerIntegrationTest.java
index 8b00a35f52..9646d1cf11 100644
--- a/briar-android-tests/src/test/java/org/briarproject/PrivateGroupManagerTest.java
+++ b/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupManagerIntegrationTest.java
@@ -1,10 +1,14 @@
-package org.briarproject;
+package org.briarproject.briar.privategroup;
 
+import org.briarproject.TestDatabaseModule;
 import org.briarproject.bramble.api.contact.Contact;
 import org.briarproject.bramble.api.data.BdfList;
 import org.briarproject.bramble.api.db.Transaction;
 import org.briarproject.bramble.api.sync.GroupId;
 import org.briarproject.bramble.api.sync.MessageId;
+import org.briarproject.briar.BriarIntegrationTest;
+import org.briarproject.briar.BriarIntegrationTestComponent;
+import org.briarproject.briar.DaggerBriarIntegrationTestComponent;
 import org.briarproject.briar.api.client.MessageTracker.GroupCount;
 import org.briarproject.briar.api.privategroup.GroupMember;
 import org.briarproject.briar.api.privategroup.GroupMessage;
@@ -18,6 +22,7 @@ import org.junit.Test;
 import java.util.Collection;
 
 import static org.briarproject.TestUtils.getRandomBytes;
+import static org.briarproject.TestUtils.getRandomId;
 import static org.briarproject.bramble.api.identity.Author.Status.VERIFIED;
 import static org.briarproject.bramble.api.sync.Group.Visibility.SHARED;
 import static org.briarproject.briar.api.privategroup.Visibility.INVISIBLE;
@@ -29,7 +34,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-public class PrivateGroupManagerTest
+public class PrivateGroupManagerIntegrationTest
 		extends BriarIntegrationTest<BriarIntegrationTestComponent> {
 
 	private PrivateGroup privateGroup0;
@@ -127,7 +132,7 @@ public class PrivateGroupManagerTest
 		assertEquals(2, groupManager1.getHeaders(groupId0).size());
 
 		// create and add test message with random previousMsgId
-		MessageId previousMsgId = new MessageId(TestUtils.getRandomId());
+		MessageId previousMsgId = new MessageId(getRandomId());
 		msg = groupMessageFactory
 				.createGroupMessage(groupId0, clock.currentTimeMillis(), null,
 						author0, "test", previousMsgId);
@@ -158,7 +163,7 @@ public class PrivateGroupManagerTest
 		addGroup();
 
 		// create and add test message with random parentMsgId
-		MessageId parentMsgId = new MessageId(TestUtils.getRandomId());
+		MessageId parentMsgId = new MessageId(getRandomId());
 		MessageId previousMsgId = groupManager0.getPreviousMsgId(groupId0);
 		GroupMessage msg = groupMessageFactory
 				.createGroupMessage(groupId0, clock.currentTimeMillis(),
diff --git a/briar-android-tests/src/test/java/org/briarproject/BlogSharingIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java
similarity index 97%
rename from briar-android-tests/src/test/java/org/briarproject/BlogSharingIntegrationTest.java
rename to briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java
index 4e010620f4..40a225142c 100644
--- a/briar-android-tests/src/test/java/org/briarproject/BlogSharingIntegrationTest.java
+++ b/briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java
@@ -1,7 +1,8 @@
-package org.briarproject;
+package org.briarproject.briar.sharing;
 
 import net.jodah.concurrentunit.Waiter;
 
+import org.briarproject.TestDatabaseModule;
 import org.briarproject.bramble.api.contact.Contact;
 import org.briarproject.bramble.api.db.DbException;
 import org.briarproject.bramble.api.db.NoSuchGroupException;
@@ -9,6 +10,9 @@ import org.briarproject.bramble.api.event.Event;
 import org.briarproject.bramble.api.event.EventListener;
 import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
 import org.briarproject.bramble.api.sync.GroupId;
+import org.briarproject.briar.BriarIntegrationTest;
+import org.briarproject.briar.BriarIntegrationTestComponent;
+import org.briarproject.briar.DaggerBriarIntegrationTestComponent;
 import org.briarproject.briar.api.blog.Blog;
 import org.briarproject.briar.api.blog.BlogInvitationRequest;
 import org.briarproject.briar.api.blog.BlogInvitationResponse;
@@ -147,7 +151,7 @@ public class BlogSharingIntegrationTest
 
 		// invitee has one invitation message from sharer
 		List<InvitationMessage> list =
-				new ArrayList<>(blogSharingManager1
+				new ArrayList<InvitationMessage>(blogSharingManager1
 						.getInvitationMessages(contactId0From1));
 		assertEquals(2, list.size());
 		// check other things are alright with the message
@@ -210,7 +214,7 @@ public class BlogSharingIntegrationTest
 
 		// invitee has one invitation message from sharer and one response
 		List<InvitationMessage> list =
-				new ArrayList<>(blogSharingManager1
+				new ArrayList<InvitationMessage>(blogSharingManager1
 						.getInvitationMessages(contactId0From1));
 		assertEquals(2, list.size());
 		// check things are alright with the  message
diff --git a/briar-android-tests/src/test/java/org/briarproject/ForumSharingIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/sharing/ForumSharingIntegrationTest.java
similarity index 96%
rename from briar-android-tests/src/test/java/org/briarproject/ForumSharingIntegrationTest.java
rename to briar-core/src/test/java/org/briarproject/briar/sharing/ForumSharingIntegrationTest.java
index b701f77f82..e5845d7cce 100644
--- a/briar-android-tests/src/test/java/org/briarproject/ForumSharingIntegrationTest.java
+++ b/briar-core/src/test/java/org/briarproject/briar/sharing/ForumSharingIntegrationTest.java
@@ -1,7 +1,8 @@
-package org.briarproject;
+package org.briarproject.briar.sharing;
 
 import net.jodah.concurrentunit.Waiter;
 
+import org.briarproject.TestDatabaseModule;
 import org.briarproject.bramble.api.Bytes;
 import org.briarproject.bramble.api.contact.Contact;
 import org.briarproject.bramble.api.data.BdfList;
@@ -12,6 +13,9 @@ import org.briarproject.bramble.api.event.Event;
 import org.briarproject.bramble.api.event.EventListener;
 import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
 import org.briarproject.bramble.api.sync.Group;
+import org.briarproject.briar.BriarIntegrationTest;
+import org.briarproject.briar.BriarIntegrationTestComponent;
+import org.briarproject.briar.DaggerBriarIntegrationTestComponent;
 import org.briarproject.briar.api.client.MessageQueueManager;
 import org.briarproject.briar.api.client.SessionId;
 import org.briarproject.briar.api.forum.Forum;
@@ -35,6 +39,8 @@ import java.util.Collection;
 import java.util.List;
 
 import static junit.framework.Assert.assertNotNull;
+import static org.briarproject.TestUtils.getRandomBytes;
+import static org.briarproject.TestUtils.getRandomString;
 import static org.briarproject.briar.api.forum.ForumConstants.FORUM_SALT_LENGTH;
 import static org.briarproject.briar.api.forum.ForumSharingManager.CLIENT_ID;
 import static org.briarproject.briar.api.sharing.SharingConstants.SHARE_MSG_TYPE_INVITATION;
@@ -127,7 +133,7 @@ public class ForumSharingIntegrationTest
 
 		// invitee has one invitation message from sharer
 		List<InvitationMessage> list =
-				new ArrayList<>(forumSharingManager1
+				new ArrayList<InvitationMessage>(forumSharingManager1
 						.getInvitationMessages(contactId0From1));
 		assertEquals(2, list.size());
 		// check other things are alright with the forum message
@@ -185,7 +191,7 @@ public class ForumSharingIntegrationTest
 
 		// invitee has one invitation message from sharer and one response
 		List<InvitationMessage> list =
-				new ArrayList<>(forumSharingManager1
+				new ArrayList<InvitationMessage>(forumSharingManager1
 						.getInvitationMessages(contactId0From1));
 		assertEquals(2, list.size());
 		// check things are alright with the forum message
@@ -395,7 +401,7 @@ public class ForumSharingIntegrationTest
 		listener1.requestReceived = false;
 
 		// get SessionId from invitation
-		List<InvitationMessage> list = new ArrayList<>(
+		List<InvitationMessage> list = new ArrayList<InvitationMessage>(
 				forumSharingManager1
 						.getInvitationMessages(contactId0From1));
 		assertEquals(2, list.size());
@@ -408,11 +414,9 @@ public class ForumSharingIntegrationTest
 		Contact c1 = contactManager0.getContact(contactId1From0);
 		Group group = contactGroupFactory.createContactGroup(CLIENT_ID, c1);
 		long time = clock.currentTimeMillis();
-		BdfList bodyList = BdfList.of(SHARE_MSG_TYPE_INVITATION,
-				sessionId.getBytes(),
-				TestUtils.getRandomString(42),
-				TestUtils.getRandomBytes(FORUM_SALT_LENGTH)
-		);
+		BdfList bodyList =
+				BdfList.of(SHARE_MSG_TYPE_INVITATION, sessionId.getBytes(),
+						getRandomString(42), getRandomBytes(FORUM_SALT_LENGTH));
 		byte[] body = clientHelper.toByteArray(bodyList);
 
 		// add the message to the queue
@@ -561,7 +565,7 @@ public class ForumSharingIntegrationTest
 				forumSharingManager0.getSharedWith(forum0.getId()).size());
 
 		// remember SessionId from invitation
-		List<InvitationMessage> list = new ArrayList<>(
+		List<InvitationMessage> list = new ArrayList<InvitationMessage>(
 				forumSharingManager1
 						.getInvitationMessages(contactId0From1));
 		assertEquals(2, list.size());
@@ -589,8 +593,8 @@ public class ForumSharingIntegrationTest
 		// construct a new message re-using the old SessionId
 		BdfList bodyList = BdfList.of(SHARE_MSG_TYPE_INVITATION,
 				sessionId.getBytes(),
-				TestUtils.getRandomString(42),
-				TestUtils.getRandomBytes(FORUM_SALT_LENGTH)
+				getRandomString(42),
+				getRandomBytes(FORUM_SALT_LENGTH)
 		);
 		byte[] body = clientHelper.toByteArray(bodyList);
 
@@ -692,7 +696,7 @@ public class ForumSharingIntegrationTest
 
 		// sharer posts into the forum
 		long time = clock.currentTimeMillis();
-		String body = TestUtils.getRandomString(42);
+		String body = getRandomString(42);
 		ForumPost p = forumPostFactory
 				.createPost(forum0.getId(), time, null, author0,
 						body);
@@ -711,7 +715,7 @@ public class ForumSharingIntegrationTest
 
 		// now invitee creates a post
 		time = clock.currentTimeMillis();
-		body = TestUtils.getRandomString(42);
+		body = getRandomString(42);
 		p = forumPostFactory
 				.createPost(forum0.getId(), time, null, author1,
 						body);
@@ -753,7 +757,7 @@ public class ForumSharingIntegrationTest
 
 		// now invitee creates a post
 		time = clock.currentTimeMillis();
-		body = TestUtils.getRandomString(42);
+		body = getRandomString(42);
 		p = forumPostFactory
 				.createPost(forum0.getId(), time, null, author1,
 						body);
diff --git a/briar-android-tests/src/test/java/org/briarproject/TestDatabaseModule.java b/briar-tests/src/org/briarproject/TestDatabaseModule.java
similarity index 100%
rename from briar-android-tests/src/test/java/org/briarproject/TestDatabaseModule.java
rename to briar-tests/src/org/briarproject/TestDatabaseModule.java
diff --git a/briar-android-tests/src/test/java/org/briarproject/TestLifecycleModule.java b/briar-tests/src/org/briarproject/TestLifecycleModule.java
similarity index 98%
rename from briar-android-tests/src/test/java/org/briarproject/TestLifecycleModule.java
rename to briar-tests/src/org/briarproject/TestLifecycleModule.java
index 16407ea418..8f8c9030b2 100644
--- a/briar-android-tests/src/test/java/org/briarproject/TestLifecycleModule.java
+++ b/briar-tests/src/org/briarproject/TestLifecycleModule.java
@@ -18,7 +18,7 @@ import dagger.Module;
 import dagger.Provides;
 
 @Module
-class TestLifecycleModule {
+public class TestLifecycleModule {
 
 	@Provides
 	LifecycleManager provideLifecycleManager() {
diff --git a/briar-android-tests/src/test/java/org/briarproject/TestPluginConfigModule.java b/briar-tests/src/org/briarproject/TestPluginConfigModule.java
similarity index 100%
rename from briar-android-tests/src/test/java/org/briarproject/TestPluginConfigModule.java
rename to briar-tests/src/org/briarproject/TestPluginConfigModule.java
diff --git a/briar-android-tests/src/test/java/org/briarproject/TestSeedProviderModule.java b/briar-tests/src/org/briarproject/TestSeedProviderModule.java
similarity index 100%
rename from briar-android-tests/src/test/java/org/briarproject/TestSeedProviderModule.java
rename to briar-tests/src/org/briarproject/TestSeedProviderModule.java
diff --git a/settings.gradle b/settings.gradle
index c6bb2b2712..d66211a06f 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -5,4 +5,3 @@ include ':briar-api'
 include ':briar-core'
 include ':briar-tests'
 include ':briar-android'
-include ':briar-android-tests'
-- 
GitLab