Use real executors in integration tests.

This commit is contained in:
akwizgran
2019-05-31 12:25:48 +01:00
parent 8fc5c21354
commit 7bf86d9c53
21 changed files with 219 additions and 171 deletions

View File

@@ -1,26 +1,22 @@
package org.briarproject.bramble.test; package org.briarproject.bramble.test;
import org.briarproject.bramble.api.db.DatabaseConfig; import org.briarproject.bramble.api.db.DatabaseConfig;
import org.briarproject.bramble.api.db.DatabaseExecutor;
import java.io.File; import java.io.File;
import java.util.concurrent.Executor;
import javax.inject.Singleton;
import dagger.Module; import dagger.Module;
import dagger.Provides; import dagger.Provides;
@Module @Module
public class TestDatabaseModule { public class TestDatabaseConfigModule {
private final DatabaseConfig config; private final DatabaseConfig config;
public TestDatabaseModule() { public TestDatabaseConfigModule() {
this(new File(".")); this(new File("."));
} }
public TestDatabaseModule(File dir) { public TestDatabaseConfigModule(File dir) {
config = new TestDatabaseConfig(dir); config = new TestDatabaseConfig(dir);
} }
@@ -28,11 +24,4 @@ public class TestDatabaseModule {
DatabaseConfig provideDatabaseConfig() { DatabaseConfig provideDatabaseConfig() {
return config; return config;
} }
@Provides
@Singleton
@DatabaseExecutor
Executor provideDatabaseExecutor() {
return new ImmediateExecutor();
}
} }

View File

@@ -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();
}
}

View File

@@ -2,16 +2,28 @@ package org.briarproject.bramble.plugin.tor;
import org.briarproject.bramble.api.battery.BatteryManager; import org.briarproject.bramble.api.battery.BatteryManager;
import org.briarproject.bramble.api.event.EventBus; 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.network.NetworkManager;
import org.briarproject.bramble.api.plugin.BackoffFactory; import org.briarproject.bramble.api.plugin.BackoffFactory;
import org.briarproject.bramble.api.plugin.duplex.DuplexPlugin; import org.briarproject.bramble.api.plugin.duplex.DuplexPlugin;
import org.briarproject.bramble.api.system.Clock; import org.briarproject.bramble.api.system.Clock;
import org.briarproject.bramble.api.system.LocationUtils; import org.briarproject.bramble.api.system.LocationUtils;
import org.briarproject.bramble.api.system.ResourceProvider; 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.BrambleJavaIntegrationTestComponent;
import org.briarproject.bramble.test.BrambleTestCase; import org.briarproject.bramble.test.BrambleTestCase;
import org.briarproject.bramble.test.DaggerBrambleJavaIntegrationTestComponent; import org.briarproject.bramble.test.DaggerBrambleJavaIntegrationTestComponent;
import org.briarproject.bramble.transport.TransportModule;
import org.briarproject.bramble.util.OsUtils; import org.briarproject.bramble.util.OsUtils;
import org.briarproject.bramble.versioning.VersioningModule;
import org.junit.After; import org.junit.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -22,7 +34,6 @@ import org.junit.runners.Parameterized.Parameters;
import java.io.File; import java.io.File;
import java.util.List; import java.util.List;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
import java.util.logging.Logger; import java.util.logging.Logger;
import javax.inject.Inject; import javax.inject.Inject;
@@ -30,6 +41,7 @@ import javax.net.SocketFactory;
import static java.util.Collections.singletonList; import static java.util.Collections.singletonList;
import static java.util.concurrent.TimeUnit.SECONDS; 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.deleteTestDirectory;
import static org.briarproject.bramble.test.TestUtils.getTestDirectory; import static org.briarproject.bramble.test.TestUtils.getTestDirectory;
import static org.briarproject.bramble.test.TestUtils.isOptionalTestEnabled; import static org.briarproject.bramble.test.TestUtils.isOptionalTestEnabled;
@@ -44,14 +56,17 @@ public class BridgeTest extends BrambleTestCase {
public static Iterable<String> data() { public static Iterable<String> data() {
BrambleJavaIntegrationTestComponent component = BrambleJavaIntegrationTestComponent component =
DaggerBrambleJavaIntegrationTestComponent.builder().build(); DaggerBrambleJavaIntegrationTestComponent.builder().build();
injectEagerSingletons(component);
return component.getCircumventionProvider().getBridges(false); return component.getCircumventionProvider().getBridges(false);
} }
private final static long TIMEOUT = SECONDS.toMillis(30); private final static long TIMEOUT = SECONDS.toMillis(30);
private final static Logger LOG = private final static Logger LOG = getLogger(BridgeTest.class.getName());
Logger.getLogger(BridgeTest.class.getName());
@Inject
@IoExecutor
Executor ioExecutor;
@Inject @Inject
NetworkManager networkManager; NetworkManager networkManager;
@Inject @Inject
@@ -86,9 +101,9 @@ public class BridgeTest extends BrambleTestCase {
BrambleJavaIntegrationTestComponent component = BrambleJavaIntegrationTestComponent component =
DaggerBrambleJavaIntegrationTestComponent.builder().build(); DaggerBrambleJavaIntegrationTestComponent.builder().build();
injectEagerSingletons(component);
component.inject(this); component.inject(this);
Executor ioExecutor = Executors.newCachedThreadPool();
LocationUtils locationUtils = () -> "US"; LocationUtils locationUtils = () -> "US";
SocketFactory torSocketFactory = SocketFactory.getDefault(); 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());
}
} }

View File

@@ -2,12 +2,28 @@ package org.briarproject.bramble.test;
import org.briarproject.bramble.BrambleJavaModule; import org.briarproject.bramble.BrambleJavaModule;
import org.briarproject.bramble.battery.DefaultBatteryManagerModule; 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.DefaultEventExecutorModule;
import org.briarproject.bramble.event.EventModule; 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.PluginModule;
import org.briarproject.bramble.plugin.tor.BridgeTest; import org.briarproject.bramble.plugin.tor.BridgeTest;
import org.briarproject.bramble.plugin.tor.CircumventionProvider; 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.system.SystemModule;
import org.briarproject.bramble.transport.TransportModule;
import org.briarproject.bramble.versioning.VersioningModule;
import javax.inject.Singleton; import javax.inject.Singleton;
@@ -15,17 +31,57 @@ import dagger.Component;
@Singleton @Singleton
@Component(modules = { @Component(modules = {
TestDatabaseConfigModule.class,
TestPluginConfigModule.class,
TestSecureRandomModule.class,
BrambleJavaModule.class, BrambleJavaModule.class,
TestLifecycleModule.class, ClientModule.class,
ContactModule.class,
CryptoExecutorModule.class,
CryptoModule.class,
DataModule.class,
DatabaseExecutorModule.class,
DatabaseModule.class,
DefaultBatteryManagerModule.class, DefaultBatteryManagerModule.class,
DefaultEventExecutorModule.class, DefaultEventExecutorModule.class,
EventModule.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, SystemModule.class,
ValidationModule.class,
VersioningModule.class
}) })
public interface BrambleJavaIntegrationTestComponent { public interface BrambleJavaIntegrationTestComponent {
void inject(BridgeTest init); 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(); CircumventionProvider getCircumventionProvider();
} }

View File

@@ -2,7 +2,7 @@ package org.briarproject.briar.blog;
import org.briarproject.bramble.api.identity.LocalAuthor; import org.briarproject.bramble.api.identity.LocalAuthor;
import org.briarproject.bramble.api.sync.MessageId; 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.Blog;
import org.briarproject.briar.api.blog.BlogCommentHeader; import org.briarproject.briar.api.blog.BlogCommentHeader;
import org.briarproject.briar.api.blog.BlogManager; import org.briarproject.briar.api.blog.BlogManager;
@@ -65,18 +65,22 @@ public class BlogManagerIntegrationTest
protected void createComponents() { protected void createComponents() {
BriarIntegrationTestComponent component = BriarIntegrationTestComponent component =
DaggerBriarIntegrationTestComponent.builder().build(); DaggerBriarIntegrationTestComponent.builder().build();
injectEagerSingletons(component);
component.inject(this); component.inject(this);
c0 = DaggerBriarIntegrationTestComponent.builder() c0 = DaggerBriarIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t0Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir))
.build();
injectEagerSingletons(c0); injectEagerSingletons(c0);
c1 = DaggerBriarIntegrationTestComponent.builder() c1 = DaggerBriarIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t1Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir))
.build();
injectEagerSingletons(c1); injectEagerSingletons(c1);
c2 = DaggerBriarIntegrationTestComponent.builder() c2 = DaggerBriarIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t2Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir))
.build();
injectEagerSingletons(c2); injectEagerSingletons(c2);
} }

View File

@@ -5,11 +5,12 @@ import org.briarproject.bramble.api.identity.IdentityManager;
import org.briarproject.bramble.api.lifecycle.LifecycleManager; import org.briarproject.bramble.api.lifecycle.LifecycleManager;
import org.briarproject.bramble.contact.ContactModule; import org.briarproject.bramble.contact.ContactModule;
import org.briarproject.bramble.crypto.CryptoExecutorModule; import org.briarproject.bramble.crypto.CryptoExecutorModule;
import org.briarproject.bramble.db.DatabaseExecutorModule;
import org.briarproject.bramble.identity.IdentityModule; import org.briarproject.bramble.identity.IdentityModule;
import org.briarproject.bramble.lifecycle.LifecycleModule; import org.briarproject.bramble.lifecycle.LifecycleModule;
import org.briarproject.bramble.sync.validation.ValidationModule; import org.briarproject.bramble.sync.validation.ValidationModule;
import org.briarproject.bramble.system.SystemModule; 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.test.TestUtils;
import org.briarproject.bramble.transport.TransportModule; import org.briarproject.bramble.transport.TransportModule;
import org.briarproject.bramble.versioning.VersioningModule; import org.briarproject.bramble.versioning.VersioningModule;
@@ -45,10 +46,10 @@ public class FeedManagerIntegrationTest extends BriarTestCase {
assertTrue(testDir.mkdirs()); assertTrue(testDir.mkdirs());
FeedManagerIntegrationTestComponent component = FeedManagerIntegrationTestComponent component =
DaggerFeedManagerIntegrationTestComponent.builder() DaggerFeedManagerIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(testFile)) .testDatabaseConfigModule(
.build(); new TestDatabaseConfigModule(testFile)).build();
component.inject(this);
injectEagerSingletons(component); injectEagerSingletons(component);
component.inject(this);
IdentityManager identityManager = component.getIdentityManager(); IdentityManager identityManager = component.getIdentityManager();
Identity identity = identityManager.createIdentity("feedTest"); Identity identity = identityManager.createIdentity("feedTest");
@@ -124,6 +125,7 @@ public class FeedManagerIntegrationTest extends BriarTestCase {
component.inject(new BlogModule.EagerSingletons()); component.inject(new BlogModule.EagerSingletons());
component.inject(new ContactModule.EagerSingletons()); component.inject(new ContactModule.EagerSingletons());
component.inject(new CryptoExecutorModule.EagerSingletons()); component.inject(new CryptoExecutorModule.EagerSingletons());
component.inject(new DatabaseExecutorModule.EagerSingletons());
component.inject(new FeedModule.EagerSingletons()); component.inject(new FeedModule.EagerSingletons());
component.inject(new IdentityModule.EagerSingletons()); component.inject(new IdentityModule.EagerSingletons());
component.inject(new LifecycleModule.EagerSingletons()); component.inject(new LifecycleModule.EagerSingletons());

View File

@@ -7,6 +7,7 @@ import org.briarproject.bramble.contact.ContactModule;
import org.briarproject.bramble.crypto.CryptoExecutorModule; import org.briarproject.bramble.crypto.CryptoExecutorModule;
import org.briarproject.bramble.crypto.CryptoModule; import org.briarproject.bramble.crypto.CryptoModule;
import org.briarproject.bramble.data.DataModule; import org.briarproject.bramble.data.DataModule;
import org.briarproject.bramble.db.DatabaseExecutorModule;
import org.briarproject.bramble.db.DatabaseModule; import org.briarproject.bramble.db.DatabaseModule;
import org.briarproject.bramble.event.DefaultEventExecutorModule; import org.briarproject.bramble.event.DefaultEventExecutorModule;
import org.briarproject.bramble.event.EventModule; 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.SyncModule;
import org.briarproject.bramble.sync.validation.ValidationModule; import org.briarproject.bramble.sync.validation.ValidationModule;
import org.briarproject.bramble.system.SystemModule; 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.TestPluginConfigModule;
import org.briarproject.bramble.test.TestSecureRandomModule; import org.briarproject.bramble.test.TestSecureRandomModule;
import org.briarproject.bramble.test.TestSocksModule; import org.briarproject.bramble.test.TestSocksModule;
@@ -33,22 +34,23 @@ import dagger.Component;
@Singleton @Singleton
@Component(modules = { @Component(modules = {
TestDatabaseModule.class, TestDatabaseConfigModule.class,
TestDnsModule.class,
TestPluginConfigModule.class, TestPluginConfigModule.class,
TestSecureRandomModule.class, TestSecureRandomModule.class,
TestSocksModule.class, TestSocksModule.class,
TestDnsModule.class, BlogModule.class,
BriarClientModule.class, BriarClientModule.class,
ClientModule.class, ClientModule.class,
ContactModule.class, ContactModule.class,
CryptoModule.class, CryptoModule.class,
CryptoExecutorModule.class, CryptoExecutorModule.class,
BlogModule.class,
FeedModule.class,
DataModule.class, DataModule.class,
DatabaseExecutorModule.class,
DatabaseModule.class, DatabaseModule.class,
DefaultEventExecutorModule.class, DefaultEventExecutorModule.class,
EventModule.class, EventModule.class,
FeedModule.class,
IdentityModule.class, IdentityModule.class,
LifecycleModule.class, LifecycleModule.class,
SyncModule.class, SyncModule.class,
@@ -67,6 +69,8 @@ interface FeedManagerIntegrationTestComponent {
void inject(CryptoExecutorModule.EagerSingletons init); void inject(CryptoExecutorModule.EagerSingletons init);
void inject(DatabaseExecutorModule.EagerSingletons init);
void inject(FeedModule.EagerSingletons init); void inject(FeedModule.EagerSingletons init);
void inject(IdentityModule.EagerSingletons init); void inject(IdentityModule.EagerSingletons init);

View File

@@ -1,7 +1,7 @@
package org.briarproject.briar.forum; package org.briarproject.briar.forum;
import org.briarproject.bramble.api.sync.GroupId; 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.Forum;
import org.briarproject.briar.api.forum.ForumManager; import org.briarproject.briar.api.forum.ForumManager;
import org.briarproject.briar.api.forum.ForumPost; import org.briarproject.briar.api.forum.ForumPost;
@@ -56,18 +56,22 @@ public class ForumManagerTest
protected void createComponents() { protected void createComponents() {
BriarIntegrationTestComponent component = BriarIntegrationTestComponent component =
DaggerBriarIntegrationTestComponent.builder().build(); DaggerBriarIntegrationTestComponent.builder().build();
injectEagerSingletons(component);
component.inject(this); component.inject(this);
c0 = DaggerBriarIntegrationTestComponent.builder() c0 = DaggerBriarIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t0Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir))
.build();
injectEagerSingletons(c0); injectEagerSingletons(c0);
c1 = DaggerBriarIntegrationTestComponent.builder() c1 = DaggerBriarIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t1Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir))
.build();
injectEagerSingletons(c1); injectEagerSingletons(c1);
c2 = DaggerBriarIntegrationTestComponent.builder() c2 = DaggerBriarIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t2Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir))
.build();
injectEagerSingletons(c2); injectEagerSingletons(c2);
} }

View File

@@ -22,7 +22,7 @@ import org.briarproject.bramble.api.properties.TransportPropertyManager;
import org.briarproject.bramble.api.sync.Group; import org.briarproject.bramble.api.sync.Group;
import org.briarproject.bramble.api.sync.Message; import org.briarproject.bramble.api.sync.Message;
import org.briarproject.bramble.api.sync.MessageId; 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.ProtocolStateException;
import org.briarproject.briar.api.client.SessionId; import org.briarproject.briar.api.client.SessionId;
import org.briarproject.briar.api.conversation.ConversationMessageHeader; import org.briarproject.briar.api.conversation.ConversationMessageHeader;
@@ -106,18 +106,22 @@ public class IntroductionIntegrationTest
protected void createComponents() { protected void createComponents() {
IntroductionIntegrationTestComponent component = IntroductionIntegrationTestComponent component =
DaggerIntroductionIntegrationTestComponent.builder().build(); DaggerIntroductionIntegrationTestComponent.builder().build();
injectEagerSingletons(component);
component.inject(this); component.inject(this);
c0 = DaggerIntroductionIntegrationTestComponent.builder() c0 = DaggerIntroductionIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t0Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir))
.build();
injectEagerSingletons(c0); injectEagerSingletons(c0);
c1 = DaggerIntroductionIntegrationTestComponent.builder() c1 = DaggerIntroductionIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t1Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir))
.build();
injectEagerSingletons(c1); injectEagerSingletons(c1);
c2 = DaggerIntroductionIntegrationTestComponent.builder() c2 = DaggerIntroductionIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t2Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir))
.build();
injectEagerSingletons(c2); injectEagerSingletons(c2);
} }

View File

@@ -5,6 +5,7 @@ import org.briarproject.bramble.contact.ContactModule;
import org.briarproject.bramble.crypto.CryptoExecutorModule; import org.briarproject.bramble.crypto.CryptoExecutorModule;
import org.briarproject.bramble.crypto.CryptoModule; import org.briarproject.bramble.crypto.CryptoModule;
import org.briarproject.bramble.data.DataModule; import org.briarproject.bramble.data.DataModule;
import org.briarproject.bramble.db.DatabaseExecutorModule;
import org.briarproject.bramble.db.DatabaseModule; import org.briarproject.bramble.db.DatabaseModule;
import org.briarproject.bramble.event.DefaultEventExecutorModule; import org.briarproject.bramble.event.DefaultEventExecutorModule;
import org.briarproject.bramble.event.EventModule; 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.SyncModule;
import org.briarproject.bramble.sync.validation.ValidationModule; import org.briarproject.bramble.sync.validation.ValidationModule;
import org.briarproject.bramble.system.SystemModule; 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.TestPluginConfigModule;
import org.briarproject.bramble.test.TestSecureRandomModule; import org.briarproject.bramble.test.TestSecureRandomModule;
import org.briarproject.bramble.transport.TransportModule; import org.briarproject.bramble.transport.TransportModule;
@@ -35,7 +36,7 @@ import dagger.Component;
@Singleton @Singleton
@Component(modules = { @Component(modules = {
TestDatabaseModule.class, TestDatabaseConfigModule.class,
TestPluginConfigModule.class, TestPluginConfigModule.class,
TestSecureRandomModule.class, TestSecureRandomModule.class,
BlogModule.class, BlogModule.class,
@@ -45,6 +46,7 @@ import dagger.Component;
CryptoModule.class, CryptoModule.class,
CryptoExecutorModule.class, CryptoExecutorModule.class,
DataModule.class, DataModule.class,
DatabaseExecutorModule.class,
DatabaseModule.class, DatabaseModule.class,
DefaultEventExecutorModule.class, DefaultEventExecutorModule.class,
EventModule.class, EventModule.class,

View File

@@ -8,7 +8,9 @@ import org.briarproject.bramble.api.sync.GroupId;
import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.bramble.api.sync.MessageId;
import org.briarproject.bramble.contact.ContactModule; import org.briarproject.bramble.contact.ContactModule;
import org.briarproject.bramble.crypto.CryptoExecutorModule; import org.briarproject.bramble.crypto.CryptoExecutorModule;
import org.briarproject.bramble.db.DatabaseExecutorModule;
import org.briarproject.bramble.identity.IdentityModule; import org.briarproject.bramble.identity.IdentityModule;
import org.briarproject.bramble.lifecycle.LifecycleModule;
import org.briarproject.bramble.sync.validation.ValidationModule; import org.briarproject.bramble.sync.validation.ValidationModule;
import org.briarproject.bramble.system.SystemModule; import org.briarproject.bramble.system.SystemModule;
import org.briarproject.bramble.transport.TransportModule; import org.briarproject.bramble.transport.TransportModule;
@@ -47,8 +49,8 @@ public class MessageSizeIntegrationTest extends BriarTestCase {
public MessageSizeIntegrationTest() { public MessageSizeIntegrationTest() {
MessageSizeIntegrationTestComponent component = MessageSizeIntegrationTestComponent component =
DaggerMessageSizeIntegrationTestComponent.builder().build(); DaggerMessageSizeIntegrationTestComponent.builder().build();
component.inject(this);
injectEagerSingletons(component); injectEagerSingletons(component);
component.inject(this);
} }
@Test @Test
@@ -90,8 +92,10 @@ public class MessageSizeIntegrationTest extends BriarTestCase {
MessageSizeIntegrationTestComponent component) { MessageSizeIntegrationTestComponent component) {
component.inject(new ContactModule.EagerSingletons()); component.inject(new ContactModule.EagerSingletons());
component.inject(new CryptoExecutorModule.EagerSingletons()); component.inject(new CryptoExecutorModule.EagerSingletons());
component.inject(new DatabaseExecutorModule.EagerSingletons());
component.inject(new ForumModule.EagerSingletons()); component.inject(new ForumModule.EagerSingletons());
component.inject(new IdentityModule.EagerSingletons()); component.inject(new IdentityModule.EagerSingletons());
component.inject(new LifecycleModule.EagerSingletons());
component.inject(new MessagingModule.EagerSingletons()); component.inject(new MessagingModule.EagerSingletons());
component.inject(new SystemModule.EagerSingletons()); component.inject(new SystemModule.EagerSingletons());
component.inject(new TransportModule.EagerSingletons()); component.inject(new TransportModule.EagerSingletons());

View File

@@ -5,15 +5,16 @@ import org.briarproject.bramble.contact.ContactModule;
import org.briarproject.bramble.crypto.CryptoExecutorModule; import org.briarproject.bramble.crypto.CryptoExecutorModule;
import org.briarproject.bramble.crypto.CryptoModule; import org.briarproject.bramble.crypto.CryptoModule;
import org.briarproject.bramble.data.DataModule; import org.briarproject.bramble.data.DataModule;
import org.briarproject.bramble.db.DatabaseExecutorModule;
import org.briarproject.bramble.db.DatabaseModule; import org.briarproject.bramble.db.DatabaseModule;
import org.briarproject.bramble.event.DefaultEventExecutorModule; import org.briarproject.bramble.event.DefaultEventExecutorModule;
import org.briarproject.bramble.event.EventModule; import org.briarproject.bramble.event.EventModule;
import org.briarproject.bramble.identity.IdentityModule; import org.briarproject.bramble.identity.IdentityModule;
import org.briarproject.bramble.lifecycle.LifecycleModule;
import org.briarproject.bramble.sync.SyncModule; import org.briarproject.bramble.sync.SyncModule;
import org.briarproject.bramble.sync.validation.ValidationModule; import org.briarproject.bramble.sync.validation.ValidationModule;
import org.briarproject.bramble.system.SystemModule; import org.briarproject.bramble.system.SystemModule;
import org.briarproject.bramble.test.TestDatabaseModule; import org.briarproject.bramble.test.TestDatabaseConfigModule;
import org.briarproject.bramble.test.TestLifecycleModule;
import org.briarproject.bramble.test.TestPluginConfigModule; import org.briarproject.bramble.test.TestPluginConfigModule;
import org.briarproject.bramble.test.TestSecureRandomModule; import org.briarproject.bramble.test.TestSecureRandomModule;
import org.briarproject.bramble.transport.TransportModule; import org.briarproject.bramble.transport.TransportModule;
@@ -27,8 +28,7 @@ import dagger.Component;
@Singleton @Singleton
@Component(modules = { @Component(modules = {
TestDatabaseModule.class, TestDatabaseConfigModule.class,
TestLifecycleModule.class,
TestPluginConfigModule.class, TestPluginConfigModule.class,
TestSecureRandomModule.class, TestSecureRandomModule.class,
BriarClientModule.class, BriarClientModule.class,
@@ -37,11 +37,13 @@ import dagger.Component;
CryptoModule.class, CryptoModule.class,
CryptoExecutorModule.class, CryptoExecutorModule.class,
DataModule.class, DataModule.class,
DatabaseExecutorModule.class,
DatabaseModule.class, DatabaseModule.class,
DefaultEventExecutorModule.class, DefaultEventExecutorModule.class,
EventModule.class, EventModule.class,
ForumModule.class, ForumModule.class,
IdentityModule.class, IdentityModule.class,
LifecycleModule.class,
MessagingModule.class, MessagingModule.class,
SyncModule.class, SyncModule.class,
SystemModule.class, SystemModule.class,
@@ -57,10 +59,14 @@ interface MessageSizeIntegrationTestComponent {
void inject(CryptoExecutorModule.EagerSingletons init); void inject(CryptoExecutorModule.EagerSingletons init);
void inject(DatabaseExecutorModule.EagerSingletons init);
void inject(ForumModule.EagerSingletons init); void inject(ForumModule.EagerSingletons init);
void inject(IdentityModule.EagerSingletons init); void inject(IdentityModule.EagerSingletons init);
void inject(LifecycleModule.EagerSingletons init);
void inject(MessagingModule.EagerSingletons init); void inject(MessagingModule.EagerSingletons init);
void inject(SystemModule.EagerSingletons init); void inject(SystemModule.EagerSingletons init);

View File

@@ -20,11 +20,13 @@ import org.briarproject.bramble.api.transport.StreamReaderFactory;
import org.briarproject.bramble.api.transport.StreamWriter; import org.briarproject.bramble.api.transport.StreamWriter;
import org.briarproject.bramble.api.transport.StreamWriterFactory; import org.briarproject.bramble.api.transport.StreamWriterFactory;
import org.briarproject.bramble.contact.ContactModule; 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.identity.IdentityModule;
import org.briarproject.bramble.lifecycle.LifecycleModule; import org.briarproject.bramble.lifecycle.LifecycleModule;
import org.briarproject.bramble.sync.validation.ValidationModule; import org.briarproject.bramble.sync.validation.ValidationModule;
import org.briarproject.bramble.system.SystemModule; 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.transport.TransportModule;
import org.briarproject.bramble.versioning.VersioningModule; import org.briarproject.bramble.versioning.VersioningModule;
import org.briarproject.briar.api.messaging.MessagingManager; import org.briarproject.briar.api.messaging.MessagingManager;
@@ -71,10 +73,12 @@ public class SimplexMessagingIntegrationTest extends BriarTestCase {
public void setUp() { public void setUp() {
assertTrue(testDir.mkdirs()); assertTrue(testDir.mkdirs());
alice = DaggerSimplexMessagingIntegrationTestComponent.builder() alice = DaggerSimplexMessagingIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(aliceDir)).build(); .testDatabaseConfigModule(
new TestDatabaseConfigModule(aliceDir)).build();
injectEagerSingletons(alice); injectEagerSingletons(alice);
bob = DaggerSimplexMessagingIntegrationTestComponent.builder() bob = DaggerSimplexMessagingIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(bobDir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(bobDir))
.build();
injectEagerSingletons(bob); injectEagerSingletons(bob);
} }
@@ -207,6 +211,8 @@ public class SimplexMessagingIntegrationTest extends BriarTestCase {
private static void injectEagerSingletons( private static void injectEagerSingletons(
SimplexMessagingIntegrationTestComponent component) { SimplexMessagingIntegrationTestComponent component) {
component.inject(new ContactModule.EagerSingletons()); component.inject(new ContactModule.EagerSingletons());
component.inject(new CryptoExecutorModule.EagerSingletons());
component.inject(new DatabaseExecutorModule.EagerSingletons());
component.inject(new IdentityModule.EagerSingletons()); component.inject(new IdentityModule.EagerSingletons());
component.inject(new LifecycleModule.EagerSingletons()); component.inject(new LifecycleModule.EagerSingletons());
component.inject(new MessagingModule.EagerSingletons()); component.inject(new MessagingModule.EagerSingletons());

View File

@@ -10,8 +10,10 @@ import org.briarproject.bramble.api.transport.StreamReaderFactory;
import org.briarproject.bramble.api.transport.StreamWriterFactory; import org.briarproject.bramble.api.transport.StreamWriterFactory;
import org.briarproject.bramble.client.ClientModule; import org.briarproject.bramble.client.ClientModule;
import org.briarproject.bramble.contact.ContactModule; import org.briarproject.bramble.contact.ContactModule;
import org.briarproject.bramble.crypto.CryptoExecutorModule;
import org.briarproject.bramble.crypto.CryptoModule; import org.briarproject.bramble.crypto.CryptoModule;
import org.briarproject.bramble.data.DataModule; import org.briarproject.bramble.data.DataModule;
import org.briarproject.bramble.db.DatabaseExecutorModule;
import org.briarproject.bramble.db.DatabaseModule; import org.briarproject.bramble.db.DatabaseModule;
import org.briarproject.bramble.event.DefaultEventExecutorModule; import org.briarproject.bramble.event.DefaultEventExecutorModule;
import org.briarproject.bramble.event.EventModule; 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.SyncModule;
import org.briarproject.bramble.sync.validation.ValidationModule; import org.briarproject.bramble.sync.validation.ValidationModule;
import org.briarproject.bramble.system.SystemModule; import org.briarproject.bramble.system.SystemModule;
import org.briarproject.bramble.test.TestCryptoExecutorModule; import org.briarproject.bramble.test.TestDatabaseConfigModule;
import org.briarproject.bramble.test.TestDatabaseModule;
import org.briarproject.bramble.test.TestPluginConfigModule; import org.briarproject.bramble.test.TestPluginConfigModule;
import org.briarproject.bramble.test.TestSecureRandomModule; import org.briarproject.bramble.test.TestSecureRandomModule;
import org.briarproject.bramble.transport.TransportModule; import org.briarproject.bramble.transport.TransportModule;
@@ -37,15 +38,16 @@ import dagger.Component;
@Singleton @Singleton
@Component(modules = { @Component(modules = {
TestCryptoExecutorModule.class, TestDatabaseConfigModule.class,
TestDatabaseModule.class,
TestPluginConfigModule.class, TestPluginConfigModule.class,
TestSecureRandomModule.class, TestSecureRandomModule.class,
BriarClientModule.class, BriarClientModule.class,
ClientModule.class, ClientModule.class,
ContactModule.class, ContactModule.class,
CryptoExecutorModule.class,
CryptoModule.class, CryptoModule.class,
DataModule.class, DataModule.class,
DatabaseExecutorModule.class,
DatabaseModule.class, DatabaseModule.class,
DefaultEventExecutorModule.class, DefaultEventExecutorModule.class,
EventModule.class, EventModule.class,
@@ -61,8 +63,12 @@ import dagger.Component;
}) })
interface SimplexMessagingIntegrationTestComponent { interface SimplexMessagingIntegrationTestComponent {
void inject(CryptoExecutorModule.EagerSingletons init);
void inject(ContactModule.EagerSingletons init); void inject(ContactModule.EagerSingletons init);
void inject(DatabaseExecutorModule.EagerSingletons init);
void inject(IdentityModule.EagerSingletons init); void inject(IdentityModule.EagerSingletons init);
void inject(LifecycleModule.EagerSingletons init); void inject(LifecycleModule.EagerSingletons init);

View File

@@ -6,7 +6,7 @@ import org.briarproject.bramble.api.db.DbException;
import org.briarproject.bramble.api.identity.AuthorId; import org.briarproject.bramble.api.identity.AuthorId;
import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.GroupId;
import org.briarproject.bramble.api.sync.MessageId; 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.GroupMember;
import org.briarproject.briar.api.privategroup.GroupMessage; import org.briarproject.briar.api.privategroup.GroupMessage;
import org.briarproject.briar.api.privategroup.GroupMessageHeader; import org.briarproject.briar.api.privategroup.GroupMessageHeader;
@@ -70,18 +70,22 @@ public class PrivateGroupIntegrationTest
protected void createComponents() { protected void createComponents() {
BriarIntegrationTestComponent component = BriarIntegrationTestComponent component =
DaggerBriarIntegrationTestComponent.builder().build(); DaggerBriarIntegrationTestComponent.builder().build();
injectEagerSingletons(component);
component.inject(this); component.inject(this);
c0 = DaggerBriarIntegrationTestComponent.builder() c0 = DaggerBriarIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t0Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir))
.build();
injectEagerSingletons(c0); injectEagerSingletons(c0);
c1 = DaggerBriarIntegrationTestComponent.builder() c1 = DaggerBriarIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t1Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir))
.build();
injectEagerSingletons(c1); injectEagerSingletons(c1);
c2 = DaggerBriarIntegrationTestComponent.builder() c2 = DaggerBriarIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t2Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir))
.build();
injectEagerSingletons(c2); injectEagerSingletons(c2);
} }

View File

@@ -4,7 +4,7 @@ import org.briarproject.bramble.api.contact.Contact;
import org.briarproject.bramble.api.data.BdfList; import org.briarproject.bramble.api.data.BdfList;
import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.GroupId;
import org.briarproject.bramble.api.sync.MessageId; 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.client.MessageTracker.GroupCount;
import org.briarproject.briar.api.privategroup.GroupMember; import org.briarproject.briar.api.privategroup.GroupMember;
import org.briarproject.briar.api.privategroup.GroupMessage; import org.briarproject.briar.api.privategroup.GroupMessage;
@@ -59,18 +59,22 @@ public class PrivateGroupManagerIntegrationTest
protected void createComponents() { protected void createComponents() {
BriarIntegrationTestComponent component = BriarIntegrationTestComponent component =
DaggerBriarIntegrationTestComponent.builder().build(); DaggerBriarIntegrationTestComponent.builder().build();
injectEagerSingletons(component);
component.inject(this); component.inject(this);
c0 = DaggerBriarIntegrationTestComponent.builder() c0 = DaggerBriarIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t0Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir))
.build();
injectEagerSingletons(c0); injectEagerSingletons(c0);
c1 = DaggerBriarIntegrationTestComponent.builder() c1 = DaggerBriarIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t1Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir))
.build();
injectEagerSingletons(c1); injectEagerSingletons(c1);
c2 = DaggerBriarIntegrationTestComponent.builder() c2 = DaggerBriarIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t2Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir))
.build();
injectEagerSingletons(c2); injectEagerSingletons(c2);
} }

View File

@@ -2,7 +2,7 @@ package org.briarproject.briar.privategroup.invitation;
import org.briarproject.bramble.api.db.DbException; import org.briarproject.bramble.api.db.DbException;
import org.briarproject.bramble.api.sync.Group; 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.client.ProtocolStateException;
import org.briarproject.briar.api.conversation.ConversationMessageHeader; import org.briarproject.briar.api.conversation.ConversationMessageHeader;
import org.briarproject.briar.api.privategroup.GroupMessage; import org.briarproject.briar.api.privategroup.GroupMessage;
@@ -58,18 +58,22 @@ public class GroupInvitationIntegrationTest
protected void createComponents() { protected void createComponents() {
BriarIntegrationTestComponent component = BriarIntegrationTestComponent component =
DaggerBriarIntegrationTestComponent.builder().build(); DaggerBriarIntegrationTestComponent.builder().build();
injectEagerSingletons(component);
component.inject(this); component.inject(this);
c0 = DaggerBriarIntegrationTestComponent.builder() c0 = DaggerBriarIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t0Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir))
.build();
injectEagerSingletons(c0); injectEagerSingletons(c0);
c1 = DaggerBriarIntegrationTestComponent.builder() c1 = DaggerBriarIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t1Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir))
.build();
injectEagerSingletons(c1); injectEagerSingletons(c1);
c2 = DaggerBriarIntegrationTestComponent.builder() c2 = DaggerBriarIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t2Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir))
.build();
injectEagerSingletons(c2); injectEagerSingletons(c2);
} }

View File

@@ -9,7 +9,7 @@ import org.briarproject.bramble.api.event.Event;
import org.briarproject.bramble.api.event.EventListener; import org.briarproject.bramble.api.event.EventListener;
import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
import org.briarproject.bramble.api.sync.GroupId; 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.Blog;
import org.briarproject.briar.api.blog.BlogFactory; import org.briarproject.briar.api.blog.BlogFactory;
import org.briarproject.briar.api.blog.BlogInvitationRequest; import org.briarproject.briar.api.blog.BlogInvitationRequest;
@@ -82,18 +82,22 @@ public class BlogSharingIntegrationTest
protected void createComponents() { protected void createComponents() {
BriarIntegrationTestComponent component = BriarIntegrationTestComponent component =
DaggerBriarIntegrationTestComponent.builder().build(); DaggerBriarIntegrationTestComponent.builder().build();
injectEagerSingletons(component);
component.inject(this); component.inject(this);
c0 = DaggerBriarIntegrationTestComponent.builder() c0 = DaggerBriarIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t0Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir))
.build();
injectEagerSingletons(c0); injectEagerSingletons(c0);
c1 = DaggerBriarIntegrationTestComponent.builder() c1 = DaggerBriarIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t1Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir))
.build();
injectEagerSingletons(c1); injectEagerSingletons(c1);
c2 = DaggerBriarIntegrationTestComponent.builder() c2 = DaggerBriarIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t2Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir))
.build();
injectEagerSingletons(c2); injectEagerSingletons(c2);
} }

View File

@@ -11,7 +11,7 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
import org.briarproject.bramble.api.sync.Group; import org.briarproject.bramble.api.sync.Group;
import org.briarproject.bramble.api.sync.Message; import org.briarproject.bramble.api.sync.Message;
import org.briarproject.bramble.api.sync.MessageId; 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.ConversationMessageHeader;
import org.briarproject.briar.api.conversation.ConversationResponse; import org.briarproject.briar.api.conversation.ConversationResponse;
import org.briarproject.briar.api.forum.Forum; import org.briarproject.briar.api.forum.Forum;
@@ -86,18 +86,22 @@ public class ForumSharingIntegrationTest
protected void createComponents() { protected void createComponents() {
BriarIntegrationTestComponent component = BriarIntegrationTestComponent component =
DaggerBriarIntegrationTestComponent.builder().build(); DaggerBriarIntegrationTestComponent.builder().build();
injectEagerSingletons(component);
component.inject(this); component.inject(this);
c0 = DaggerBriarIntegrationTestComponent.builder() c0 = DaggerBriarIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t0Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir))
.build();
injectEagerSingletons(c0); injectEagerSingletons(c0);
c1 = DaggerBriarIntegrationTestComponent.builder() c1 = DaggerBriarIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t1Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir))
.build();
injectEagerSingletons(c1); injectEagerSingletons(c1);
c2 = DaggerBriarIntegrationTestComponent.builder() c2 = DaggerBriarIntegrationTestComponent.builder()
.testDatabaseModule(new TestDatabaseModule(t2Dir)).build(); .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir))
.build();
injectEagerSingletons(c2); injectEagerSingletons(c2);
} }

View File

@@ -30,6 +30,7 @@ import org.briarproject.bramble.api.system.Clock;
import org.briarproject.bramble.api.transport.StreamWriter; import org.briarproject.bramble.api.transport.StreamWriter;
import org.briarproject.bramble.contact.ContactModule; import org.briarproject.bramble.contact.ContactModule;
import org.briarproject.bramble.crypto.CryptoExecutorModule; import org.briarproject.bramble.crypto.CryptoExecutorModule;
import org.briarproject.bramble.db.DatabaseExecutorModule;
import org.briarproject.bramble.identity.IdentityModule; import org.briarproject.bramble.identity.IdentityModule;
import org.briarproject.bramble.lifecycle.LifecycleModule; import org.briarproject.bramble.lifecycle.LifecycleModule;
import org.briarproject.bramble.properties.PropertiesModule; import org.briarproject.bramble.properties.PropertiesModule;
@@ -188,6 +189,7 @@ public abstract class BriarIntegrationTest<C extends BriarIntegrationTestCompone
component.inject(new BlogModule.EagerSingletons()); component.inject(new BlogModule.EagerSingletons());
component.inject(new ContactModule.EagerSingletons()); component.inject(new ContactModule.EagerSingletons());
component.inject(new CryptoExecutorModule.EagerSingletons()); component.inject(new CryptoExecutorModule.EagerSingletons());
component.inject(new DatabaseExecutorModule.EagerSingletons());
component.inject(new ForumModule.EagerSingletons()); component.inject(new ForumModule.EagerSingletons());
component.inject(new GroupInvitationModule.EagerSingletons()); component.inject(new GroupInvitationModule.EagerSingletons());
component.inject(new IdentityModule.EagerSingletons()); component.inject(new IdentityModule.EagerSingletons());

View File

@@ -14,6 +14,7 @@ import org.briarproject.bramble.contact.ContactModule;
import org.briarproject.bramble.crypto.CryptoExecutorModule; import org.briarproject.bramble.crypto.CryptoExecutorModule;
import org.briarproject.bramble.crypto.CryptoModule; import org.briarproject.bramble.crypto.CryptoModule;
import org.briarproject.bramble.data.DataModule; import org.briarproject.bramble.data.DataModule;
import org.briarproject.bramble.db.DatabaseExecutorModule;
import org.briarproject.bramble.db.DatabaseModule; import org.briarproject.bramble.db.DatabaseModule;
import org.briarproject.bramble.event.DefaultEventExecutorModule; import org.briarproject.bramble.event.DefaultEventExecutorModule;
import org.briarproject.bramble.event.EventModule; import org.briarproject.bramble.event.EventModule;
@@ -24,7 +25,7 @@ import org.briarproject.bramble.record.RecordModule;
import org.briarproject.bramble.sync.SyncModule; import org.briarproject.bramble.sync.SyncModule;
import org.briarproject.bramble.sync.validation.ValidationModule; import org.briarproject.bramble.sync.validation.ValidationModule;
import org.briarproject.bramble.system.SystemModule; 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.TestPluginConfigModule;
import org.briarproject.bramble.test.TestSecureRandomModule; import org.briarproject.bramble.test.TestSecureRandomModule;
import org.briarproject.bramble.transport.TransportModule; import org.briarproject.bramble.transport.TransportModule;
@@ -53,7 +54,7 @@ import dagger.Component;
@Singleton @Singleton
@Component(modules = { @Component(modules = {
TestDatabaseModule.class, TestDatabaseConfigModule.class,
TestPluginConfigModule.class, TestPluginConfigModule.class,
TestSecureRandomModule.class, TestSecureRandomModule.class,
BlogModule.class, BlogModule.class,
@@ -63,6 +64,7 @@ import dagger.Component;
CryptoModule.class, CryptoModule.class,
CryptoExecutorModule.class, CryptoExecutorModule.class,
DataModule.class, DataModule.class,
DatabaseExecutorModule.class,
DatabaseModule.class, DatabaseModule.class,
DefaultEventExecutorModule.class, DefaultEventExecutorModule.class,
EventModule.class, EventModule.class,
@@ -92,6 +94,8 @@ public interface BriarIntegrationTestComponent {
void inject(CryptoExecutorModule.EagerSingletons init); void inject(CryptoExecutorModule.EagerSingletons init);
void inject(DatabaseExecutorModule.EagerSingletons init);
void inject(ForumModule.EagerSingletons init); void inject(ForumModule.EagerSingletons init);
void inject(GroupInvitationModule.EagerSingletons init); void inject(GroupInvitationModule.EagerSingletons init);