diff --git a/bramble-android/build.gradle b/bramble-android/build.gradle index 56e36842b..87279ad62 100644 --- a/bramble-android/build.gradle +++ b/bramble-android/build.gradle @@ -41,12 +41,6 @@ dependencies { testImplementation "org.jmock:jmock-legacy:2.8.2" testImplementation "org.hamcrest:hamcrest-library:1.3" testImplementation "org.hamcrest:hamcrest-core:1.3" - - androidTestImplementation project(path: ':bramble-api', configuration: 'testOutput') - androidTestImplementation project(path: ':bramble-core', configuration: 'testOutput') - androidTestImplementation 'com.android.support.test:runner:1.0.2' - androidTestAnnotationProcessor 'com.google.dagger:dagger-compiler:2.0.2' - androidTestCompileOnly 'javax.annotation:jsr250-api:1.0' } project.afterEvaluate { diff --git a/bramble-android/src/androidTest/java/org/briarproject/bramble/test/ApplicationModule.java b/bramble-android/src/androidTest/java/org/briarproject/bramble/test/ApplicationModule.java deleted file mode 100644 index df642cf95..000000000 --- a/bramble-android/src/androidTest/java/org/briarproject/bramble/test/ApplicationModule.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.briarproject.bramble.test; - -import android.app.Application; - -import javax.inject.Singleton; - -import dagger.Module; -import dagger.Provides; - -import static android.support.test.InstrumentationRegistry.getTargetContext; - -@Module -class ApplicationModule { - - @Provides - @Singleton - Application provideApplication() { - return (Application) getTargetContext().getApplicationContext(); - } -} diff --git a/bramble-android/witness.gradle b/bramble-android/witness.gradle index a376a9ba4..8a32cdc0a 100644 --- a/bramble-android/witness.gradle +++ b/bramble-android/witness.gradle @@ -1,9 +1,6 @@ dependencyVerification { verify = [ 'cglib:cglib:3.2.0:cglib-3.2.0.jar:adb13bab79712ad6bdf1bd59f2a3918018a8016e722e8a357065afb9e6690861', - 'com.android.support.test:monitor:1.0.2:monitor-1.0.2.aar:38ef4fa98a32dc55550ff49bb36a583e178b3a9b830fcb8dcc27bfc4254bc2bc', - 'com.android.support.test:runner:1.0.2:runner-1.0.2.aar:f04b9ae342975ba1cb3e4a06e13426e3e6b8a73faa45acba604493d83c9a4f00', - 'com.android.support:support-annotations:27.1.1:support-annotations-27.1.1.jar:3365960206c3d2b09e845f555e7f88f8effc8d2f00b369e66c4be384029299cf', 'com.android.tools.analytics-library:protos:26.1.3:protos-26.1.3.jar:818c9f256f141d9dafec03a1aa2b94d240b2c140acfd7ee31a8b3e6c2b9479e3', 'com.android.tools.analytics-library:shared:26.1.3:shared-26.1.3.jar:7110706c7ada96c8b6f5ca80c478291bc7899d46277de2c48527e045442401a3', 'com.android.tools.analytics-library:tracker:26.1.3:tracker-26.1.3.jar:4155424bf2ce4872da83332579a1707252bc66cbd77c5144fdc4483d0f2e1418', diff --git a/bramble-java/build.gradle b/bramble-java/build.gradle index 4cb436718..eba3a7645 100644 --- a/bramble-java/build.gradle +++ b/bramble-java/build.gradle @@ -28,6 +28,8 @@ dependencies { testImplementation "org.jmock:jmock-legacy:2.8.2" testImplementation "org.hamcrest:hamcrest-library:1.3" testImplementation "org.hamcrest:hamcrest-core:1.3" + + testApt 'com.google.dagger:dagger-compiler:2.0.2' } project.afterEvaluate { diff --git a/bramble-java/src/main/java/org/briarproject/bramble/BrambleJavaModule.java b/bramble-java/src/main/java/org/briarproject/bramble/BrambleJavaModule.java new file mode 100644 index 000000000..c6f74d4ab --- /dev/null +++ b/bramble-java/src/main/java/org/briarproject/bramble/BrambleJavaModule.java @@ -0,0 +1,16 @@ +package org.briarproject.bramble; + +import org.briarproject.bramble.network.JavaNetworkModule; +import org.briarproject.bramble.plugin.tor.CircumventionModule; +import org.briarproject.bramble.system.JavaSystemModule; + +import dagger.Module; + +@Module(includes = { + JavaNetworkModule.class, + JavaSystemModule.class, + CircumventionModule.class +}) +public class BrambleJavaModule { + +} diff --git a/bramble-android/src/androidTest/java/org/briarproject/bramble/plugin/tor/BridgeTest.java b/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java similarity index 72% rename from bramble-android/src/androidTest/java/org/briarproject/bramble/plugin/tor/BridgeTest.java rename to bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java index 8800f8856..0d4262a1d 100644 --- a/bramble-android/src/androidTest/java/org/briarproject/bramble/plugin/tor/BridgeTest.java +++ b/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java @@ -1,8 +1,5 @@ package org.briarproject.bramble.plugin.tor; -import android.content.Context; -import android.support.test.runner.AndroidJUnit4; - import org.briarproject.bramble.api.event.EventBus; import org.briarproject.bramble.api.network.NetworkManager; import org.briarproject.bramble.api.plugin.BackoffFactory; @@ -10,32 +7,31 @@ import org.briarproject.bramble.api.plugin.duplex.DuplexPlugin; import org.briarproject.bramble.api.system.Clock; import org.briarproject.bramble.api.system.LocationUtils; import org.briarproject.bramble.api.system.ResourceProvider; -import org.briarproject.bramble.test.BrambleAndroidIntegrationTestComponent; +import org.briarproject.bramble.test.BrambleJavaIntegrationTestComponent; import org.briarproject.bramble.test.BrambleTestCase; -import org.briarproject.bramble.test.DaggerBrambleAndroidIntegrationTestComponent; +import org.briarproject.bramble.test.DaggerBrambleJavaIntegrationTestComponent; +import org.junit.AfterClass; import org.junit.Before; import org.junit.Test; -import org.junit.runner.RunWith; +import java.io.File; import java.util.List; import java.util.concurrent.Executor; import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.logging.Logger; import javax.inject.Inject; import javax.net.SocketFactory; -import static android.support.test.InstrumentationRegistry.getTargetContext; import static java.util.Collections.singletonList; import static java.util.concurrent.TimeUnit.SECONDS; +import static org.briarproject.bramble.test.TestUtils.deleteTestDirectory; +import static org.briarproject.bramble.test.TestUtils.getTestDirectory; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -@RunWith(AndroidJUnit4.class) public class BridgeTest extends BrambleTestCase { private final static long TIMEOUT = SECONDS.toMillis(23); @@ -56,22 +52,19 @@ public class BridgeTest extends BrambleTestCase { @Inject Clock clock; - private final Context appContext = - getTargetContext().getApplicationContext(); - private List bridges; - private AndroidTorPluginFactory factory; + private LinuxTorPluginFactory factory; + private final static File torDir = getTestDirectory(); private volatile String currentBridge = null; @Before public void setUp() { - BrambleAndroidIntegrationTestComponent component = - DaggerBrambleAndroidIntegrationTestComponent.builder().build(); + BrambleJavaIntegrationTestComponent component = + DaggerBrambleJavaIntegrationTestComponent.builder().build(); component.inject(this); Executor ioExecutor = Executors.newCachedThreadPool(); - ScheduledExecutorService scheduler = new ScheduledThreadPoolExecutor(1); LocationUtils locationUtils = () -> "US"; SocketFactory torSocketFactory = SocketFactory.getDefault(); @@ -92,9 +85,14 @@ public class BridgeTest extends BrambleTestCase { return singletonList(currentBridge); } }; - factory = new AndroidTorPluginFactory(ioExecutor, scheduler, appContext, - networkManager, locationUtils, eventBus, torSocketFactory, - backoffFactory, resourceProvider, bridgeProvider, clock); + factory = new LinuxTorPluginFactory(ioExecutor, networkManager, + locationUtils, eventBus, torSocketFactory, backoffFactory, + resourceProvider, bridgeProvider, clock, torDir); + } + + @AfterClass + public static void tearDown() { + deleteTestDirectory(torDir); } @Test @@ -108,7 +106,7 @@ public class BridgeTest extends BrambleTestCase { DuplexPlugin duplexPlugin = factory.createPlugin(new TorPluginCallBack()); assertNotNull(duplexPlugin); - AndroidTorPlugin plugin = (AndroidTorPlugin) duplexPlugin; + LinuxTorPlugin plugin = (LinuxTorPlugin) duplexPlugin; currentBridge = bridge; LOG.warning("Testing " + bridge); diff --git a/bramble-android/src/androidTest/java/org/briarproject/bramble/plugin/tor/TorPluginCallBack.java b/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/TorPluginCallBack.java similarity index 100% rename from bramble-android/src/androidTest/java/org/briarproject/bramble/plugin/tor/TorPluginCallBack.java rename to bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/TorPluginCallBack.java diff --git a/bramble-android/src/androidTest/java/org/briarproject/bramble/test/BrambleAndroidIntegrationTestComponent.java b/bramble-java/src/test/java/org/briarproject/bramble/test/BrambleJavaIntegrationTestComponent.java similarity index 75% rename from bramble-android/src/androidTest/java/org/briarproject/bramble/test/BrambleAndroidIntegrationTestComponent.java rename to bramble-java/src/test/java/org/briarproject/bramble/test/BrambleJavaIntegrationTestComponent.java index 2c7f7b971..99a98b144 100644 --- a/bramble-android/src/androidTest/java/org/briarproject/bramble/test/BrambleAndroidIntegrationTestComponent.java +++ b/bramble-java/src/test/java/org/briarproject/bramble/test/BrambleJavaIntegrationTestComponent.java @@ -1,6 +1,6 @@ package org.briarproject.bramble.test; -import org.briarproject.bramble.BrambleAndroidModule; +import org.briarproject.bramble.BrambleJavaModule; import org.briarproject.bramble.event.EventModule; import org.briarproject.bramble.plugin.PluginModule; import org.briarproject.bramble.plugin.tor.BridgeTest; @@ -12,14 +12,13 @@ import dagger.Component; @Singleton @Component(modules = { - BrambleAndroidModule.class, + BrambleJavaModule.class, TestLifecycleModule.class, - ApplicationModule.class, PluginModule.class, // needed for BackoffFactory EventModule.class, SystemModule.class, }) -public interface BrambleAndroidIntegrationTestComponent { +public interface BrambleJavaIntegrationTestComponent { void inject(BridgeTest init);