From 7bf86d9c5337e82a17319e7fcebbc020396ac15e Mon Sep 17 00:00:00 2001 From: akwizgran Date: Fri, 31 May 2019 12:25:48 +0100 Subject: [PATCH 1/5] Use real executors in integration tests. --- ...ule.java => TestDatabaseConfigModule.java} | 17 +--- .../bramble/test/TestLifecycleModule.java | 94 ------------------- .../bramble/plugin/tor/BridgeTest.java | 37 +++++++- .../BrambleJavaIntegrationTestComponent.java | 60 +++++++++++- .../blog/BlogManagerIntegrationTest.java | 12 ++- .../feed/FeedManagerIntegrationTest.java | 10 +- .../FeedManagerIntegrationTestComponent.java | 14 ++- .../briar/forum/ForumManagerTest.java | 12 ++- .../IntroductionIntegrationTest.java | 12 ++- .../IntroductionIntegrationTestComponent.java | 6 +- .../messaging/MessageSizeIntegrationTest.java | 6 +- .../MessageSizeIntegrationTestComponent.java | 14 ++- .../SimplexMessagingIntegrationTest.java | 12 ++- ...plexMessagingIntegrationTestComponent.java | 14 ++- .../PrivateGroupIntegrationTest.java | 12 ++- .../PrivateGroupManagerIntegrationTest.java | 12 ++- .../GroupInvitationIntegrationTest.java | 12 ++- .../sharing/BlogSharingIntegrationTest.java | 12 ++- .../sharing/ForumSharingIntegrationTest.java | 12 ++- .../briar/test/BriarIntegrationTest.java | 2 + .../test/BriarIntegrationTestComponent.java | 8 +- 21 files changed, 219 insertions(+), 171 deletions(-) rename bramble-core/src/test/java/org/briarproject/bramble/test/{TestDatabaseModule.java => TestDatabaseConfigModule.java} (50%) delete mode 100644 bramble-core/src/test/java/org/briarproject/bramble/test/TestLifecycleModule.java diff --git a/bramble-core/src/test/java/org/briarproject/bramble/test/TestDatabaseModule.java b/bramble-core/src/test/java/org/briarproject/bramble/test/TestDatabaseConfigModule.java similarity index 50% rename from bramble-core/src/test/java/org/briarproject/bramble/test/TestDatabaseModule.java rename to bramble-core/src/test/java/org/briarproject/bramble/test/TestDatabaseConfigModule.java index f03c8108f..d6189812c 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/test/TestDatabaseModule.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/test/TestDatabaseConfigModule.java @@ -1,26 +1,22 @@ package org.briarproject.bramble.test; import org.briarproject.bramble.api.db.DatabaseConfig; -import org.briarproject.bramble.api.db.DatabaseExecutor; import java.io.File; -import java.util.concurrent.Executor; - -import javax.inject.Singleton; import dagger.Module; import dagger.Provides; @Module -public class TestDatabaseModule { +public class TestDatabaseConfigModule { private final DatabaseConfig config; - public TestDatabaseModule() { + public TestDatabaseConfigModule() { this(new File(".")); } - public TestDatabaseModule(File dir) { + public TestDatabaseConfigModule(File dir) { config = new TestDatabaseConfig(dir); } @@ -28,11 +24,4 @@ public class TestDatabaseModule { DatabaseConfig provideDatabaseConfig() { return config; } - - @Provides - @Singleton - @DatabaseExecutor - Executor provideDatabaseExecutor() { - return new ImmediateExecutor(); - } } diff --git a/bramble-core/src/test/java/org/briarproject/bramble/test/TestLifecycleModule.java b/bramble-core/src/test/java/org/briarproject/bramble/test/TestLifecycleModule.java deleted file mode 100644 index 70430a94c..000000000 --- a/bramble-core/src/test/java/org/briarproject/bramble/test/TestLifecycleModule.java +++ /dev/null @@ -1,94 +0,0 @@ -package org.briarproject.bramble.test; - -import org.briarproject.bramble.api.crypto.SecretKey; -import org.briarproject.bramble.api.lifecycle.IoExecutor; -import org.briarproject.bramble.api.lifecycle.LifecycleManager; -import org.briarproject.bramble.api.lifecycle.Service; -import org.briarproject.bramble.api.lifecycle.ShutdownManager; -import org.briarproject.bramble.api.nullsafety.NotNullByDefault; - -import java.util.concurrent.Executor; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; - -import javax.inject.Singleton; - -import dagger.Module; -import dagger.Provides; - -import static org.briarproject.bramble.api.lifecycle.LifecycleManager.LifecycleState.RUNNING; - -@Module -public class TestLifecycleModule { - - @Provides - LifecycleManager provideLifecycleManager() { - @NotNullByDefault - LifecycleManager lifecycleManager = new LifecycleManager() { - - @Override - public void registerService(Service s) { - } - - @Override - public void registerOpenDatabaseHook(OpenDatabaseHook hook) { - } - - @Override - public void registerForShutdown(ExecutorService e) { - } - - @Override - public StartResult startServices(SecretKey dbKey) { - return StartResult.SUCCESS; - } - - @Override - public void stopServices() { - } - - @Override - public void waitForDatabase() { - } - - @Override - public void waitForStartup() { - } - - @Override - public void waitForShutdown() { - } - - @Override - public LifecycleState getLifecycleState() { - return RUNNING; - } - }; - return lifecycleManager; - } - - @Provides - ShutdownManager provideShutdownManager() { - @NotNullByDefault - ShutdownManager shutdownManager = new ShutdownManager() { - - @Override - public int addShutdownHook(Runnable hook) { - return 0; - } - - @Override - public boolean removeShutdownHook(int handle) { - return true; - } - }; - return shutdownManager; - } - - @Provides - @IoExecutor - @Singleton - Executor provideIoExecutor() { - return Executors.newCachedThreadPool(); - } -} diff --git a/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java b/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java index 72b473e5f..70db1fa33 100644 --- a/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java +++ b/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java @@ -2,16 +2,28 @@ package org.briarproject.bramble.plugin.tor; import org.briarproject.bramble.api.battery.BatteryManager; import org.briarproject.bramble.api.event.EventBus; +import org.briarproject.bramble.api.lifecycle.IoExecutor; import org.briarproject.bramble.api.network.NetworkManager; import org.briarproject.bramble.api.plugin.BackoffFactory; 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.contact.ContactModule; +import org.briarproject.bramble.crypto.CryptoExecutorModule; +import org.briarproject.bramble.db.DatabaseExecutorModule; +import org.briarproject.bramble.identity.IdentityModule; +import org.briarproject.bramble.lifecycle.LifecycleModule; +import org.briarproject.bramble.plugin.PluginModule; +import org.briarproject.bramble.properties.PropertiesModule; +import org.briarproject.bramble.sync.validation.ValidationModule; +import org.briarproject.bramble.system.SystemModule; import org.briarproject.bramble.test.BrambleJavaIntegrationTestComponent; import org.briarproject.bramble.test.BrambleTestCase; import org.briarproject.bramble.test.DaggerBrambleJavaIntegrationTestComponent; +import org.briarproject.bramble.transport.TransportModule; import org.briarproject.bramble.util.OsUtils; +import org.briarproject.bramble.versioning.VersioningModule; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -22,7 +34,6 @@ import org.junit.runners.Parameterized.Parameters; import java.io.File; import java.util.List; import java.util.concurrent.Executor; -import java.util.concurrent.Executors; import java.util.logging.Logger; import javax.inject.Inject; @@ -30,6 +41,7 @@ import javax.net.SocketFactory; import static java.util.Collections.singletonList; import static java.util.concurrent.TimeUnit.SECONDS; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.test.TestUtils.deleteTestDirectory; import static org.briarproject.bramble.test.TestUtils.getTestDirectory; import static org.briarproject.bramble.test.TestUtils.isOptionalTestEnabled; @@ -44,14 +56,17 @@ public class BridgeTest extends BrambleTestCase { public static Iterable data() { BrambleJavaIntegrationTestComponent component = DaggerBrambleJavaIntegrationTestComponent.builder().build(); + injectEagerSingletons(component); return component.getCircumventionProvider().getBridges(false); } private final static long TIMEOUT = SECONDS.toMillis(30); - private final static Logger LOG = - Logger.getLogger(BridgeTest.class.getName()); + private final static Logger LOG = getLogger(BridgeTest.class.getName()); + @Inject + @IoExecutor + Executor ioExecutor; @Inject NetworkManager networkManager; @Inject @@ -86,9 +101,9 @@ public class BridgeTest extends BrambleTestCase { BrambleJavaIntegrationTestComponent component = DaggerBrambleJavaIntegrationTestComponent.builder().build(); + injectEagerSingletons(component); component.inject(this); - Executor ioExecutor = Executors.newCachedThreadPool(); LocationUtils locationUtils = () -> "US"; SocketFactory torSocketFactory = SocketFactory.getDefault(); @@ -147,4 +162,18 @@ public class BridgeTest extends BrambleTestCase { } } + private static void injectEagerSingletons( + BrambleJavaIntegrationTestComponent component) { + component.inject(new ContactModule.EagerSingletons()); + component.inject(new CryptoExecutorModule.EagerSingletons()); + component.inject(new DatabaseExecutorModule.EagerSingletons()); + component.inject(new IdentityModule.EagerSingletons()); + component.inject(new LifecycleModule.EagerSingletons()); + component.inject(new PluginModule.EagerSingletons()); + component.inject(new PropertiesModule.EagerSingletons()); + component.inject(new SystemModule.EagerSingletons()); + component.inject(new TransportModule.EagerSingletons()); + component.inject(new ValidationModule.EagerSingletons()); + component.inject(new VersioningModule.EagerSingletons()); + } } diff --git a/bramble-java/src/test/java/org/briarproject/bramble/test/BrambleJavaIntegrationTestComponent.java b/bramble-java/src/test/java/org/briarproject/bramble/test/BrambleJavaIntegrationTestComponent.java index e16e71284..24505c1a8 100644 --- a/bramble-java/src/test/java/org/briarproject/bramble/test/BrambleJavaIntegrationTestComponent.java +++ b/bramble-java/src/test/java/org/briarproject/bramble/test/BrambleJavaIntegrationTestComponent.java @@ -2,12 +2,28 @@ package org.briarproject.bramble.test; import org.briarproject.bramble.BrambleJavaModule; import org.briarproject.bramble.battery.DefaultBatteryManagerModule; +import org.briarproject.bramble.client.ClientModule; +import org.briarproject.bramble.contact.ContactModule; +import org.briarproject.bramble.crypto.CryptoExecutorModule; +import org.briarproject.bramble.crypto.CryptoModule; +import org.briarproject.bramble.data.DataModule; +import org.briarproject.bramble.db.DatabaseExecutorModule; +import org.briarproject.bramble.db.DatabaseModule; import org.briarproject.bramble.event.DefaultEventExecutorModule; import org.briarproject.bramble.event.EventModule; +import org.briarproject.bramble.identity.IdentityModule; +import org.briarproject.bramble.lifecycle.LifecycleModule; import org.briarproject.bramble.plugin.PluginModule; import org.briarproject.bramble.plugin.tor.BridgeTest; import org.briarproject.bramble.plugin.tor.CircumventionProvider; +import org.briarproject.bramble.properties.PropertiesModule; +import org.briarproject.bramble.record.RecordModule; +import org.briarproject.bramble.settings.SettingsModule; +import org.briarproject.bramble.sync.SyncModule; +import org.briarproject.bramble.sync.validation.ValidationModule; import org.briarproject.bramble.system.SystemModule; +import org.briarproject.bramble.transport.TransportModule; +import org.briarproject.bramble.versioning.VersioningModule; import javax.inject.Singleton; @@ -15,17 +31,57 @@ import dagger.Component; @Singleton @Component(modules = { + TestDatabaseConfigModule.class, + TestPluginConfigModule.class, + TestSecureRandomModule.class, BrambleJavaModule.class, - TestLifecycleModule.class, + ClientModule.class, + ContactModule.class, + CryptoExecutorModule.class, + CryptoModule.class, + DataModule.class, + DatabaseExecutorModule.class, + DatabaseModule.class, DefaultBatteryManagerModule.class, DefaultEventExecutorModule.class, EventModule.class, - PluginModule.class, // needed for BackoffFactory + IdentityModule.class, + LifecycleModule.class, + RecordModule.class, + PluginModule.class, + PropertiesModule.class, + TransportModule.class, + SettingsModule.class, + SyncModule.class, SystemModule.class, + ValidationModule.class, + VersioningModule.class }) public interface BrambleJavaIntegrationTestComponent { void inject(BridgeTest init); + void inject(ContactModule.EagerSingletons init); + + void inject(CryptoExecutorModule.EagerSingletons init); + + void inject(DatabaseExecutorModule.EagerSingletons init); + + void inject(IdentityModule.EagerSingletons init); + + void inject(LifecycleModule.EagerSingletons init); + + void inject(PluginModule.EagerSingletons init); + + void inject(PropertiesModule.EagerSingletons init); + + void inject(SystemModule.EagerSingletons init); + + void inject(TransportModule.EagerSingletons init); + + void inject(ValidationModule.EagerSingletons init); + + void inject(VersioningModule.EagerSingletons init); + CircumventionProvider getCircumventionProvider(); } diff --git a/briar-core/src/test/java/org/briarproject/briar/blog/BlogManagerIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/blog/BlogManagerIntegrationTest.java index feff9a197..422b985da 100644 --- a/briar-core/src/test/java/org/briarproject/briar/blog/BlogManagerIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/blog/BlogManagerIntegrationTest.java @@ -2,7 +2,7 @@ package org.briarproject.briar.blog; import org.briarproject.bramble.api.identity.LocalAuthor; import org.briarproject.bramble.api.sync.MessageId; -import org.briarproject.bramble.test.TestDatabaseModule; +import org.briarproject.bramble.test.TestDatabaseConfigModule; import org.briarproject.briar.api.blog.Blog; import org.briarproject.briar.api.blog.BlogCommentHeader; import org.briarproject.briar.api.blog.BlogManager; @@ -65,18 +65,22 @@ public class BlogManagerIntegrationTest protected void createComponents() { BriarIntegrationTestComponent component = DaggerBriarIntegrationTestComponent.builder().build(); + injectEagerSingletons(component); component.inject(this); c0 = DaggerBriarIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t0Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) + .build(); injectEagerSingletons(c0); c1 = DaggerBriarIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t1Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) + .build(); injectEagerSingletons(c1); c2 = DaggerBriarIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t2Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) + .build(); injectEagerSingletons(c2); } diff --git a/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTest.java index 7bcefce13..081c7376a 100644 --- a/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTest.java @@ -5,11 +5,12 @@ import org.briarproject.bramble.api.identity.IdentityManager; import org.briarproject.bramble.api.lifecycle.LifecycleManager; import org.briarproject.bramble.contact.ContactModule; import org.briarproject.bramble.crypto.CryptoExecutorModule; +import org.briarproject.bramble.db.DatabaseExecutorModule; import org.briarproject.bramble.identity.IdentityModule; import org.briarproject.bramble.lifecycle.LifecycleModule; import org.briarproject.bramble.sync.validation.ValidationModule; import org.briarproject.bramble.system.SystemModule; -import org.briarproject.bramble.test.TestDatabaseModule; +import org.briarproject.bramble.test.TestDatabaseConfigModule; import org.briarproject.bramble.test.TestUtils; import org.briarproject.bramble.transport.TransportModule; import org.briarproject.bramble.versioning.VersioningModule; @@ -45,10 +46,10 @@ public class FeedManagerIntegrationTest extends BriarTestCase { assertTrue(testDir.mkdirs()); FeedManagerIntegrationTestComponent component = DaggerFeedManagerIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(testFile)) - .build(); - component.inject(this); + .testDatabaseConfigModule( + new TestDatabaseConfigModule(testFile)).build(); injectEagerSingletons(component); + component.inject(this); IdentityManager identityManager = component.getIdentityManager(); Identity identity = identityManager.createIdentity("feedTest"); @@ -124,6 +125,7 @@ public class FeedManagerIntegrationTest extends BriarTestCase { component.inject(new BlogModule.EagerSingletons()); component.inject(new ContactModule.EagerSingletons()); component.inject(new CryptoExecutorModule.EagerSingletons()); + component.inject(new DatabaseExecutorModule.EagerSingletons()); component.inject(new FeedModule.EagerSingletons()); component.inject(new IdentityModule.EagerSingletons()); component.inject(new LifecycleModule.EagerSingletons()); diff --git a/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTestComponent.java b/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTestComponent.java index aefdf9360..dc633310a 100644 --- a/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTestComponent.java +++ b/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTestComponent.java @@ -7,6 +7,7 @@ import org.briarproject.bramble.contact.ContactModule; import org.briarproject.bramble.crypto.CryptoExecutorModule; import org.briarproject.bramble.crypto.CryptoModule; import org.briarproject.bramble.data.DataModule; +import org.briarproject.bramble.db.DatabaseExecutorModule; import org.briarproject.bramble.db.DatabaseModule; import org.briarproject.bramble.event.DefaultEventExecutorModule; import org.briarproject.bramble.event.EventModule; @@ -15,7 +16,7 @@ import org.briarproject.bramble.lifecycle.LifecycleModule; import org.briarproject.bramble.sync.SyncModule; import org.briarproject.bramble.sync.validation.ValidationModule; import org.briarproject.bramble.system.SystemModule; -import org.briarproject.bramble.test.TestDatabaseModule; +import org.briarproject.bramble.test.TestDatabaseConfigModule; import org.briarproject.bramble.test.TestPluginConfigModule; import org.briarproject.bramble.test.TestSecureRandomModule; import org.briarproject.bramble.test.TestSocksModule; @@ -33,22 +34,23 @@ import dagger.Component; @Singleton @Component(modules = { - TestDatabaseModule.class, + TestDatabaseConfigModule.class, + TestDnsModule.class, TestPluginConfigModule.class, TestSecureRandomModule.class, TestSocksModule.class, - TestDnsModule.class, + BlogModule.class, BriarClientModule.class, ClientModule.class, ContactModule.class, CryptoModule.class, CryptoExecutorModule.class, - BlogModule.class, - FeedModule.class, DataModule.class, + DatabaseExecutorModule.class, DatabaseModule.class, DefaultEventExecutorModule.class, EventModule.class, + FeedModule.class, IdentityModule.class, LifecycleModule.class, SyncModule.class, @@ -67,6 +69,8 @@ interface FeedManagerIntegrationTestComponent { void inject(CryptoExecutorModule.EagerSingletons init); + void inject(DatabaseExecutorModule.EagerSingletons init); + void inject(FeedModule.EagerSingletons init); void inject(IdentityModule.EagerSingletons init); diff --git a/briar-core/src/test/java/org/briarproject/briar/forum/ForumManagerTest.java b/briar-core/src/test/java/org/briarproject/briar/forum/ForumManagerTest.java index 179e4282e..9c6a7c644 100644 --- a/briar-core/src/test/java/org/briarproject/briar/forum/ForumManagerTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/forum/ForumManagerTest.java @@ -1,7 +1,7 @@ package org.briarproject.briar.forum; import org.briarproject.bramble.api.sync.GroupId; -import org.briarproject.bramble.test.TestDatabaseModule; +import org.briarproject.bramble.test.TestDatabaseConfigModule; import org.briarproject.briar.api.forum.Forum; import org.briarproject.briar.api.forum.ForumManager; import org.briarproject.briar.api.forum.ForumPost; @@ -56,18 +56,22 @@ public class ForumManagerTest protected void createComponents() { BriarIntegrationTestComponent component = DaggerBriarIntegrationTestComponent.builder().build(); + injectEagerSingletons(component); component.inject(this); c0 = DaggerBriarIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t0Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) + .build(); injectEagerSingletons(c0); c1 = DaggerBriarIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t1Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) + .build(); injectEagerSingletons(c1); c2 = DaggerBriarIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t2Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) + .build(); injectEagerSingletons(c2); } diff --git a/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java index 6cf552c03..8248466e2 100644 --- a/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java @@ -22,7 +22,7 @@ import org.briarproject.bramble.api.properties.TransportPropertyManager; import org.briarproject.bramble.api.sync.Group; import org.briarproject.bramble.api.sync.Message; import org.briarproject.bramble.api.sync.MessageId; -import org.briarproject.bramble.test.TestDatabaseModule; +import org.briarproject.bramble.test.TestDatabaseConfigModule; import org.briarproject.briar.api.client.ProtocolStateException; import org.briarproject.briar.api.client.SessionId; import org.briarproject.briar.api.conversation.ConversationMessageHeader; @@ -106,18 +106,22 @@ public class IntroductionIntegrationTest protected void createComponents() { IntroductionIntegrationTestComponent component = DaggerIntroductionIntegrationTestComponent.builder().build(); + injectEagerSingletons(component); component.inject(this); c0 = DaggerIntroductionIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t0Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) + .build(); injectEagerSingletons(c0); c1 = DaggerIntroductionIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t1Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) + .build(); injectEagerSingletons(c1); c2 = DaggerIntroductionIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t2Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) + .build(); injectEagerSingletons(c2); } diff --git a/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTestComponent.java b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTestComponent.java index 815da25ea..8f8a33c34 100644 --- a/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTestComponent.java +++ b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTestComponent.java @@ -5,6 +5,7 @@ import org.briarproject.bramble.contact.ContactModule; import org.briarproject.bramble.crypto.CryptoExecutorModule; import org.briarproject.bramble.crypto.CryptoModule; import org.briarproject.bramble.data.DataModule; +import org.briarproject.bramble.db.DatabaseExecutorModule; import org.briarproject.bramble.db.DatabaseModule; import org.briarproject.bramble.event.DefaultEventExecutorModule; import org.briarproject.bramble.event.EventModule; @@ -15,7 +16,7 @@ import org.briarproject.bramble.record.RecordModule; import org.briarproject.bramble.sync.SyncModule; import org.briarproject.bramble.sync.validation.ValidationModule; import org.briarproject.bramble.system.SystemModule; -import org.briarproject.bramble.test.TestDatabaseModule; +import org.briarproject.bramble.test.TestDatabaseConfigModule; import org.briarproject.bramble.test.TestPluginConfigModule; import org.briarproject.bramble.test.TestSecureRandomModule; import org.briarproject.bramble.transport.TransportModule; @@ -35,7 +36,7 @@ import dagger.Component; @Singleton @Component(modules = { - TestDatabaseModule.class, + TestDatabaseConfigModule.class, TestPluginConfigModule.class, TestSecureRandomModule.class, BlogModule.class, @@ -45,6 +46,7 @@ import dagger.Component; CryptoModule.class, CryptoExecutorModule.class, DataModule.class, + DatabaseExecutorModule.class, DatabaseModule.class, DefaultEventExecutorModule.class, EventModule.class, diff --git a/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java index d0b6ea1de..46b762526 100644 --- a/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java @@ -8,7 +8,9 @@ import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.bramble.contact.ContactModule; import org.briarproject.bramble.crypto.CryptoExecutorModule; +import org.briarproject.bramble.db.DatabaseExecutorModule; import org.briarproject.bramble.identity.IdentityModule; +import org.briarproject.bramble.lifecycle.LifecycleModule; import org.briarproject.bramble.sync.validation.ValidationModule; import org.briarproject.bramble.system.SystemModule; import org.briarproject.bramble.transport.TransportModule; @@ -47,8 +49,8 @@ public class MessageSizeIntegrationTest extends BriarTestCase { public MessageSizeIntegrationTest() { MessageSizeIntegrationTestComponent component = DaggerMessageSizeIntegrationTestComponent.builder().build(); - component.inject(this); injectEagerSingletons(component); + component.inject(this); } @Test @@ -90,8 +92,10 @@ public class MessageSizeIntegrationTest extends BriarTestCase { MessageSizeIntegrationTestComponent component) { component.inject(new ContactModule.EagerSingletons()); component.inject(new CryptoExecutorModule.EagerSingletons()); + component.inject(new DatabaseExecutorModule.EagerSingletons()); component.inject(new ForumModule.EagerSingletons()); component.inject(new IdentityModule.EagerSingletons()); + component.inject(new LifecycleModule.EagerSingletons()); component.inject(new MessagingModule.EagerSingletons()); component.inject(new SystemModule.EagerSingletons()); component.inject(new TransportModule.EagerSingletons()); diff --git a/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTestComponent.java b/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTestComponent.java index 833aed5e2..71e3b458e 100644 --- a/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTestComponent.java +++ b/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTestComponent.java @@ -5,15 +5,16 @@ import org.briarproject.bramble.contact.ContactModule; import org.briarproject.bramble.crypto.CryptoExecutorModule; import org.briarproject.bramble.crypto.CryptoModule; import org.briarproject.bramble.data.DataModule; +import org.briarproject.bramble.db.DatabaseExecutorModule; import org.briarproject.bramble.db.DatabaseModule; import org.briarproject.bramble.event.DefaultEventExecutorModule; import org.briarproject.bramble.event.EventModule; import org.briarproject.bramble.identity.IdentityModule; +import org.briarproject.bramble.lifecycle.LifecycleModule; import org.briarproject.bramble.sync.SyncModule; import org.briarproject.bramble.sync.validation.ValidationModule; import org.briarproject.bramble.system.SystemModule; -import org.briarproject.bramble.test.TestDatabaseModule; -import org.briarproject.bramble.test.TestLifecycleModule; +import org.briarproject.bramble.test.TestDatabaseConfigModule; import org.briarproject.bramble.test.TestPluginConfigModule; import org.briarproject.bramble.test.TestSecureRandomModule; import org.briarproject.bramble.transport.TransportModule; @@ -27,8 +28,7 @@ import dagger.Component; @Singleton @Component(modules = { - TestDatabaseModule.class, - TestLifecycleModule.class, + TestDatabaseConfigModule.class, TestPluginConfigModule.class, TestSecureRandomModule.class, BriarClientModule.class, @@ -37,11 +37,13 @@ import dagger.Component; CryptoModule.class, CryptoExecutorModule.class, DataModule.class, + DatabaseExecutorModule.class, DatabaseModule.class, DefaultEventExecutorModule.class, EventModule.class, ForumModule.class, IdentityModule.class, + LifecycleModule.class, MessagingModule.class, SyncModule.class, SystemModule.class, @@ -57,10 +59,14 @@ interface MessageSizeIntegrationTestComponent { void inject(CryptoExecutorModule.EagerSingletons init); + void inject(DatabaseExecutorModule.EagerSingletons init); + void inject(ForumModule.EagerSingletons init); void inject(IdentityModule.EagerSingletons init); + void inject(LifecycleModule.EagerSingletons init); + void inject(MessagingModule.EagerSingletons init); void inject(SystemModule.EagerSingletons init); diff --git a/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java index fb4206db8..111a61c00 100644 --- a/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java @@ -20,11 +20,13 @@ import org.briarproject.bramble.api.transport.StreamReaderFactory; import org.briarproject.bramble.api.transport.StreamWriter; import org.briarproject.bramble.api.transport.StreamWriterFactory; import org.briarproject.bramble.contact.ContactModule; +import org.briarproject.bramble.crypto.CryptoExecutorModule; +import org.briarproject.bramble.db.DatabaseExecutorModule; import org.briarproject.bramble.identity.IdentityModule; import org.briarproject.bramble.lifecycle.LifecycleModule; import org.briarproject.bramble.sync.validation.ValidationModule; import org.briarproject.bramble.system.SystemModule; -import org.briarproject.bramble.test.TestDatabaseModule; +import org.briarproject.bramble.test.TestDatabaseConfigModule; import org.briarproject.bramble.transport.TransportModule; import org.briarproject.bramble.versioning.VersioningModule; import org.briarproject.briar.api.messaging.MessagingManager; @@ -71,10 +73,12 @@ public class SimplexMessagingIntegrationTest extends BriarTestCase { public void setUp() { assertTrue(testDir.mkdirs()); alice = DaggerSimplexMessagingIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(aliceDir)).build(); + .testDatabaseConfigModule( + new TestDatabaseConfigModule(aliceDir)).build(); injectEagerSingletons(alice); bob = DaggerSimplexMessagingIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(bobDir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(bobDir)) + .build(); injectEagerSingletons(bob); } @@ -207,6 +211,8 @@ public class SimplexMessagingIntegrationTest extends BriarTestCase { private static void injectEagerSingletons( SimplexMessagingIntegrationTestComponent component) { component.inject(new ContactModule.EagerSingletons()); + component.inject(new CryptoExecutorModule.EagerSingletons()); + component.inject(new DatabaseExecutorModule.EagerSingletons()); component.inject(new IdentityModule.EagerSingletons()); component.inject(new LifecycleModule.EagerSingletons()); component.inject(new MessagingModule.EagerSingletons()); diff --git a/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTestComponent.java b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTestComponent.java index efba3db0b..bff37908a 100644 --- a/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTestComponent.java +++ b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTestComponent.java @@ -10,8 +10,10 @@ import org.briarproject.bramble.api.transport.StreamReaderFactory; import org.briarproject.bramble.api.transport.StreamWriterFactory; import org.briarproject.bramble.client.ClientModule; import org.briarproject.bramble.contact.ContactModule; +import org.briarproject.bramble.crypto.CryptoExecutorModule; import org.briarproject.bramble.crypto.CryptoModule; import org.briarproject.bramble.data.DataModule; +import org.briarproject.bramble.db.DatabaseExecutorModule; import org.briarproject.bramble.db.DatabaseModule; import org.briarproject.bramble.event.DefaultEventExecutorModule; import org.briarproject.bramble.event.EventModule; @@ -21,8 +23,7 @@ import org.briarproject.bramble.record.RecordModule; import org.briarproject.bramble.sync.SyncModule; import org.briarproject.bramble.sync.validation.ValidationModule; import org.briarproject.bramble.system.SystemModule; -import org.briarproject.bramble.test.TestCryptoExecutorModule; -import org.briarproject.bramble.test.TestDatabaseModule; +import org.briarproject.bramble.test.TestDatabaseConfigModule; import org.briarproject.bramble.test.TestPluginConfigModule; import org.briarproject.bramble.test.TestSecureRandomModule; import org.briarproject.bramble.transport.TransportModule; @@ -37,15 +38,16 @@ import dagger.Component; @Singleton @Component(modules = { - TestCryptoExecutorModule.class, - TestDatabaseModule.class, + TestDatabaseConfigModule.class, TestPluginConfigModule.class, TestSecureRandomModule.class, BriarClientModule.class, ClientModule.class, ContactModule.class, + CryptoExecutorModule.class, CryptoModule.class, DataModule.class, + DatabaseExecutorModule.class, DatabaseModule.class, DefaultEventExecutorModule.class, EventModule.class, @@ -61,8 +63,12 @@ import dagger.Component; }) interface SimplexMessagingIntegrationTestComponent { + void inject(CryptoExecutorModule.EagerSingletons init); + void inject(ContactModule.EagerSingletons init); + void inject(DatabaseExecutorModule.EagerSingletons init); + void inject(IdentityModule.EagerSingletons init); void inject(LifecycleModule.EagerSingletons init); diff --git a/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupIntegrationTest.java index 99aa1fdff..d7304b0a2 100644 --- a/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupIntegrationTest.java @@ -6,7 +6,7 @@ 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.bramble.test.TestDatabaseModule; +import org.briarproject.bramble.test.TestDatabaseConfigModule; import org.briarproject.briar.api.privategroup.GroupMember; import org.briarproject.briar.api.privategroup.GroupMessage; import org.briarproject.briar.api.privategroup.GroupMessageHeader; @@ -70,18 +70,22 @@ public class PrivateGroupIntegrationTest protected void createComponents() { BriarIntegrationTestComponent component = DaggerBriarIntegrationTestComponent.builder().build(); + injectEagerSingletons(component); component.inject(this); c0 = DaggerBriarIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t0Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) + .build(); injectEagerSingletons(c0); c1 = DaggerBriarIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t1Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) + .build(); injectEagerSingletons(c1); c2 = DaggerBriarIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t2Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) + .build(); injectEagerSingletons(c2); } diff --git a/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupManagerIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupManagerIntegrationTest.java index 0e33a9a91..57023ec35 100644 --- a/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupManagerIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupManagerIntegrationTest.java @@ -4,7 +4,7 @@ import org.briarproject.bramble.api.contact.Contact; import org.briarproject.bramble.api.data.BdfList; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; -import org.briarproject.bramble.test.TestDatabaseModule; +import org.briarproject.bramble.test.TestDatabaseConfigModule; import org.briarproject.briar.api.client.MessageTracker.GroupCount; import org.briarproject.briar.api.privategroup.GroupMember; import org.briarproject.briar.api.privategroup.GroupMessage; @@ -59,18 +59,22 @@ public class PrivateGroupManagerIntegrationTest protected void createComponents() { BriarIntegrationTestComponent component = DaggerBriarIntegrationTestComponent.builder().build(); + injectEagerSingletons(component); component.inject(this); c0 = DaggerBriarIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t0Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) + .build(); injectEagerSingletons(c0); c1 = DaggerBriarIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t1Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) + .build(); injectEagerSingletons(c1); c2 = DaggerBriarIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t2Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) + .build(); injectEagerSingletons(c2); } diff --git a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationIntegrationTest.java index 783a7e2c2..afcad2c79 100644 --- a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationIntegrationTest.java @@ -2,7 +2,7 @@ package org.briarproject.briar.privategroup.invitation; import org.briarproject.bramble.api.db.DbException; import org.briarproject.bramble.api.sync.Group; -import org.briarproject.bramble.test.TestDatabaseModule; +import org.briarproject.bramble.test.TestDatabaseConfigModule; import org.briarproject.briar.api.client.ProtocolStateException; import org.briarproject.briar.api.conversation.ConversationMessageHeader; import org.briarproject.briar.api.privategroup.GroupMessage; @@ -58,18 +58,22 @@ public class GroupInvitationIntegrationTest protected void createComponents() { BriarIntegrationTestComponent component = DaggerBriarIntegrationTestComponent.builder().build(); + injectEagerSingletons(component); component.inject(this); c0 = DaggerBriarIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t0Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) + .build(); injectEagerSingletons(c0); c1 = DaggerBriarIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t1Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) + .build(); injectEagerSingletons(c1); c2 = DaggerBriarIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t2Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) + .build(); injectEagerSingletons(c2); } diff --git a/briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java index a7cea84bd..d706bd6be 100644 --- a/briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java @@ -9,7 +9,7 @@ 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.bramble.test.TestDatabaseModule; +import org.briarproject.bramble.test.TestDatabaseConfigModule; import org.briarproject.briar.api.blog.Blog; import org.briarproject.briar.api.blog.BlogFactory; import org.briarproject.briar.api.blog.BlogInvitationRequest; @@ -82,18 +82,22 @@ public class BlogSharingIntegrationTest protected void createComponents() { BriarIntegrationTestComponent component = DaggerBriarIntegrationTestComponent.builder().build(); + injectEagerSingletons(component); component.inject(this); c0 = DaggerBriarIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t0Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) + .build(); injectEagerSingletons(c0); c1 = DaggerBriarIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t1Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) + .build(); injectEagerSingletons(c1); c2 = DaggerBriarIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t2Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) + .build(); injectEagerSingletons(c2); } diff --git a/briar-core/src/test/java/org/briarproject/briar/sharing/ForumSharingIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/sharing/ForumSharingIntegrationTest.java index 987a78d20..029cbb547 100644 --- a/briar-core/src/test/java/org/briarproject/briar/sharing/ForumSharingIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/sharing/ForumSharingIntegrationTest.java @@ -11,7 +11,7 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.Group; import org.briarproject.bramble.api.sync.Message; import org.briarproject.bramble.api.sync.MessageId; -import org.briarproject.bramble.test.TestDatabaseModule; +import org.briarproject.bramble.test.TestDatabaseConfigModule; import org.briarproject.briar.api.conversation.ConversationMessageHeader; import org.briarproject.briar.api.conversation.ConversationResponse; import org.briarproject.briar.api.forum.Forum; @@ -86,18 +86,22 @@ public class ForumSharingIntegrationTest protected void createComponents() { BriarIntegrationTestComponent component = DaggerBriarIntegrationTestComponent.builder().build(); + injectEagerSingletons(component); component.inject(this); c0 = DaggerBriarIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t0Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) + .build(); injectEagerSingletons(c0); c1 = DaggerBriarIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t1Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) + .build(); injectEagerSingletons(c1); c2 = DaggerBriarIntegrationTestComponent.builder() - .testDatabaseModule(new TestDatabaseModule(t2Dir)).build(); + .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) + .build(); injectEagerSingletons(c2); } diff --git a/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTest.java index 742987779..0d408703f 100644 --- a/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTest.java @@ -30,6 +30,7 @@ import org.briarproject.bramble.api.system.Clock; import org.briarproject.bramble.api.transport.StreamWriter; import org.briarproject.bramble.contact.ContactModule; import org.briarproject.bramble.crypto.CryptoExecutorModule; +import org.briarproject.bramble.db.DatabaseExecutorModule; import org.briarproject.bramble.identity.IdentityModule; import org.briarproject.bramble.lifecycle.LifecycleModule; import org.briarproject.bramble.properties.PropertiesModule; @@ -188,6 +189,7 @@ public abstract class BriarIntegrationTest Date: Fri, 31 May 2019 13:38:59 +0100 Subject: [PATCH 2/5] Use BrambleCoreModule in integration tests. --- .../BrambleAndroidEagerSingletons.java | 3 + .../bramble/BrambleAndroidModule.java | 7 +- .../bramble/BrambleCoreEagerSingletons.java | 3 - .../bramble/BrambleCoreModule.java | 5 -- .../bramble/sync/SyncIntegrationTest.java | 2 + .../sync/SyncIntegrationTestComponent.java | 20 ++--- .../BrambleCoreIntegrationTestModule.java | 16 ++++ .../bramble/BrambleJavaModule.java | 4 +- .../bramble/plugin/tor/BridgeTest.java | 31 +------- .../BrambleJavaIntegrationTestComponent.java | 76 ++----------------- .../feed/FeedManagerIntegrationTest.java | 20 +---- .../FeedManagerIntegrationTestComponent.java | 68 +++-------------- .../IntroductionCryptoIntegrationTest.java | 19 +++++ .../IntroductionIntegrationTestComponent.java | 48 ++---------- .../MessageEncoderParserIntegrationTest.java | 19 +++++ .../SessionEncoderParserIntegrationTest.java | 19 +++++ .../messaging/MessageSizeIntegrationTest.java | 20 +---- .../MessageSizeIntegrationTestComponent.java | 66 ++-------------- .../SimplexMessagingIntegrationTest.java | 20 +---- ...plexMessagingIntegrationTestComponent.java | 68 ++--------------- .../briar/test/BriarIntegrationTest.java | 22 +----- .../test/BriarIntegrationTestComponent.java | 72 ++---------------- 22 files changed, 149 insertions(+), 479 deletions(-) create mode 100644 bramble-core/src/test/java/org/briarproject/bramble/test/BrambleCoreIntegrationTestModule.java diff --git a/bramble-android/src/main/java/org/briarproject/bramble/BrambleAndroidEagerSingletons.java b/bramble-android/src/main/java/org/briarproject/bramble/BrambleAndroidEagerSingletons.java index d162eea09..4358aab80 100644 --- a/bramble-android/src/main/java/org/briarproject/bramble/BrambleAndroidEagerSingletons.java +++ b/bramble-android/src/main/java/org/briarproject/bramble/BrambleAndroidEagerSingletons.java @@ -2,10 +2,13 @@ package org.briarproject.bramble; import org.briarproject.bramble.battery.AndroidBatteryModule; import org.briarproject.bramble.network.AndroidNetworkModule; +import org.briarproject.bramble.reporting.ReportingModule; public interface BrambleAndroidEagerSingletons { void inject(AndroidBatteryModule.EagerSingletons init); void inject(AndroidNetworkModule.EagerSingletons init); + + void inject(ReportingModule.EagerSingletons init); } diff --git a/bramble-android/src/main/java/org/briarproject/bramble/BrambleAndroidModule.java b/bramble-android/src/main/java/org/briarproject/bramble/BrambleAndroidModule.java index beed8b65b..9fb25b20b 100644 --- a/bramble-android/src/main/java/org/briarproject/bramble/BrambleAndroidModule.java +++ b/bramble-android/src/main/java/org/briarproject/bramble/BrambleAndroidModule.java @@ -3,6 +3,8 @@ package org.briarproject.bramble; import org.briarproject.bramble.battery.AndroidBatteryModule; import org.briarproject.bramble.network.AndroidNetworkModule; import org.briarproject.bramble.plugin.tor.CircumventionModule; +import org.briarproject.bramble.reporting.ReportingModule; +import org.briarproject.bramble.socks.SocksModule; import org.briarproject.bramble.system.AndroidSystemModule; import dagger.Module; @@ -11,12 +13,15 @@ import dagger.Module; AndroidBatteryModule.class, AndroidNetworkModule.class, AndroidSystemModule.class, - CircumventionModule.class + CircumventionModule.class, + ReportingModule.class, + SocksModule.class }) public class BrambleAndroidModule { public static void initEagerSingletons(BrambleAndroidEagerSingletons c) { c.inject(new AndroidBatteryModule.EagerSingletons()); c.inject(new AndroidNetworkModule.EagerSingletons()); + c.inject(new ReportingModule.EagerSingletons()); } } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreEagerSingletons.java b/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreEagerSingletons.java index f9f66375c..38ea906b9 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreEagerSingletons.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreEagerSingletons.java @@ -7,7 +7,6 @@ import org.briarproject.bramble.identity.IdentityModule; import org.briarproject.bramble.lifecycle.LifecycleModule; import org.briarproject.bramble.plugin.PluginModule; import org.briarproject.bramble.properties.PropertiesModule; -import org.briarproject.bramble.reporting.ReportingModule; import org.briarproject.bramble.sync.validation.ValidationModule; import org.briarproject.bramble.system.SystemModule; import org.briarproject.bramble.transport.TransportModule; @@ -29,8 +28,6 @@ public interface BrambleCoreEagerSingletons { void inject(PropertiesModule.EagerSingletons init); - void inject(ReportingModule.EagerSingletons init); - void inject(SystemModule.EagerSingletons init); void inject(TransportModule.EagerSingletons init); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreModule.java b/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreModule.java index ebf43a69d..999d81309 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreModule.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreModule.java @@ -16,9 +16,7 @@ import org.briarproject.bramble.properties.PropertiesModule; import org.briarproject.bramble.record.RecordModule; import org.briarproject.bramble.reliability.ReliabilityModule; import org.briarproject.bramble.rendezvous.RendezvousModule; -import org.briarproject.bramble.reporting.ReportingModule; import org.briarproject.bramble.settings.SettingsModule; -import org.briarproject.bramble.socks.SocksModule; import org.briarproject.bramble.sync.SyncModule; import org.briarproject.bramble.sync.validation.ValidationModule; import org.briarproject.bramble.system.SystemModule; @@ -44,9 +42,7 @@ import dagger.Module; RecordModule.class, ReliabilityModule.class, RendezvousModule.class, - ReportingModule.class, SettingsModule.class, - SocksModule.class, SyncModule.class, SystemModule.class, TransportModule.class, @@ -63,7 +59,6 @@ public class BrambleCoreModule { c.inject(new LifecycleModule.EagerSingletons()); c.inject(new PluginModule.EagerSingletons()); c.inject(new PropertiesModule.EagerSingletons()); - c.inject(new ReportingModule.EagerSingletons()); c.inject(new SystemModule.EagerSingletons()); c.inject(new TransportModule.EagerSingletons()); c.inject(new ValidationModule.EagerSingletons()); diff --git a/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTest.java b/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTest.java index df8787115..eb200a695 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTest.java @@ -1,5 +1,6 @@ package org.briarproject.bramble.sync; +import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.contact.ContactId; import org.briarproject.bramble.api.crypto.SecretKey; import org.briarproject.bramble.api.crypto.TransportCrypto; @@ -72,6 +73,7 @@ public class SyncIntegrationTest extends BrambleTestCase { SyncIntegrationTestComponent component = DaggerSyncIntegrationTestComponent.builder().build(); + BrambleCoreModule.initEagerSingletons(component); component.inject(this); contactId = getContactId(); diff --git a/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTestComponent.java b/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTestComponent.java index e1657306a..0b0316207 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTestComponent.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTestComponent.java @@ -1,11 +1,8 @@ package org.briarproject.bramble.sync; -import org.briarproject.bramble.crypto.CryptoModule; -import org.briarproject.bramble.record.RecordModule; -import org.briarproject.bramble.sync.validation.ValidationModule; -import org.briarproject.bramble.system.SystemModule; -import org.briarproject.bramble.test.TestSecureRandomModule; -import org.briarproject.bramble.transport.TransportModule; +import org.briarproject.bramble.BrambleCoreEagerSingletons; +import org.briarproject.bramble.BrambleCoreModule; +import org.briarproject.bramble.test.BrambleCoreIntegrationTestModule; import javax.inject.Singleton; @@ -13,15 +10,10 @@ import dagger.Component; @Singleton @Component(modules = { - TestSecureRandomModule.class, - CryptoModule.class, - RecordModule.class, - SyncModule.class, - SystemModule.class, - ValidationModule.class, - TransportModule.class + BrambleCoreIntegrationTestModule.class, + BrambleCoreModule.class }) -interface SyncIntegrationTestComponent { +interface SyncIntegrationTestComponent extends BrambleCoreEagerSingletons { void inject(SyncIntegrationTest testCase); } diff --git a/bramble-core/src/test/java/org/briarproject/bramble/test/BrambleCoreIntegrationTestModule.java b/bramble-core/src/test/java/org/briarproject/bramble/test/BrambleCoreIntegrationTestModule.java new file mode 100644 index 000000000..ab30c90a6 --- /dev/null +++ b/bramble-core/src/test/java/org/briarproject/bramble/test/BrambleCoreIntegrationTestModule.java @@ -0,0 +1,16 @@ +package org.briarproject.bramble.test; + +import org.briarproject.bramble.battery.DefaultBatteryManagerModule; +import org.briarproject.bramble.event.DefaultEventExecutorModule; + +import dagger.Module; + +@Module(includes = { + DefaultBatteryManagerModule.class, + DefaultEventExecutorModule.class, + TestDatabaseConfigModule.class, + TestPluginConfigModule.class, + TestSecureRandomModule.class +}) +public class BrambleCoreIntegrationTestModule { +} diff --git a/bramble-java/src/main/java/org/briarproject/bramble/BrambleJavaModule.java b/bramble-java/src/main/java/org/briarproject/bramble/BrambleJavaModule.java index c6f74d4ab..6ef05f5f1 100644 --- a/bramble-java/src/main/java/org/briarproject/bramble/BrambleJavaModule.java +++ b/bramble-java/src/main/java/org/briarproject/bramble/BrambleJavaModule.java @@ -2,6 +2,7 @@ package org.briarproject.bramble; import org.briarproject.bramble.network.JavaNetworkModule; import org.briarproject.bramble.plugin.tor.CircumventionModule; +import org.briarproject.bramble.socks.SocksModule; import org.briarproject.bramble.system.JavaSystemModule; import dagger.Module; @@ -9,7 +10,8 @@ import dagger.Module; @Module(includes = { JavaNetworkModule.class, JavaSystemModule.class, - CircumventionModule.class + CircumventionModule.class, + SocksModule.class }) public class BrambleJavaModule { diff --git a/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java b/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java index 70db1fa33..c97205c48 100644 --- a/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java +++ b/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java @@ -1,5 +1,6 @@ package org.briarproject.bramble.plugin.tor; +import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.battery.BatteryManager; import org.briarproject.bramble.api.event.EventBus; import org.briarproject.bramble.api.lifecycle.IoExecutor; @@ -9,21 +10,10 @@ 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.contact.ContactModule; -import org.briarproject.bramble.crypto.CryptoExecutorModule; -import org.briarproject.bramble.db.DatabaseExecutorModule; -import org.briarproject.bramble.identity.IdentityModule; -import org.briarproject.bramble.lifecycle.LifecycleModule; -import org.briarproject.bramble.plugin.PluginModule; -import org.briarproject.bramble.properties.PropertiesModule; -import org.briarproject.bramble.sync.validation.ValidationModule; -import org.briarproject.bramble.system.SystemModule; import org.briarproject.bramble.test.BrambleJavaIntegrationTestComponent; import org.briarproject.bramble.test.BrambleTestCase; import org.briarproject.bramble.test.DaggerBrambleJavaIntegrationTestComponent; -import org.briarproject.bramble.transport.TransportModule; import org.briarproject.bramble.util.OsUtils; -import org.briarproject.bramble.versioning.VersioningModule; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -56,7 +46,7 @@ public class BridgeTest extends BrambleTestCase { public static Iterable data() { BrambleJavaIntegrationTestComponent component = DaggerBrambleJavaIntegrationTestComponent.builder().build(); - injectEagerSingletons(component); + BrambleCoreModule.initEagerSingletons(component); return component.getCircumventionProvider().getBridges(false); } @@ -101,7 +91,7 @@ public class BridgeTest extends BrambleTestCase { BrambleJavaIntegrationTestComponent component = DaggerBrambleJavaIntegrationTestComponent.builder().build(); - injectEagerSingletons(component); + BrambleCoreModule.initEagerSingletons(component); component.inject(this); LocationUtils locationUtils = () -> "US"; @@ -161,19 +151,4 @@ public class BridgeTest extends BrambleTestCase { plugin.stop(); } } - - private static void injectEagerSingletons( - BrambleJavaIntegrationTestComponent component) { - component.inject(new ContactModule.EagerSingletons()); - component.inject(new CryptoExecutorModule.EagerSingletons()); - component.inject(new DatabaseExecutorModule.EagerSingletons()); - component.inject(new IdentityModule.EagerSingletons()); - component.inject(new LifecycleModule.EagerSingletons()); - component.inject(new PluginModule.EagerSingletons()); - component.inject(new PropertiesModule.EagerSingletons()); - component.inject(new SystemModule.EagerSingletons()); - component.inject(new TransportModule.EagerSingletons()); - component.inject(new ValidationModule.EagerSingletons()); - component.inject(new VersioningModule.EagerSingletons()); - } } diff --git a/bramble-java/src/test/java/org/briarproject/bramble/test/BrambleJavaIntegrationTestComponent.java b/bramble-java/src/test/java/org/briarproject/bramble/test/BrambleJavaIntegrationTestComponent.java index 24505c1a8..777dbe8b8 100644 --- a/bramble-java/src/test/java/org/briarproject/bramble/test/BrambleJavaIntegrationTestComponent.java +++ b/bramble-java/src/test/java/org/briarproject/bramble/test/BrambleJavaIntegrationTestComponent.java @@ -1,29 +1,10 @@ package org.briarproject.bramble.test; +import org.briarproject.bramble.BrambleCoreEagerSingletons; +import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.BrambleJavaModule; -import org.briarproject.bramble.battery.DefaultBatteryManagerModule; -import org.briarproject.bramble.client.ClientModule; -import org.briarproject.bramble.contact.ContactModule; -import org.briarproject.bramble.crypto.CryptoExecutorModule; -import org.briarproject.bramble.crypto.CryptoModule; -import org.briarproject.bramble.data.DataModule; -import org.briarproject.bramble.db.DatabaseExecutorModule; -import org.briarproject.bramble.db.DatabaseModule; -import org.briarproject.bramble.event.DefaultEventExecutorModule; -import org.briarproject.bramble.event.EventModule; -import org.briarproject.bramble.identity.IdentityModule; -import org.briarproject.bramble.lifecycle.LifecycleModule; -import org.briarproject.bramble.plugin.PluginModule; import org.briarproject.bramble.plugin.tor.BridgeTest; import org.briarproject.bramble.plugin.tor.CircumventionProvider; -import org.briarproject.bramble.properties.PropertiesModule; -import org.briarproject.bramble.record.RecordModule; -import org.briarproject.bramble.settings.SettingsModule; -import org.briarproject.bramble.sync.SyncModule; -import org.briarproject.bramble.sync.validation.ValidationModule; -import org.briarproject.bramble.system.SystemModule; -import org.briarproject.bramble.transport.TransportModule; -import org.briarproject.bramble.versioning.VersioningModule; import javax.inject.Singleton; @@ -31,57 +12,14 @@ import dagger.Component; @Singleton @Component(modules = { - TestDatabaseConfigModule.class, - TestPluginConfigModule.class, - TestSecureRandomModule.class, - BrambleJavaModule.class, - ClientModule.class, - ContactModule.class, - CryptoExecutorModule.class, - CryptoModule.class, - DataModule.class, - DatabaseExecutorModule.class, - DatabaseModule.class, - DefaultBatteryManagerModule.class, - DefaultEventExecutorModule.class, - EventModule.class, - IdentityModule.class, - LifecycleModule.class, - RecordModule.class, - PluginModule.class, - PropertiesModule.class, - TransportModule.class, - SettingsModule.class, - SyncModule.class, - SystemModule.class, - ValidationModule.class, - VersioningModule.class + BrambleCoreIntegrationTestModule.class, + BrambleCoreModule.class, + BrambleJavaModule.class }) -public interface BrambleJavaIntegrationTestComponent { +public interface BrambleJavaIntegrationTestComponent + extends BrambleCoreEagerSingletons { void inject(BridgeTest init); - void inject(ContactModule.EagerSingletons init); - - void inject(CryptoExecutorModule.EagerSingletons init); - - void inject(DatabaseExecutorModule.EagerSingletons init); - - void inject(IdentityModule.EagerSingletons init); - - void inject(LifecycleModule.EagerSingletons init); - - void inject(PluginModule.EagerSingletons init); - - void inject(PropertiesModule.EagerSingletons init); - - void inject(SystemModule.EagerSingletons init); - - void inject(TransportModule.EagerSingletons init); - - void inject(ValidationModule.EagerSingletons init); - - void inject(VersioningModule.EagerSingletons init); - CircumventionProvider getCircumventionProvider(); } diff --git a/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTest.java index 081c7376a..1d7c215ac 100644 --- a/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTest.java @@ -1,19 +1,11 @@ package org.briarproject.briar.feed; +import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.identity.Identity; import org.briarproject.bramble.api.identity.IdentityManager; import org.briarproject.bramble.api.lifecycle.LifecycleManager; -import org.briarproject.bramble.contact.ContactModule; -import org.briarproject.bramble.crypto.CryptoExecutorModule; -import org.briarproject.bramble.db.DatabaseExecutorModule; -import org.briarproject.bramble.identity.IdentityModule; -import org.briarproject.bramble.lifecycle.LifecycleModule; -import org.briarproject.bramble.sync.validation.ValidationModule; -import org.briarproject.bramble.system.SystemModule; import org.briarproject.bramble.test.TestDatabaseConfigModule; import org.briarproject.bramble.test.TestUtils; -import org.briarproject.bramble.transport.TransportModule; -import org.briarproject.bramble.versioning.VersioningModule; import org.briarproject.briar.api.blog.Blog; import org.briarproject.briar.api.blog.BlogManager; import org.briarproject.briar.api.blog.BlogPostHeader; @@ -122,17 +114,9 @@ public class FeedManagerIntegrationTest extends BriarTestCase { protected void injectEagerSingletons( FeedManagerIntegrationTestComponent component) { + BrambleCoreModule.initEagerSingletons(component); component.inject(new BlogModule.EagerSingletons()); - component.inject(new ContactModule.EagerSingletons()); - component.inject(new CryptoExecutorModule.EagerSingletons()); - component.inject(new DatabaseExecutorModule.EagerSingletons()); component.inject(new FeedModule.EagerSingletons()); - component.inject(new IdentityModule.EagerSingletons()); - component.inject(new LifecycleModule.EagerSingletons()); - component.inject(new SystemModule.EagerSingletons()); - component.inject(new TransportModule.EagerSingletons()); - component.inject(new ValidationModule.EagerSingletons()); - component.inject(new VersioningModule.EagerSingletons()); } } diff --git a/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTestComponent.java b/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTestComponent.java index dc633310a..45570afc6 100644 --- a/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTestComponent.java +++ b/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTestComponent.java @@ -1,27 +1,11 @@ package org.briarproject.briar.feed; +import org.briarproject.bramble.BrambleCoreEagerSingletons; +import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.identity.IdentityManager; import org.briarproject.bramble.api.lifecycle.LifecycleManager; -import org.briarproject.bramble.client.ClientModule; -import org.briarproject.bramble.contact.ContactModule; -import org.briarproject.bramble.crypto.CryptoExecutorModule; -import org.briarproject.bramble.crypto.CryptoModule; -import org.briarproject.bramble.data.DataModule; -import org.briarproject.bramble.db.DatabaseExecutorModule; -import org.briarproject.bramble.db.DatabaseModule; -import org.briarproject.bramble.event.DefaultEventExecutorModule; -import org.briarproject.bramble.event.EventModule; -import org.briarproject.bramble.identity.IdentityModule; -import org.briarproject.bramble.lifecycle.LifecycleModule; -import org.briarproject.bramble.sync.SyncModule; -import org.briarproject.bramble.sync.validation.ValidationModule; -import org.briarproject.bramble.system.SystemModule; -import org.briarproject.bramble.test.TestDatabaseConfigModule; -import org.briarproject.bramble.test.TestPluginConfigModule; -import org.briarproject.bramble.test.TestSecureRandomModule; +import org.briarproject.bramble.test.BrambleCoreIntegrationTestModule; import org.briarproject.bramble.test.TestSocksModule; -import org.briarproject.bramble.transport.TransportModule; -import org.briarproject.bramble.versioning.VersioningModule; import org.briarproject.briar.api.blog.BlogManager; import org.briarproject.briar.api.feed.FeedManager; import org.briarproject.briar.blog.BlogModule; @@ -34,57 +18,23 @@ import dagger.Component; @Singleton @Component(modules = { - TestDatabaseConfigModule.class, - TestDnsModule.class, - TestPluginConfigModule.class, - TestSecureRandomModule.class, - TestSocksModule.class, + BrambleCoreIntegrationTestModule.class, + BrambleCoreModule.class, BlogModule.class, BriarClientModule.class, - ClientModule.class, - ContactModule.class, - CryptoModule.class, - CryptoExecutorModule.class, - DataModule.class, - DatabaseExecutorModule.class, - DatabaseModule.class, - DefaultEventExecutorModule.class, - EventModule.class, FeedModule.class, - IdentityModule.class, - LifecycleModule.class, - SyncModule.class, - SystemModule.class, - TransportModule.class, - ValidationModule.class, - VersioningModule.class + TestDnsModule.class, + TestSocksModule.class, }) -interface FeedManagerIntegrationTestComponent { +interface FeedManagerIntegrationTestComponent + extends BrambleCoreEagerSingletons { void inject(FeedManagerIntegrationTest testCase); void inject(BlogModule.EagerSingletons init); - void inject(ContactModule.EagerSingletons init); - - void inject(CryptoExecutorModule.EagerSingletons init); - - void inject(DatabaseExecutorModule.EagerSingletons init); - void inject(FeedModule.EagerSingletons init); - void inject(IdentityModule.EagerSingletons init); - - void inject(LifecycleModule.EagerSingletons init); - - void inject(SystemModule.EagerSingletons init); - - void inject(TransportModule.EagerSingletons init); - - void inject(ValidationModule.EagerSingletons init); - - void inject(VersioningModule.EagerSingletons init); - IdentityManager getIdentityManager(); LifecycleManager getLifecycleManager(); diff --git a/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionCryptoIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionCryptoIntegrationTest.java index e05a9ab0e..4966b75e7 100644 --- a/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionCryptoIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionCryptoIntegrationTest.java @@ -1,5 +1,6 @@ package org.briarproject.briar.introduction; +import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.client.ClientHelper; import org.briarproject.bramble.api.crypto.CryptoComponent; import org.briarproject.bramble.api.crypto.KeyPair; @@ -11,6 +12,12 @@ import org.briarproject.bramble.api.plugin.TransportId; import org.briarproject.bramble.api.properties.TransportProperties; import org.briarproject.bramble.test.BrambleTestCase; import org.briarproject.briar.api.client.SessionId; +import org.briarproject.briar.blog.BlogModule; +import org.briarproject.briar.forum.ForumModule; +import org.briarproject.briar.messaging.MessagingModule; +import org.briarproject.briar.privategroup.PrivateGroupModule; +import org.briarproject.briar.privategroup.invitation.GroupInvitationModule; +import org.briarproject.briar.sharing.SharingModule; import org.junit.Test; import java.util.Map; @@ -54,6 +61,7 @@ public class IntroductionCryptoIntegrationTest extends BrambleTestCase { public IntroductionCryptoIntegrationTest() { IntroductionIntegrationTestComponent component = DaggerIntroductionIntegrationTestComponent.builder().build(); + injectEagerSingletons(component); component.inject(this); crypto = new IntroductionCryptoImpl(cryptoComponent, clientHelper); @@ -149,4 +157,15 @@ public class IntroductionCryptoIntegrationTest extends BrambleTestCase { crypto.verifyActivateMac(bobMac, bobMacKey); } + private static void injectEagerSingletons( + IntroductionIntegrationTestComponent component) { + BrambleCoreModule.initEagerSingletons(component); + component.inject(new BlogModule.EagerSingletons()); + component.inject(new ForumModule.EagerSingletons()); + component.inject(new GroupInvitationModule.EagerSingletons()); + component.inject(new IntroductionModule.EagerSingletons()); + component.inject(new MessagingModule.EagerSingletons()); + component.inject(new PrivateGroupModule.EagerSingletons()); + component.inject(new SharingModule.EagerSingletons()); + } } diff --git a/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTestComponent.java b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTestComponent.java index 8f8a33c34..cb0051089 100644 --- a/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTestComponent.java +++ b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTestComponent.java @@ -1,26 +1,7 @@ package org.briarproject.briar.introduction; -import org.briarproject.bramble.client.ClientModule; -import org.briarproject.bramble.contact.ContactModule; -import org.briarproject.bramble.crypto.CryptoExecutorModule; -import org.briarproject.bramble.crypto.CryptoModule; -import org.briarproject.bramble.data.DataModule; -import org.briarproject.bramble.db.DatabaseExecutorModule; -import org.briarproject.bramble.db.DatabaseModule; -import org.briarproject.bramble.event.DefaultEventExecutorModule; -import org.briarproject.bramble.event.EventModule; -import org.briarproject.bramble.identity.IdentityModule; -import org.briarproject.bramble.lifecycle.LifecycleModule; -import org.briarproject.bramble.properties.PropertiesModule; -import org.briarproject.bramble.record.RecordModule; -import org.briarproject.bramble.sync.SyncModule; -import org.briarproject.bramble.sync.validation.ValidationModule; -import org.briarproject.bramble.system.SystemModule; -import org.briarproject.bramble.test.TestDatabaseConfigModule; -import org.briarproject.bramble.test.TestPluginConfigModule; -import org.briarproject.bramble.test.TestSecureRandomModule; -import org.briarproject.bramble.transport.TransportModule; -import org.briarproject.bramble.versioning.VersioningModule; +import org.briarproject.bramble.BrambleCoreModule; +import org.briarproject.bramble.test.BrambleCoreIntegrationTestModule; import org.briarproject.briar.blog.BlogModule; import org.briarproject.briar.client.BriarClientModule; import org.briarproject.briar.forum.ForumModule; @@ -36,35 +17,16 @@ import dagger.Component; @Singleton @Component(modules = { - TestDatabaseConfigModule.class, - TestPluginConfigModule.class, - TestSecureRandomModule.class, + BrambleCoreIntegrationTestModule.class, + BrambleCoreModule.class, BlogModule.class, BriarClientModule.class, - ClientModule.class, - ContactModule.class, - CryptoModule.class, - CryptoExecutorModule.class, - DataModule.class, - DatabaseExecutorModule.class, - DatabaseModule.class, - DefaultEventExecutorModule.class, - EventModule.class, ForumModule.class, GroupInvitationModule.class, - IdentityModule.class, IntroductionModule.class, - LifecycleModule.class, MessagingModule.class, PrivateGroupModule.class, - PropertiesModule.class, - RecordModule.class, - SharingModule.class, - SyncModule.class, - SystemModule.class, - TransportModule.class, - ValidationModule.class, - VersioningModule.class + SharingModule.class }) interface IntroductionIntegrationTestComponent extends BriarIntegrationTestComponent { diff --git a/briar-core/src/test/java/org/briarproject/briar/introduction/MessageEncoderParserIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/introduction/MessageEncoderParserIntegrationTest.java index a6d93a6b9..624eed8c2 100644 --- a/briar-core/src/test/java/org/briarproject/briar/introduction/MessageEncoderParserIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/introduction/MessageEncoderParserIntegrationTest.java @@ -1,5 +1,6 @@ package org.briarproject.briar.introduction; +import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.FormatException; import org.briarproject.bramble.api.client.ClientHelper; import org.briarproject.bramble.api.crypto.PublicKey; @@ -17,6 +18,12 @@ import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.bramble.api.system.Clock; import org.briarproject.bramble.test.BrambleTestCase; import org.briarproject.briar.api.client.SessionId; +import org.briarproject.briar.blog.BlogModule; +import org.briarproject.briar.forum.ForumModule; +import org.briarproject.briar.messaging.MessagingModule; +import org.briarproject.briar.privategroup.PrivateGroupModule; +import org.briarproject.briar.privategroup.invitation.GroupInvitationModule; +import org.briarproject.briar.sharing.SharingModule; import org.junit.Test; import java.util.Map; @@ -74,6 +81,7 @@ public class MessageEncoderParserIntegrationTest extends BrambleTestCase { public MessageEncoderParserIntegrationTest() { IntroductionIntegrationTestComponent component = DaggerIntroductionIntegrationTestComponent.builder().build(); + injectEagerSingletons(component); component.inject(this); messageEncoder = new MessageEncoderImpl(clientHelper, messageFactory); @@ -246,4 +254,15 @@ public class MessageEncoderParserIntegrationTest extends BrambleTestCase { assertEquals(sessionId, am.getSessionId()); } + private static void injectEagerSingletons( + IntroductionIntegrationTestComponent component) { + BrambleCoreModule.initEagerSingletons(component); + component.inject(new BlogModule.EagerSingletons()); + component.inject(new ForumModule.EagerSingletons()); + component.inject(new GroupInvitationModule.EagerSingletons()); + component.inject(new IntroductionModule.EagerSingletons()); + component.inject(new MessagingModule.EagerSingletons()); + component.inject(new PrivateGroupModule.EagerSingletons()); + component.inject(new SharingModule.EagerSingletons()); + } } diff --git a/briar-core/src/test/java/org/briarproject/briar/introduction/SessionEncoderParserIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/introduction/SessionEncoderParserIntegrationTest.java index ae31dcf06..9fcd8bd47 100644 --- a/briar-core/src/test/java/org/briarproject/briar/introduction/SessionEncoderParserIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/introduction/SessionEncoderParserIntegrationTest.java @@ -1,5 +1,6 @@ package org.briarproject.briar.introduction; +import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.FormatException; import org.briarproject.bramble.api.client.ClientHelper; import org.briarproject.bramble.api.crypto.PrivateKey; @@ -15,7 +16,13 @@ import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.bramble.api.transport.KeySetId; import org.briarproject.bramble.test.BrambleTestCase; import org.briarproject.briar.api.client.SessionId; +import org.briarproject.briar.blog.BlogModule; +import org.briarproject.briar.forum.ForumModule; import org.briarproject.briar.introduction.IntroducerSession.Introducee; +import org.briarproject.briar.messaging.MessagingModule; +import org.briarproject.briar.privategroup.PrivateGroupModule; +import org.briarproject.briar.privategroup.invitation.GroupInvitationModule; +import org.briarproject.briar.sharing.SharingModule; import org.junit.Test; import java.util.HashMap; @@ -83,6 +90,7 @@ public class SessionEncoderParserIntegrationTest extends BrambleTestCase { public SessionEncoderParserIntegrationTest() { IntroductionIntegrationTestComponent component = DaggerIntroductionIntegrationTestComponent.builder().build(); + injectEagerSingletons(component); component.inject(this); sessionEncoder = new SessionEncoderImpl(clientHelper); @@ -339,4 +347,15 @@ public class SessionEncoderParserIntegrationTest extends BrambleTestCase { assertEquals(i1.lastRemoteMessageId, i2.lastRemoteMessageId); } + private static void injectEagerSingletons( + IntroductionIntegrationTestComponent component) { + BrambleCoreModule.initEagerSingletons(component); + component.inject(new BlogModule.EagerSingletons()); + component.inject(new ForumModule.EagerSingletons()); + component.inject(new GroupInvitationModule.EagerSingletons()); + component.inject(new IntroductionModule.EagerSingletons()); + component.inject(new MessagingModule.EagerSingletons()); + component.inject(new PrivateGroupModule.EagerSingletons()); + component.inject(new SharingModule.EagerSingletons()); + } } diff --git a/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java index 46b762526..98d8c813b 100644 --- a/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java @@ -1,20 +1,12 @@ package org.briarproject.briar.messaging; +import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.UniqueId; import org.briarproject.bramble.api.crypto.CryptoComponent; import org.briarproject.bramble.api.identity.AuthorFactory; import org.briarproject.bramble.api.identity.LocalAuthor; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; -import org.briarproject.bramble.contact.ContactModule; -import org.briarproject.bramble.crypto.CryptoExecutorModule; -import org.briarproject.bramble.db.DatabaseExecutorModule; -import org.briarproject.bramble.identity.IdentityModule; -import org.briarproject.bramble.lifecycle.LifecycleModule; -import org.briarproject.bramble.sync.validation.ValidationModule; -import org.briarproject.bramble.system.SystemModule; -import org.briarproject.bramble.transport.TransportModule; -import org.briarproject.bramble.versioning.VersioningModule; import org.briarproject.briar.api.forum.ForumPost; import org.briarproject.briar.api.forum.ForumPostFactory; import org.briarproject.briar.api.messaging.PrivateMessage; @@ -90,16 +82,8 @@ public class MessageSizeIntegrationTest extends BriarTestCase { private static void injectEagerSingletons( MessageSizeIntegrationTestComponent component) { - component.inject(new ContactModule.EagerSingletons()); - component.inject(new CryptoExecutorModule.EagerSingletons()); - component.inject(new DatabaseExecutorModule.EagerSingletons()); + BrambleCoreModule.initEagerSingletons(component); component.inject(new ForumModule.EagerSingletons()); - component.inject(new IdentityModule.EagerSingletons()); - component.inject(new LifecycleModule.EagerSingletons()); component.inject(new MessagingModule.EagerSingletons()); - component.inject(new SystemModule.EagerSingletons()); - component.inject(new TransportModule.EagerSingletons()); - component.inject(new ValidationModule.EagerSingletons()); - component.inject(new VersioningModule.EagerSingletons()); } } diff --git a/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTestComponent.java b/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTestComponent.java index 71e3b458e..6a99ecdfe 100644 --- a/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTestComponent.java +++ b/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTestComponent.java @@ -1,24 +1,8 @@ package org.briarproject.briar.messaging; -import org.briarproject.bramble.client.ClientModule; -import org.briarproject.bramble.contact.ContactModule; -import org.briarproject.bramble.crypto.CryptoExecutorModule; -import org.briarproject.bramble.crypto.CryptoModule; -import org.briarproject.bramble.data.DataModule; -import org.briarproject.bramble.db.DatabaseExecutorModule; -import org.briarproject.bramble.db.DatabaseModule; -import org.briarproject.bramble.event.DefaultEventExecutorModule; -import org.briarproject.bramble.event.EventModule; -import org.briarproject.bramble.identity.IdentityModule; -import org.briarproject.bramble.lifecycle.LifecycleModule; -import org.briarproject.bramble.sync.SyncModule; -import org.briarproject.bramble.sync.validation.ValidationModule; -import org.briarproject.bramble.system.SystemModule; -import org.briarproject.bramble.test.TestDatabaseConfigModule; -import org.briarproject.bramble.test.TestPluginConfigModule; -import org.briarproject.bramble.test.TestSecureRandomModule; -import org.briarproject.bramble.transport.TransportModule; -import org.briarproject.bramble.versioning.VersioningModule; +import org.briarproject.bramble.BrambleCoreEagerSingletons; +import org.briarproject.bramble.BrambleCoreModule; +import org.briarproject.bramble.test.BrambleCoreIntegrationTestModule; import org.briarproject.briar.client.BriarClientModule; import org.briarproject.briar.forum.ForumModule; @@ -28,52 +12,18 @@ import dagger.Component; @Singleton @Component(modules = { - TestDatabaseConfigModule.class, - TestPluginConfigModule.class, - TestSecureRandomModule.class, + BrambleCoreIntegrationTestModule.class, + BrambleCoreModule.class, BriarClientModule.class, - ClientModule.class, - ContactModule.class, - CryptoModule.class, - CryptoExecutorModule.class, - DataModule.class, - DatabaseExecutorModule.class, - DatabaseModule.class, - DefaultEventExecutorModule.class, - EventModule.class, ForumModule.class, - IdentityModule.class, - LifecycleModule.class, - MessagingModule.class, - SyncModule.class, - SystemModule.class, - TransportModule.class, - ValidationModule.class, - VersioningModule.class + MessagingModule.class }) -interface MessageSizeIntegrationTestComponent { +interface MessageSizeIntegrationTestComponent + extends BrambleCoreEagerSingletons { void inject(MessageSizeIntegrationTest testCase); - void inject(ContactModule.EagerSingletons init); - - void inject(CryptoExecutorModule.EagerSingletons init); - - void inject(DatabaseExecutorModule.EagerSingletons init); - void inject(ForumModule.EagerSingletons init); - void inject(IdentityModule.EagerSingletons init); - - void inject(LifecycleModule.EagerSingletons init); - void inject(MessagingModule.EagerSingletons init); - - void inject(SystemModule.EagerSingletons init); - - void inject(TransportModule.EagerSingletons init); - - void inject(ValidationModule.EagerSingletons init); - - void inject(VersioningModule.EagerSingletons init); } diff --git a/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java index 111a61c00..dbc5b9ea4 100644 --- a/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java @@ -1,5 +1,6 @@ package org.briarproject.briar.messaging; +import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.contact.ContactId; import org.briarproject.bramble.api.contact.ContactManager; import org.briarproject.bramble.api.crypto.SecretKey; @@ -19,16 +20,7 @@ import org.briarproject.bramble.api.transport.StreamContext; import org.briarproject.bramble.api.transport.StreamReaderFactory; import org.briarproject.bramble.api.transport.StreamWriter; import org.briarproject.bramble.api.transport.StreamWriterFactory; -import org.briarproject.bramble.contact.ContactModule; -import org.briarproject.bramble.crypto.CryptoExecutorModule; -import org.briarproject.bramble.db.DatabaseExecutorModule; -import org.briarproject.bramble.identity.IdentityModule; -import org.briarproject.bramble.lifecycle.LifecycleModule; -import org.briarproject.bramble.sync.validation.ValidationModule; -import org.briarproject.bramble.system.SystemModule; import org.briarproject.bramble.test.TestDatabaseConfigModule; -import org.briarproject.bramble.transport.TransportModule; -import org.briarproject.bramble.versioning.VersioningModule; import org.briarproject.briar.api.messaging.MessagingManager; import org.briarproject.briar.api.messaging.PrivateMessage; import org.briarproject.briar.api.messaging.PrivateMessageFactory; @@ -210,16 +202,8 @@ public class SimplexMessagingIntegrationTest extends BriarTestCase { private static void injectEagerSingletons( SimplexMessagingIntegrationTestComponent component) { - component.inject(new ContactModule.EagerSingletons()); - component.inject(new CryptoExecutorModule.EagerSingletons()); - component.inject(new DatabaseExecutorModule.EagerSingletons()); - component.inject(new IdentityModule.EagerSingletons()); - component.inject(new LifecycleModule.EagerSingletons()); + BrambleCoreModule.initEagerSingletons(component); component.inject(new MessagingModule.EagerSingletons()); - component.inject(new SystemModule.EagerSingletons()); - component.inject(new TransportModule.EagerSingletons()); - component.inject(new ValidationModule.EagerSingletons()); - component.inject(new VersioningModule.EagerSingletons()); } @NotNullByDefault diff --git a/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTestComponent.java b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTestComponent.java index bff37908a..411c97beb 100644 --- a/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTestComponent.java +++ b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTestComponent.java @@ -1,5 +1,7 @@ package org.briarproject.briar.messaging; +import org.briarproject.bramble.BrambleCoreEagerSingletons; +import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.contact.ContactManager; import org.briarproject.bramble.api.event.EventBus; import org.briarproject.bramble.api.identity.IdentityManager; @@ -8,26 +10,7 @@ import org.briarproject.bramble.api.sync.SyncSessionFactory; import org.briarproject.bramble.api.transport.KeyManager; import org.briarproject.bramble.api.transport.StreamReaderFactory; import org.briarproject.bramble.api.transport.StreamWriterFactory; -import org.briarproject.bramble.client.ClientModule; -import org.briarproject.bramble.contact.ContactModule; -import org.briarproject.bramble.crypto.CryptoExecutorModule; -import org.briarproject.bramble.crypto.CryptoModule; -import org.briarproject.bramble.data.DataModule; -import org.briarproject.bramble.db.DatabaseExecutorModule; -import org.briarproject.bramble.db.DatabaseModule; -import org.briarproject.bramble.event.DefaultEventExecutorModule; -import org.briarproject.bramble.event.EventModule; -import org.briarproject.bramble.identity.IdentityModule; -import org.briarproject.bramble.lifecycle.LifecycleModule; -import org.briarproject.bramble.record.RecordModule; -import org.briarproject.bramble.sync.SyncModule; -import org.briarproject.bramble.sync.validation.ValidationModule; -import org.briarproject.bramble.system.SystemModule; -import org.briarproject.bramble.test.TestDatabaseConfigModule; -import org.briarproject.bramble.test.TestPluginConfigModule; -import org.briarproject.bramble.test.TestSecureRandomModule; -import org.briarproject.bramble.transport.TransportModule; -import org.briarproject.bramble.versioning.VersioningModule; +import org.briarproject.bramble.test.BrambleCoreIntegrationTestModule; import org.briarproject.briar.api.messaging.MessagingManager; import org.briarproject.briar.api.messaging.PrivateMessageFactory; import org.briarproject.briar.client.BriarClientModule; @@ -38,51 +21,16 @@ import dagger.Component; @Singleton @Component(modules = { - TestDatabaseConfigModule.class, - TestPluginConfigModule.class, - TestSecureRandomModule.class, + BrambleCoreIntegrationTestModule.class, + BrambleCoreModule.class, BriarClientModule.class, - ClientModule.class, - ContactModule.class, - CryptoExecutorModule.class, - CryptoModule.class, - DataModule.class, - DatabaseExecutorModule.class, - DatabaseModule.class, - DefaultEventExecutorModule.class, - EventModule.class, - IdentityModule.class, - LifecycleModule.class, - MessagingModule.class, - RecordModule.class, - SyncModule.class, - SystemModule.class, - TransportModule.class, - ValidationModule.class, - VersioningModule.class + MessagingModule.class }) -interface SimplexMessagingIntegrationTestComponent { - - void inject(CryptoExecutorModule.EagerSingletons init); - - void inject(ContactModule.EagerSingletons init); - - void inject(DatabaseExecutorModule.EagerSingletons init); - - void inject(IdentityModule.EagerSingletons init); - - void inject(LifecycleModule.EagerSingletons init); +interface SimplexMessagingIntegrationTestComponent + extends BrambleCoreEagerSingletons { void inject(MessagingModule.EagerSingletons init); - void inject(SystemModule.EagerSingletons init); - - void inject(TransportModule.EagerSingletons init); - - void inject(ValidationModule.EagerSingletons init); - - void inject(VersioningModule.EagerSingletons init); - LifecycleManager getLifecycleManager(); IdentityManager getIdentityManager(); diff --git a/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTest.java index 0d408703f..bc451f586 100644 --- a/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTest.java @@ -2,6 +2,7 @@ package org.briarproject.briar.test; import net.jodah.concurrentunit.Waiter; +import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.FormatException; import org.briarproject.bramble.api.client.ClientHelper; import org.briarproject.bramble.api.client.ContactGroupFactory; @@ -28,17 +29,7 @@ import org.briarproject.bramble.api.sync.SyncSessionFactory; import org.briarproject.bramble.api.sync.event.MessageStateChangedEvent; import org.briarproject.bramble.api.system.Clock; import org.briarproject.bramble.api.transport.StreamWriter; -import org.briarproject.bramble.contact.ContactModule; -import org.briarproject.bramble.crypto.CryptoExecutorModule; -import org.briarproject.bramble.db.DatabaseExecutorModule; -import org.briarproject.bramble.identity.IdentityModule; -import org.briarproject.bramble.lifecycle.LifecycleModule; -import org.briarproject.bramble.properties.PropertiesModule; -import org.briarproject.bramble.sync.validation.ValidationModule; -import org.briarproject.bramble.system.SystemModule; import org.briarproject.bramble.test.TestUtils; -import org.briarproject.bramble.transport.TransportModule; -import org.briarproject.bramble.versioning.VersioningModule; import org.briarproject.briar.api.blog.BlogFactory; import org.briarproject.briar.api.blog.BlogPostFactory; import org.briarproject.briar.api.client.MessageTracker; @@ -186,23 +177,14 @@ public abstract class BriarIntegrationTest init); void inject(BlogModule.EagerSingletons init); - void inject(ContactModule.EagerSingletons init); - - void inject(CryptoExecutorModule.EagerSingletons init); - - void inject(DatabaseExecutorModule.EagerSingletons init); - void inject(ForumModule.EagerSingletons init); void inject(GroupInvitationModule.EagerSingletons init); - void inject(IdentityModule.EagerSingletons init); - void inject(IntroductionModule.EagerSingletons init); - void inject(LifecycleModule.EagerSingletons init); - void inject(MessagingModule.EagerSingletons init); void inject(PrivateGroupModule.EagerSingletons init); - void inject(PropertiesModule.EagerSingletons init); - void inject(SharingModule.EagerSingletons init); - void inject(SystemModule.EagerSingletons init); - - void inject(TransportModule.EagerSingletons init); - - void inject(ValidationModule.EagerSingletons init); - - void inject(VersioningModule.EagerSingletons init); - LifecycleManager getLifecycleManager(); EventBus getEventBus(); From d964f06de1c6e810807349e83692b8160cec8abf Mon Sep 17 00:00:00 2001 From: akwizgran Date: Fri, 31 May 2019 14:16:50 +0100 Subject: [PATCH 3/5] Use default methods for easier maintenance. --- .../bramble/BrambleCoreEagerSingletons.java | 14 +++++++++++++ .../bramble/BrambleCoreModule.java | 12 +---------- .../bramble/sync/SyncIntegrationTest.java | 3 +-- .../bramble/plugin/tor/BridgeTest.java | 5 ++--- .../blog/BlogManagerIntegrationTest.java | 8 +++---- .../feed/FeedManagerIntegrationTest.java | 12 +---------- .../FeedManagerIntegrationTestComponent.java | 6 ++++++ .../briar/forum/ForumManagerTest.java | 8 +++---- .../IntroductionCryptoIntegrationTest.java | 21 +------------------ .../IntroductionIntegrationTest.java | 8 +++---- .../MessageEncoderParserIntegrationTest.java | 21 +------------------ .../SessionEncoderParserIntegrationTest.java | 21 +------------------ .../messaging/MessageSizeIntegrationTest.java | 11 +--------- .../MessageSizeIntegrationTestComponent.java | 6 ++++++ .../SimplexMessagingIntegrationTest.java | 11 ++-------- ...plexMessagingIntegrationTestComponent.java | 5 +++++ .../PrivateGroupIntegrationTest.java | 8 +++---- .../PrivateGroupManagerIntegrationTest.java | 8 +++---- .../GroupInvitationIntegrationTest.java | 8 +++---- .../sharing/BlogSharingIntegrationTest.java | 8 +++---- .../sharing/ForumSharingIntegrationTest.java | 8 +++---- .../briar/test/BriarIntegrationTest.java | 20 ------------------ .../test/BriarIntegrationTestComponent.java | 11 ++++++++++ .../briar/headless/BriarHeadlessApp.kt | 1 + .../briar/headless/BriarHeadlessTestApp.kt | 1 + 25 files changed, 87 insertions(+), 158 deletions(-) diff --git a/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreEagerSingletons.java b/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreEagerSingletons.java index 38ea906b9..6ca1c4ec8 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreEagerSingletons.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreEagerSingletons.java @@ -35,4 +35,18 @@ public interface BrambleCoreEagerSingletons { void inject(ValidationModule.EagerSingletons init); void inject(VersioningModule.EagerSingletons init); + + default void injectBrambleCoreEagerSingletons() { + inject(new ContactModule.EagerSingletons()); + inject(new CryptoExecutorModule.EagerSingletons()); + inject(new DatabaseExecutorModule.EagerSingletons()); + inject(new IdentityModule.EagerSingletons()); + inject(new LifecycleModule.EagerSingletons()); + inject(new PluginModule.EagerSingletons()); + inject(new PropertiesModule.EagerSingletons()); + inject(new SystemModule.EagerSingletons()); + inject(new TransportModule.EagerSingletons()); + inject(new ValidationModule.EagerSingletons()); + inject(new VersioningModule.EagerSingletons()); + } } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreModule.java b/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreModule.java index 999d81309..27b1f60f8 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreModule.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreModule.java @@ -52,16 +52,6 @@ import dagger.Module; public class BrambleCoreModule { public static void initEagerSingletons(BrambleCoreEagerSingletons c) { - c.inject(new ContactModule.EagerSingletons()); - c.inject(new CryptoExecutorModule.EagerSingletons()); - c.inject(new DatabaseExecutorModule.EagerSingletons()); - c.inject(new IdentityModule.EagerSingletons()); - c.inject(new LifecycleModule.EagerSingletons()); - c.inject(new PluginModule.EagerSingletons()); - c.inject(new PropertiesModule.EagerSingletons()); - c.inject(new SystemModule.EagerSingletons()); - c.inject(new TransportModule.EagerSingletons()); - c.inject(new ValidationModule.EagerSingletons()); - c.inject(new VersioningModule.EagerSingletons()); + c.injectBrambleCoreEagerSingletons(); } } diff --git a/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTest.java b/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTest.java index eb200a695..8efe630f6 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTest.java @@ -1,6 +1,5 @@ package org.briarproject.bramble.sync; -import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.contact.ContactId; import org.briarproject.bramble.api.crypto.SecretKey; import org.briarproject.bramble.api.crypto.TransportCrypto; @@ -73,7 +72,7 @@ public class SyncIntegrationTest extends BrambleTestCase { SyncIntegrationTestComponent component = DaggerSyncIntegrationTestComponent.builder().build(); - BrambleCoreModule.initEagerSingletons(component); + component.injectBrambleCoreEagerSingletons(); component.inject(this); contactId = getContactId(); diff --git a/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java b/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java index c97205c48..a31b1a1ed 100644 --- a/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java +++ b/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java @@ -1,6 +1,5 @@ package org.briarproject.bramble.plugin.tor; -import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.battery.BatteryManager; import org.briarproject.bramble.api.event.EventBus; import org.briarproject.bramble.api.lifecycle.IoExecutor; @@ -46,7 +45,7 @@ public class BridgeTest extends BrambleTestCase { public static Iterable data() { BrambleJavaIntegrationTestComponent component = DaggerBrambleJavaIntegrationTestComponent.builder().build(); - BrambleCoreModule.initEagerSingletons(component); + component.injectBrambleCoreEagerSingletons(); return component.getCircumventionProvider().getBridges(false); } @@ -91,7 +90,7 @@ public class BridgeTest extends BrambleTestCase { BrambleJavaIntegrationTestComponent component = DaggerBrambleJavaIntegrationTestComponent.builder().build(); - BrambleCoreModule.initEagerSingletons(component); + component.injectBrambleCoreEagerSingletons(); component.inject(this); LocationUtils locationUtils = () -> "US"; diff --git a/briar-core/src/test/java/org/briarproject/briar/blog/BlogManagerIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/blog/BlogManagerIntegrationTest.java index 422b985da..780dd5525 100644 --- a/briar-core/src/test/java/org/briarproject/briar/blog/BlogManagerIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/blog/BlogManagerIntegrationTest.java @@ -65,23 +65,23 @@ public class BlogManagerIntegrationTest protected void createComponents() { BriarIntegrationTestComponent component = DaggerBriarIntegrationTestComponent.builder().build(); - injectEagerSingletons(component); + component.injectBriarEagerSingletons(); component.inject(this); c0 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) .build(); - injectEagerSingletons(c0); + c0.injectBriarEagerSingletons(); c1 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) .build(); - injectEagerSingletons(c1); + c1.injectBriarEagerSingletons(); c2 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) .build(); - injectEagerSingletons(c2); + c2.injectBriarEagerSingletons(); } @Test diff --git a/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTest.java index 1d7c215ac..f669cf8cf 100644 --- a/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTest.java @@ -1,6 +1,5 @@ package org.briarproject.briar.feed; -import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.identity.Identity; import org.briarproject.bramble.api.identity.IdentityManager; import org.briarproject.bramble.api.lifecycle.LifecycleManager; @@ -11,7 +10,6 @@ import org.briarproject.briar.api.blog.BlogManager; import org.briarproject.briar.api.blog.BlogPostHeader; import org.briarproject.briar.api.feed.Feed; import org.briarproject.briar.api.feed.FeedManager; -import org.briarproject.briar.blog.BlogModule; import org.briarproject.briar.test.BriarTestCase; import org.junit.After; import org.junit.Before; @@ -40,7 +38,7 @@ public class FeedManagerIntegrationTest extends BriarTestCase { DaggerFeedManagerIntegrationTestComponent.builder() .testDatabaseConfigModule( new TestDatabaseConfigModule(testFile)).build(); - injectEagerSingletons(component); + component.injectFeedManagerEagerSingletons(); component.inject(this); IdentityManager identityManager = component.getIdentityManager(); @@ -111,12 +109,4 @@ public class FeedManagerIntegrationTest extends BriarTestCase { lifecycleManager.waitForShutdown(); TestUtils.deleteTestDirectory(testDir); } - - protected void injectEagerSingletons( - FeedManagerIntegrationTestComponent component) { - BrambleCoreModule.initEagerSingletons(component); - component.inject(new BlogModule.EagerSingletons()); - component.inject(new FeedModule.EagerSingletons()); - } - } diff --git a/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTestComponent.java b/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTestComponent.java index 45570afc6..279e8e25e 100644 --- a/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTestComponent.java +++ b/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTestComponent.java @@ -35,6 +35,12 @@ interface FeedManagerIntegrationTestComponent void inject(FeedModule.EagerSingletons init); + default void injectFeedManagerEagerSingletons() { + injectBrambleCoreEagerSingletons(); + inject(new BlogModule.EagerSingletons()); + inject(new FeedModule.EagerSingletons()); + } + IdentityManager getIdentityManager(); LifecycleManager getLifecycleManager(); diff --git a/briar-core/src/test/java/org/briarproject/briar/forum/ForumManagerTest.java b/briar-core/src/test/java/org/briarproject/briar/forum/ForumManagerTest.java index 9c6a7c644..50cc3eea1 100644 --- a/briar-core/src/test/java/org/briarproject/briar/forum/ForumManagerTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/forum/ForumManagerTest.java @@ -56,23 +56,23 @@ public class ForumManagerTest protected void createComponents() { BriarIntegrationTestComponent component = DaggerBriarIntegrationTestComponent.builder().build(); - injectEagerSingletons(component); + component.injectBriarEagerSingletons(); component.inject(this); c0 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) .build(); - injectEagerSingletons(c0); + c0.injectBriarEagerSingletons(); c1 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) .build(); - injectEagerSingletons(c1); + c1.injectBriarEagerSingletons(); c2 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) .build(); - injectEagerSingletons(c2); + c2.injectBriarEagerSingletons(); } private ForumPost createForumPost(GroupId groupId, diff --git a/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionCryptoIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionCryptoIntegrationTest.java index 4966b75e7..912a5f90d 100644 --- a/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionCryptoIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionCryptoIntegrationTest.java @@ -1,6 +1,5 @@ package org.briarproject.briar.introduction; -import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.client.ClientHelper; import org.briarproject.bramble.api.crypto.CryptoComponent; import org.briarproject.bramble.api.crypto.KeyPair; @@ -12,12 +11,6 @@ import org.briarproject.bramble.api.plugin.TransportId; import org.briarproject.bramble.api.properties.TransportProperties; import org.briarproject.bramble.test.BrambleTestCase; import org.briarproject.briar.api.client.SessionId; -import org.briarproject.briar.blog.BlogModule; -import org.briarproject.briar.forum.ForumModule; -import org.briarproject.briar.messaging.MessagingModule; -import org.briarproject.briar.privategroup.PrivateGroupModule; -import org.briarproject.briar.privategroup.invitation.GroupInvitationModule; -import org.briarproject.briar.sharing.SharingModule; import org.junit.Test; import java.util.Map; @@ -61,7 +54,7 @@ public class IntroductionCryptoIntegrationTest extends BrambleTestCase { public IntroductionCryptoIntegrationTest() { IntroductionIntegrationTestComponent component = DaggerIntroductionIntegrationTestComponent.builder().build(); - injectEagerSingletons(component); + component.injectBriarEagerSingletons(); component.inject(this); crypto = new IntroductionCryptoImpl(cryptoComponent, clientHelper); @@ -156,16 +149,4 @@ public class IntroductionCryptoIntegrationTest extends BrambleTestCase { byte[] bobMac = crypto.activateMac(bobMacKey); crypto.verifyActivateMac(bobMac, bobMacKey); } - - private static void injectEagerSingletons( - IntroductionIntegrationTestComponent component) { - BrambleCoreModule.initEagerSingletons(component); - component.inject(new BlogModule.EagerSingletons()); - component.inject(new ForumModule.EagerSingletons()); - component.inject(new GroupInvitationModule.EagerSingletons()); - component.inject(new IntroductionModule.EagerSingletons()); - component.inject(new MessagingModule.EagerSingletons()); - component.inject(new PrivateGroupModule.EagerSingletons()); - component.inject(new SharingModule.EagerSingletons()); - } } diff --git a/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java index 8248466e2..4842511a0 100644 --- a/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java @@ -106,23 +106,23 @@ public class IntroductionIntegrationTest protected void createComponents() { IntroductionIntegrationTestComponent component = DaggerIntroductionIntegrationTestComponent.builder().build(); - injectEagerSingletons(component); + component.injectBriarEagerSingletons(); component.inject(this); c0 = DaggerIntroductionIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) .build(); - injectEagerSingletons(c0); + c0.injectBriarEagerSingletons(); c1 = DaggerIntroductionIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) .build(); - injectEagerSingletons(c1); + c1.injectBriarEagerSingletons(); c2 = DaggerIntroductionIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) .build(); - injectEagerSingletons(c2); + c2.injectBriarEagerSingletons(); } @Test diff --git a/briar-core/src/test/java/org/briarproject/briar/introduction/MessageEncoderParserIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/introduction/MessageEncoderParserIntegrationTest.java index 624eed8c2..9a730956c 100644 --- a/briar-core/src/test/java/org/briarproject/briar/introduction/MessageEncoderParserIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/introduction/MessageEncoderParserIntegrationTest.java @@ -1,6 +1,5 @@ package org.briarproject.briar.introduction; -import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.FormatException; import org.briarproject.bramble.api.client.ClientHelper; import org.briarproject.bramble.api.crypto.PublicKey; @@ -18,12 +17,6 @@ import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.bramble.api.system.Clock; import org.briarproject.bramble.test.BrambleTestCase; import org.briarproject.briar.api.client.SessionId; -import org.briarproject.briar.blog.BlogModule; -import org.briarproject.briar.forum.ForumModule; -import org.briarproject.briar.messaging.MessagingModule; -import org.briarproject.briar.privategroup.PrivateGroupModule; -import org.briarproject.briar.privategroup.invitation.GroupInvitationModule; -import org.briarproject.briar.sharing.SharingModule; import org.junit.Test; import java.util.Map; @@ -81,7 +74,7 @@ public class MessageEncoderParserIntegrationTest extends BrambleTestCase { public MessageEncoderParserIntegrationTest() { IntroductionIntegrationTestComponent component = DaggerIntroductionIntegrationTestComponent.builder().build(); - injectEagerSingletons(component); + component.injectBriarEagerSingletons(); component.inject(this); messageEncoder = new MessageEncoderImpl(clientHelper, messageFactory); @@ -253,16 +246,4 @@ public class MessageEncoderParserIntegrationTest extends BrambleTestCase { assertEquals(previousMsgId, am.getPreviousMessageId()); assertEquals(sessionId, am.getSessionId()); } - - private static void injectEagerSingletons( - IntroductionIntegrationTestComponent component) { - BrambleCoreModule.initEagerSingletons(component); - component.inject(new BlogModule.EagerSingletons()); - component.inject(new ForumModule.EagerSingletons()); - component.inject(new GroupInvitationModule.EagerSingletons()); - component.inject(new IntroductionModule.EagerSingletons()); - component.inject(new MessagingModule.EagerSingletons()); - component.inject(new PrivateGroupModule.EagerSingletons()); - component.inject(new SharingModule.EagerSingletons()); - } } diff --git a/briar-core/src/test/java/org/briarproject/briar/introduction/SessionEncoderParserIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/introduction/SessionEncoderParserIntegrationTest.java index 9fcd8bd47..c1ac51d94 100644 --- a/briar-core/src/test/java/org/briarproject/briar/introduction/SessionEncoderParserIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/introduction/SessionEncoderParserIntegrationTest.java @@ -1,6 +1,5 @@ package org.briarproject.briar.introduction; -import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.FormatException; import org.briarproject.bramble.api.client.ClientHelper; import org.briarproject.bramble.api.crypto.PrivateKey; @@ -16,13 +15,7 @@ import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.bramble.api.transport.KeySetId; import org.briarproject.bramble.test.BrambleTestCase; import org.briarproject.briar.api.client.SessionId; -import org.briarproject.briar.blog.BlogModule; -import org.briarproject.briar.forum.ForumModule; import org.briarproject.briar.introduction.IntroducerSession.Introducee; -import org.briarproject.briar.messaging.MessagingModule; -import org.briarproject.briar.privategroup.PrivateGroupModule; -import org.briarproject.briar.privategroup.invitation.GroupInvitationModule; -import org.briarproject.briar.sharing.SharingModule; import org.junit.Test; import java.util.HashMap; @@ -90,7 +83,7 @@ public class SessionEncoderParserIntegrationTest extends BrambleTestCase { public SessionEncoderParserIntegrationTest() { IntroductionIntegrationTestComponent component = DaggerIntroductionIntegrationTestComponent.builder().build(); - injectEagerSingletons(component); + component.injectBriarEagerSingletons(); component.inject(this); sessionEncoder = new SessionEncoderImpl(clientHelper); @@ -346,16 +339,4 @@ public class SessionEncoderParserIntegrationTest extends BrambleTestCase { assertEquals(i1.lastLocalMessageId, i2.lastLocalMessageId); assertEquals(i1.lastRemoteMessageId, i2.lastRemoteMessageId); } - - private static void injectEagerSingletons( - IntroductionIntegrationTestComponent component) { - BrambleCoreModule.initEagerSingletons(component); - component.inject(new BlogModule.EagerSingletons()); - component.inject(new ForumModule.EagerSingletons()); - component.inject(new GroupInvitationModule.EagerSingletons()); - component.inject(new IntroductionModule.EagerSingletons()); - component.inject(new MessagingModule.EagerSingletons()); - component.inject(new PrivateGroupModule.EagerSingletons()); - component.inject(new SharingModule.EagerSingletons()); - } } diff --git a/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java index 98d8c813b..1d53b0907 100644 --- a/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java @@ -1,6 +1,5 @@ package org.briarproject.briar.messaging; -import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.UniqueId; import org.briarproject.bramble.api.crypto.CryptoComponent; import org.briarproject.bramble.api.identity.AuthorFactory; @@ -11,7 +10,6 @@ import org.briarproject.briar.api.forum.ForumPost; import org.briarproject.briar.api.forum.ForumPostFactory; import org.briarproject.briar.api.messaging.PrivateMessage; import org.briarproject.briar.api.messaging.PrivateMessageFactory; -import org.briarproject.briar.forum.ForumModule; import org.briarproject.briar.test.BriarTestCase; import org.junit.Test; @@ -41,7 +39,7 @@ public class MessageSizeIntegrationTest extends BriarTestCase { public MessageSizeIntegrationTest() { MessageSizeIntegrationTestComponent component = DaggerMessageSizeIntegrationTestComponent.builder().build(); - injectEagerSingletons(component); + component.injectMessageSizeEagerSingletons(); component.inject(this); } @@ -79,11 +77,4 @@ public class MessageSizeIntegrationTest extends BriarTestCase { + MAX_FORUM_POST_TEXT_LENGTH); assertTrue(length <= MAX_RECORD_PAYLOAD_BYTES); } - - private static void injectEagerSingletons( - MessageSizeIntegrationTestComponent component) { - BrambleCoreModule.initEagerSingletons(component); - component.inject(new ForumModule.EagerSingletons()); - component.inject(new MessagingModule.EagerSingletons()); - } } diff --git a/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTestComponent.java b/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTestComponent.java index 6a99ecdfe..9c2cbd953 100644 --- a/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTestComponent.java +++ b/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTestComponent.java @@ -26,4 +26,10 @@ interface MessageSizeIntegrationTestComponent void inject(ForumModule.EagerSingletons init); void inject(MessagingModule.EagerSingletons init); + + default void injectMessageSizeEagerSingletons() { + injectBrambleCoreEagerSingletons(); + inject(new ForumModule.EagerSingletons()); + inject(new MessagingModule.EagerSingletons()); + } } diff --git a/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java index dbc5b9ea4..9f3719676 100644 --- a/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java @@ -1,6 +1,5 @@ package org.briarproject.briar.messaging; -import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.contact.ContactId; import org.briarproject.bramble.api.contact.ContactManager; import org.briarproject.bramble.api.crypto.SecretKey; @@ -67,11 +66,11 @@ public class SimplexMessagingIntegrationTest extends BriarTestCase { alice = DaggerSimplexMessagingIntegrationTestComponent.builder() .testDatabaseConfigModule( new TestDatabaseConfigModule(aliceDir)).build(); - injectEagerSingletons(alice); + alice.injectSimplexMessagingEagerSingletons(); bob = DaggerSimplexMessagingIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(bobDir)) .build(); - injectEagerSingletons(bob); + bob.injectSimplexMessagingEagerSingletons(); } @Test @@ -200,12 +199,6 @@ public class SimplexMessagingIntegrationTest extends BriarTestCase { deleteTestDirectory(testDir); } - private static void injectEagerSingletons( - SimplexMessagingIntegrationTestComponent component) { - BrambleCoreModule.initEagerSingletons(component); - component.inject(new MessagingModule.EagerSingletons()); - } - @NotNullByDefault private static class MessageDeliveryListener implements EventListener { diff --git a/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTestComponent.java b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTestComponent.java index 411c97beb..ed43f4bef 100644 --- a/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTestComponent.java +++ b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTestComponent.java @@ -31,6 +31,11 @@ interface SimplexMessagingIntegrationTestComponent void inject(MessagingModule.EagerSingletons init); + default void injectSimplexMessagingEagerSingletons() { + injectBrambleCoreEagerSingletons(); + inject(new MessagingModule.EagerSingletons()); + } + LifecycleManager getLifecycleManager(); IdentityManager getIdentityManager(); diff --git a/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupIntegrationTest.java index d7304b0a2..5cf28e6ef 100644 --- a/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupIntegrationTest.java @@ -70,23 +70,23 @@ public class PrivateGroupIntegrationTest protected void createComponents() { BriarIntegrationTestComponent component = DaggerBriarIntegrationTestComponent.builder().build(); - injectEagerSingletons(component); + component.injectBriarEagerSingletons(); component.inject(this); c0 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) .build(); - injectEagerSingletons(c0); + c0.injectBriarEagerSingletons(); c1 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) .build(); - injectEagerSingletons(c1); + c1.injectBriarEagerSingletons(); c2 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) .build(); - injectEagerSingletons(c2); + c2.injectBriarEagerSingletons(); } @Test diff --git a/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupManagerIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupManagerIntegrationTest.java index 57023ec35..bef51dabb 100644 --- a/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupManagerIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupManagerIntegrationTest.java @@ -59,23 +59,23 @@ public class PrivateGroupManagerIntegrationTest protected void createComponents() { BriarIntegrationTestComponent component = DaggerBriarIntegrationTestComponent.builder().build(); - injectEagerSingletons(component); + component.injectBriarEagerSingletons(); component.inject(this); c0 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) .build(); - injectEagerSingletons(c0); + c0.injectBriarEagerSingletons(); c1 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) .build(); - injectEagerSingletons(c1); + c1.injectBriarEagerSingletons(); c2 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) .build(); - injectEagerSingletons(c2); + c2.injectBriarEagerSingletons(); } @Test diff --git a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationIntegrationTest.java index afcad2c79..23bd95af3 100644 --- a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationIntegrationTest.java @@ -58,23 +58,23 @@ public class GroupInvitationIntegrationTest protected void createComponents() { BriarIntegrationTestComponent component = DaggerBriarIntegrationTestComponent.builder().build(); - injectEagerSingletons(component); + component.injectBriarEagerSingletons(); component.inject(this); c0 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) .build(); - injectEagerSingletons(c0); + c0.injectBriarEagerSingletons(); c1 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) .build(); - injectEagerSingletons(c1); + c1.injectBriarEagerSingletons(); c2 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) .build(); - injectEagerSingletons(c2); + c2.injectBriarEagerSingletons(); } @Test diff --git a/briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java index d706bd6be..f27adf583 100644 --- a/briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java @@ -82,23 +82,23 @@ public class BlogSharingIntegrationTest protected void createComponents() { BriarIntegrationTestComponent component = DaggerBriarIntegrationTestComponent.builder().build(); - injectEagerSingletons(component); + component.injectBriarEagerSingletons(); component.inject(this); c0 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) .build(); - injectEagerSingletons(c0); + c0.injectBriarEagerSingletons(); c1 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) .build(); - injectEagerSingletons(c1); + c1.injectBriarEagerSingletons(); c2 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) .build(); - injectEagerSingletons(c2); + c2.injectBriarEagerSingletons(); } @Test diff --git a/briar-core/src/test/java/org/briarproject/briar/sharing/ForumSharingIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/sharing/ForumSharingIntegrationTest.java index 029cbb547..c57f03fdc 100644 --- a/briar-core/src/test/java/org/briarproject/briar/sharing/ForumSharingIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/sharing/ForumSharingIntegrationTest.java @@ -86,23 +86,23 @@ public class ForumSharingIntegrationTest protected void createComponents() { BriarIntegrationTestComponent component = DaggerBriarIntegrationTestComponent.builder().build(); - injectEagerSingletons(component); + component.injectBriarEagerSingletons(); component.inject(this); c0 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) .build(); - injectEagerSingletons(c0); + c0.injectBriarEagerSingletons(); c1 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) .build(); - injectEagerSingletons(c1); + c1.injectBriarEagerSingletons(); c2 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) .build(); - injectEagerSingletons(c2); + c2.injectBriarEagerSingletons(); } private void addForumForSharer() throws DbException { diff --git a/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTest.java index bc451f586..8d79f4c34 100644 --- a/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTest.java @@ -2,7 +2,6 @@ package org.briarproject.briar.test; import net.jodah.concurrentunit.Waiter; -import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.FormatException; import org.briarproject.bramble.api.client.ClientHelper; import org.briarproject.bramble.api.client.ContactGroupFactory; @@ -38,13 +37,6 @@ import org.briarproject.briar.api.forum.ForumPostFactory; import org.briarproject.briar.api.privategroup.GroupMessageFactory; import org.briarproject.briar.api.privategroup.PrivateGroupFactory; import org.briarproject.briar.api.privategroup.invitation.GroupInvitationFactory; -import org.briarproject.briar.blog.BlogModule; -import org.briarproject.briar.forum.ForumModule; -import org.briarproject.briar.introduction.IntroductionModule; -import org.briarproject.briar.messaging.MessagingModule; -import org.briarproject.briar.privategroup.PrivateGroupModule; -import org.briarproject.briar.privategroup.invitation.GroupInvitationModule; -import org.briarproject.briar.sharing.SharingModule; import org.junit.After; import org.junit.Before; @@ -175,18 +167,6 @@ public abstract class BriarIntegrationTest Date: Fri, 31 May 2019 14:53:24 +0100 Subject: [PATCH 4/5] Provide SOCKS module for headless app, remove reporting. --- .../All_in_briar_headless.xml | 20 -------------- .../All_tests_in_briar_headless.xml | 15 +++++++++++ .../briar/headless/HeadlessModule.kt | 26 ++----------------- .../briar/headless/HeadlessTestModule.kt | 12 ++------- 4 files changed, 19 insertions(+), 54 deletions(-) delete mode 100644 .idea/runConfigurations/All_in_briar_headless.xml create mode 100644 .idea/runConfigurations/All_tests_in_briar_headless.xml diff --git a/.idea/runConfigurations/All_in_briar_headless.xml b/.idea/runConfigurations/All_in_briar_headless.xml deleted file mode 100644 index 906ace467..000000000 --- a/.idea/runConfigurations/All_in_briar_headless.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/runConfigurations/All_tests_in_briar_headless.xml b/.idea/runConfigurations/All_tests_in_briar_headless.xml new file mode 100644 index 000000000..a60d9f518 --- /dev/null +++ b/.idea/runConfigurations/All_tests_in_briar_headless.xml @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/briar-headless/src/main/java/org/briarproject/briar/headless/HeadlessModule.kt b/briar-headless/src/main/java/org/briarproject/briar/headless/HeadlessModule.kt index 53ce493d3..1a4c2a4b0 100644 --- a/briar-headless/src/main/java/org/briarproject/briar/headless/HeadlessModule.kt +++ b/briar-headless/src/main/java/org/briarproject/briar/headless/HeadlessModule.kt @@ -4,8 +4,6 @@ import com.fasterxml.jackson.databind.ObjectMapper import dagger.Module import dagger.Provides import org.briarproject.bramble.api.battery.BatteryManager -import org.briarproject.bramble.api.crypto.CryptoComponent -import org.briarproject.bramble.api.crypto.PublicKey import org.briarproject.bramble.api.db.DatabaseConfig import org.briarproject.bramble.api.event.EventBus import org.briarproject.bramble.api.lifecycle.IoExecutor @@ -14,9 +12,6 @@ import org.briarproject.bramble.api.plugin.BackoffFactory import org.briarproject.bramble.api.plugin.PluginConfig import org.briarproject.bramble.api.plugin.duplex.DuplexPluginFactory import org.briarproject.bramble.api.plugin.simplex.SimplexPluginFactory -import org.briarproject.bramble.api.reporting.DevConfig -import org.briarproject.bramble.api.reporting.ReportingConstants.DEV_ONION_ADDRESS -import org.briarproject.bramble.api.reporting.ReportingConstants.DEV_PUBLIC_KEY_HEX import org.briarproject.bramble.api.system.Clock import org.briarproject.bramble.api.system.LocationUtils import org.briarproject.bramble.api.system.ResourceProvider @@ -26,17 +21,16 @@ import org.briarproject.bramble.network.JavaNetworkModule import org.briarproject.bramble.plugin.tor.CircumventionModule import org.briarproject.bramble.plugin.tor.CircumventionProvider import org.briarproject.bramble.plugin.tor.UnixTorPluginFactory +import org.briarproject.bramble.socks.SocksModule import org.briarproject.bramble.system.JavaSystemModule import org.briarproject.bramble.util.OsUtils.isLinux import org.briarproject.bramble.util.OsUtils.isMac -import org.briarproject.bramble.util.StringUtils.fromHexString import org.briarproject.briar.headless.blogs.HeadlessBlogModule import org.briarproject.briar.headless.contact.HeadlessContactModule import org.briarproject.briar.headless.event.HeadlessEventModule import org.briarproject.briar.headless.forums.HeadlessForumModule import org.briarproject.briar.headless.messaging.HeadlessMessagingModule import java.io.File -import java.security.GeneralSecurityException import java.util.Collections.emptyList import java.util.concurrent.Executor import javax.inject.Singleton @@ -49,6 +43,7 @@ import javax.net.SocketFactory CircumventionModule::class, DefaultBatteryManagerModule::class, DefaultEventExecutorModule::class, + SocksModule::class, HeadlessBlogModule::class, HeadlessContactModule::class, HeadlessEventModule::class, @@ -95,23 +90,6 @@ internal class HeadlessModule(private val appDir: File) { } } - @Provides - @Singleton - internal fun provideDevConfig(crypto: CryptoComponent): DevConfig { - return object : DevConfig { - override fun getDevPublicKey(): PublicKey { - try { - return crypto.messageKeyParser.parsePublicKey(fromHexString(DEV_PUBLIC_KEY_HEX)) - } catch (e: GeneralSecurityException) { - throw RuntimeException(e) - } - } - - override fun getDevOnionAddress(): String = DEV_ONION_ADDRESS - override fun getReportDir(): File = File(appDir, "reportDir") - } - } - @Provides @Singleton internal fun provideObjectMapper() = ObjectMapper() diff --git a/briar-headless/src/test/java/org/briarproject/briar/headless/HeadlessTestModule.kt b/briar-headless/src/test/java/org/briarproject/briar/headless/HeadlessTestModule.kt index 256a80c76..c8f2b7d21 100644 --- a/briar-headless/src/test/java/org/briarproject/briar/headless/HeadlessTestModule.kt +++ b/briar-headless/src/test/java/org/briarproject/briar/headless/HeadlessTestModule.kt @@ -3,14 +3,13 @@ package org.briarproject.briar.headless import com.fasterxml.jackson.databind.ObjectMapper import dagger.Module import dagger.Provides -import org.briarproject.bramble.api.crypto.PublicKey import org.briarproject.bramble.api.db.DatabaseConfig import org.briarproject.bramble.api.plugin.PluginConfig import org.briarproject.bramble.api.plugin.duplex.DuplexPluginFactory import org.briarproject.bramble.api.plugin.simplex.SimplexPluginFactory -import org.briarproject.bramble.api.reporting.DevConfig import org.briarproject.bramble.network.JavaNetworkModule import org.briarproject.bramble.plugin.tor.CircumventionModule +import org.briarproject.bramble.socks.SocksModule import org.briarproject.bramble.system.JavaSystemModule import org.briarproject.briar.headless.blogs.HeadlessBlogModule import org.briarproject.briar.headless.contact.HeadlessContactModule @@ -26,6 +25,7 @@ import javax.inject.Singleton JavaNetworkModule::class, JavaSystemModule::class, CircumventionModule::class, + SocksModule::class, HeadlessBlogModule::class, HeadlessContactModule::class, HeadlessEventModule::class, @@ -57,14 +57,6 @@ internal class HeadlessTestModule(private val appDir: File) { } } - @Provides - @Singleton - internal fun provideDevConfig(): DevConfig = object : DevConfig { - override fun getDevPublicKey(): PublicKey = throw NotImplementedError() - override fun getDevOnionAddress(): String = throw NotImplementedError() - override fun getReportDir(): File = throw NotImplementedError() - } - @Provides @Singleton internal fun provideObjectMapper() = ObjectMapper() From 33d35148d800921b8411476effff80d556a93501 Mon Sep 17 00:00:00 2001 From: akwizgran Date: Mon, 3 Jun 2019 14:11:33 +0100 Subject: [PATCH 5/5] Run briar-headless tests when running all tests. --- .idea/runConfigurations/All_tests.xml | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/.idea/runConfigurations/All_tests.xml b/.idea/runConfigurations/All_tests.xml index a1de55c01..102bdba54 100644 --- a/.idea/runConfigurations/All_tests.xml +++ b/.idea/runConfigurations/All_tests.xml @@ -1,30 +1,20 @@ - - - - - + \ No newline at end of file