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

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