From 7bf86d9c5337e82a17319e7fcebbc020396ac15e Mon Sep 17 00:00:00 2001 From: akwizgran Date: Fri, 31 May 2019 12:25:48 +0100 Subject: [PATCH] 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