aboutsummaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2021-01-21 08:13:00 +0100
committerHarald Musum <musum@verizonmedia.com>2021-01-21 08:13:00 +0100
commit327eb2b09d667d8bdbf74355d9138450c4812614 (patch)
treed40c3e6215e6c8e87f776cfd669fd845efdd6fec /configserver
parentf42cd4981459a081bb402384e4629b6815171db9 (diff)
Move ConfigServerDB out of GlobalComponentRegistry
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/GlobalComponentRegistry.java2
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistry.java8
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java3
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java10
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java17
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java1
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistryTest.java3
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java24
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/application/TenantApplicationsTest.java9
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java1
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpGetConfigHandlerTest.java1
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpListConfigsHandlerTest.java1
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationContentHandlerTest.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java2
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HostHandlerTest.java1
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpGetConfigHandlerTest.java1
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpListConfigsHandlerTest.java2
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ListApplicationsHandlerTest.java17
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java1
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandlerTest.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandlerTest.java16
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java1
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/TenantHandlerTest.java1
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/MaintainerTester.java1
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java1
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionRepositoryTest.java5
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRepositoryTest.java23
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantTest.java24
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TestTenantRepository.java4
30 files changed, 101 insertions, 91 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/GlobalComponentRegistry.java b/configserver/src/main/java/com/yahoo/vespa/config/server/GlobalComponentRegistry.java
index d0b50512958..4d25ff59436 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/GlobalComponentRegistry.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/GlobalComponentRegistry.java
@@ -1,7 +1,6 @@
// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.server;
-import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.config.model.api.ConfigDefinitionRepo;
import com.yahoo.config.provision.Zone;
import com.yahoo.vespa.config.server.modelfactory.ModelFactoryRegistry;
@@ -22,5 +21,4 @@ public interface GlobalComponentRegistry {
ModelFactoryRegistry getModelFactoryRegistry();
Zone getZone();
Clock getClock();
- ConfigServerDB getConfigServerDB();
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistry.java b/configserver/src/main/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistry.java
index 489e87249d6..154f735a56a 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistry.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistry.java
@@ -21,20 +21,17 @@ public class InjectedGlobalComponentRegistry implements GlobalComponentRegistry
private final RpcServer rpcServer;
private final ConfigDefinitionRepo staticConfigDefinitionRepo;
private final Zone zone;
- private final ConfigServerDB configServerDB;
@SuppressWarnings("WeakerAccess")
@Inject
public InjectedGlobalComponentRegistry(ModelFactoryRegistry modelFactoryRegistry,
RpcServer rpcServer,
ConfigDefinitionRepo staticConfigDefinitionRepo,
- Zone zone,
- ConfigServerDB configServerDB) {
+ Zone zone) {
this.modelFactoryRegistry = modelFactoryRegistry;
this.rpcServer = rpcServer;
this.staticConfigDefinitionRepo = staticConfigDefinitionRepo;
this.zone = zone;
- this.configServerDB = configServerDB;
}
@Override
@@ -54,7 +51,4 @@ public class InjectedGlobalComponentRegistry implements GlobalComponentRegistry
@Override
public Clock getClock() {return Clock.systemUTC();}
- @Override
- public ConfigServerDB getConfigServerDB() { return configServerDB; }
-
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java
index 09023d06ef5..90e3b233a74 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java
@@ -13,6 +13,7 @@ import com.yahoo.transaction.Transaction;
import com.yahoo.vespa.config.ConfigKey;
import com.yahoo.vespa.config.GetConfigRequest;
import com.yahoo.vespa.config.protocol.ConfigResponse;
+import com.yahoo.vespa.config.server.ConfigServerDB;
import com.yahoo.vespa.config.server.GlobalComponentRegistry;
import com.yahoo.vespa.config.server.NotFoundException;
import com.yahoo.vespa.config.server.ReloadListener;
@@ -101,7 +102,7 @@ public class TenantApplications implements RequestHandler, HostValidator<Applica
componentRegistry.getReloadListener(),
configserverConfig,
hostRegistry,
- new TenantFileSystemDirs(componentRegistry.getConfigServerDB(), tenantName),
+ new TenantFileSystemDirs(new ConfigServerDB(configserverConfig), tenantName),
componentRegistry.getClock());
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
index 6cb59341acc..1b7f7a3b697 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
@@ -20,6 +20,7 @@ import com.yahoo.path.Path;
import com.yahoo.transaction.AbstractTransaction;
import com.yahoo.transaction.NestedTransaction;
import com.yahoo.transaction.Transaction;
+import com.yahoo.vespa.config.server.ConfigServerDB;
import com.yahoo.vespa.config.server.GlobalComponentRegistry;
import com.yahoo.vespa.config.server.TimeoutBudget;
import com.yahoo.vespa.config.server.application.ApplicationSet;
@@ -104,6 +105,7 @@ public class SessionRepository {
private final SecretStore secretStore;
private final HostProvisionerProvider hostProvisionerProvider;
private final ConfigserverConfig configserverConfig;
+ private final ConfigServerDB configServerDB;
public SessionRepository(TenantName tenantName,
GlobalComponentRegistry componentRegistry,
@@ -117,7 +119,8 @@ public class SessionRepository {
ExecutorService zkCacheExecutor,
SecretStore secretStore,
HostProvisionerProvider hostProvisionerProvider,
- ConfigserverConfig configserverConfig) {
+ ConfigserverConfig configserverConfig,
+ ConfigServerDB configServerDB) {
this.tenantName = tenantName;
this.componentRegistry = componentRegistry;
this.configCurator = ConfigCurator.create(curator);
@@ -129,7 +132,7 @@ public class SessionRepository {
this.zkWatcherExecutor = command -> zkWatcherExecutor.execute(tenantName, command);
this.permanentApplicationPackage = permanentApplicationPackage;
this.flagSource = flagSource;
- this.tenantFileSystemDirs = new TenantFileSystemDirs(componentRegistry.getConfigServerDB(), tenantName);
+ this.tenantFileSystemDirs = new TenantFileSystemDirs(configServerDB, tenantName);
this.applicationRepo = applicationRepo;
this.sessionPreparer = sessionPreparer;
this.metrics = metrics;
@@ -137,6 +140,7 @@ public class SessionRepository {
this.secretStore = secretStore;
this.hostProvisionerProvider = hostProvisionerProvider;
this.configserverConfig = configserverConfig;
+ this.configServerDB = configServerDB;
loadSessions(); // Needs to be done before creating cache below
this.directoryCache = curator.createDirectoryCache(sessionsPath.getAbsolute(), false, false, zkCacheExecutor);
@@ -727,7 +731,7 @@ public class SessionRepository {
}
private File getSessionAppDir(long sessionId) {
- return new TenantFileSystemDirs(componentRegistry.getConfigServerDB(), tenantName).getUserApplicationDir(sessionId);
+ return new TenantFileSystemDirs(configServerDB, tenantName).getUserApplicationDir(sessionId);
}
private void updateSessionStateWatcher(long sessionId, RemoteSession remoteSession) {
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java
index 6d1565dd256..df02bcd4ac4 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java
@@ -13,6 +13,7 @@ import com.yahoo.container.jdisc.secretstore.SecretStore;
import com.yahoo.path.Path;
import com.yahoo.text.Utf8;
import com.yahoo.transaction.Transaction;
+import com.yahoo.vespa.config.server.ConfigServerDB;
import com.yahoo.vespa.config.server.GlobalComponentRegistry;
import com.yahoo.vespa.config.server.application.PermanentApplicationPackage;
import com.yahoo.vespa.config.server.application.TenantApplications;
@@ -99,6 +100,7 @@ public class TenantRepository {
private final SecretStore secretStore;
private final HostProvisionerProvider hostProvisionerProvider;
private final ConfigserverConfig configserverConfig;
+ private final ConfigServerDB configServerDB;
private final ExecutorService bootstrapExecutor;
private final ScheduledExecutorService checkForRemovedApplicationsService =
new ScheduledThreadPoolExecutor(1, new DaemonThreadFactory("check for removed applications"));
@@ -117,7 +119,8 @@ public class TenantRepository {
FlagSource flagSource,
SecretStore secretStore,
HostProvisionerProvider hostProvisionerProvider,
- ConfigserverConfig configserverConfig) {
+ ConfigserverConfig configserverConfig,
+ ConfigServerDB configServerDB) {
this(componentRegistry,
hostRegistry,
curator,
@@ -128,7 +131,8 @@ public class TenantRepository {
Executors.newFixedThreadPool(1, ThreadFactoryFactory.getThreadFactory(TenantRepository.class.getName())),
secretStore,
hostProvisionerProvider,
- configserverConfig);
+ configserverConfig,
+ configServerDB);
}
public TenantRepository(GlobalComponentRegistry componentRegistry,
@@ -141,7 +145,8 @@ public class TenantRepository {
ExecutorService zkCacheExecutor,
SecretStore secretStore,
HostProvisionerProvider hostProvisionerProvider,
- ConfigserverConfig configserverConfig) {
+ ConfigserverConfig configserverConfig,
+ ConfigServerDB configServerDB) {
this.componentRegistry = componentRegistry;
this.hostRegistry = hostRegistry;
this.configserverConfig = configserverConfig;
@@ -157,6 +162,7 @@ public class TenantRepository {
this.flagSource = flagSource;
this.secretStore = secretStore;
this.hostProvisionerProvider = hostProvisionerProvider;
+ this.configServerDB = configServerDB;
curator.framework().getConnectionStateListenable().addListener(this::stateChanged);
@@ -282,7 +288,7 @@ public class TenantRepository {
componentRegistry.getReloadListener(),
configserverConfig,
hostRegistry,
- new TenantFileSystemDirs(componentRegistry.getConfigServerDB(), tenantName),
+ new TenantFileSystemDirs(configServerDB, tenantName),
componentRegistry.getClock());
PermanentApplicationPackage permanentApplicationPackage = new PermanentApplicationPackage(configserverConfig);
SessionPreparer sessionPreparer = new SessionPreparer(componentRegistry.getModelFactoryRegistry(),
@@ -307,7 +313,8 @@ public class TenantRepository {
zkCacheExecutor,
secretStore,
hostProvisionerProvider,
- configserverConfig);
+ configserverConfig,
+ configServerDB);
log.log(Level.INFO, "Adding tenant '" + tenantName + "'" + ", created " + created);
Tenant tenant = new Tenant(tenantName, sessionRepository, applicationRepo, applicationRepo, created);
notifyNewTenant(tenant);
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java
index d91c00dbc11..0537cca4c30 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java
@@ -123,7 +123,6 @@ public class ApplicationRepositoryTest {
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath())
.build();
TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder()
- .configServerConfig(configserverConfig)
.clock(clock)
.build();
InMemoryFlagSource flagSource = new InMemoryFlagSource();
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistryTest.java
index 63b292e6159..c5b1cd32d56 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistryTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistryTest.java
@@ -57,8 +57,7 @@ public class InjectedGlobalComponentRegistryTest {
new InjectedGlobalComponentRegistry(modelFactoryRegistry,
rpcServer,
defRepo,
- zone,
- new ConfigServerDB(configserverConfig));
+ zone);
}
@Test
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java b/configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java
index 687d9e3be5e..defc4826bd3 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java
@@ -1,7 +1,6 @@
// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.server;
-import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.config.model.NullConfigModelRegistry;
import com.yahoo.config.model.api.ConfigDefinitionRepo;
import com.yahoo.config.provision.Zone;
@@ -11,12 +10,9 @@ import com.yahoo.vespa.config.server.tenant.MockTenantListener;
import com.yahoo.vespa.config.server.tenant.TenantListener;
import com.yahoo.vespa.model.VespaModelFactory;
-import java.nio.file.Files;
import java.time.Clock;
import java.util.Collections;
-import static com.yahoo.yolean.Exceptions.uncheck;
-
/**
* @author Ulf Lilleengen
*/
@@ -28,30 +24,22 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
private final ModelFactoryRegistry modelFactoryRegistry;
private final Zone zone;
private final Clock clock;
- private final ConfigServerDB configServerDB;
private TestComponentRegistry(ModelFactoryRegistry modelFactoryRegistry,
ConfigDefinitionRepo defRepo,
ReloadListener reloadListener,
TenantListener tenantListener,
Zone zone,
- Clock clock,
- ConfigserverConfig configserverConfig) {
+ Clock clock) {
this.reloadListener = reloadListener;
this.tenantListener = tenantListener;
this.defRepo = defRepo;
this.modelFactoryRegistry = modelFactoryRegistry;
this.zone = zone;
this.clock = clock;
- this.configServerDB = new ConfigServerDB(configserverConfig);
}
public static class Builder {
- private ConfigserverConfig configserverConfig = new ConfigserverConfig(
- new ConfigserverConfig.Builder()
- .configServerDBDir(uncheck(() -> Files.createTempDirectory("serverdb")).toString())
- .configDefinitionsDir(uncheck(() -> Files.createTempDirectory("configdefinitions")).toString())
- .sessionLifetime(5));
private ConfigDefinitionRepo defRepo = new StaticConfigDefinitionRepo();
private ReloadListener reloadListener = new TenantApplicationsTest.MockReloadListener();
private final MockTenantListener tenantListener = new MockTenantListener();
@@ -59,11 +47,6 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
private Zone zone = Zone.defaultZone();
private Clock clock = Clock.systemUTC();
- public Builder configServerConfig(ConfigserverConfig configserverConfig) {
- this.configserverConfig = configserverConfig;
- return this;
- }
-
public Builder modelFactoryRegistry(ModelFactoryRegistry modelFactoryRegistry) {
this.modelFactoryRegistry = modelFactoryRegistry;
return this;
@@ -95,8 +78,7 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
reloadListener,
tenantListener,
zone,
- clock,
- configserverConfig);
+ clock);
}
}
@@ -114,7 +96,5 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
}
@Override
public Clock getClock() { return clock;}
- @Override
- public ConfigServerDB getConfigServerDB() { return configServerDB;}
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/application/TenantApplicationsTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/application/TenantApplicationsTest.java
index 26c3db7377d..e5d2aff15d0 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/application/TenantApplicationsTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/application/TenantApplicationsTest.java
@@ -60,6 +60,7 @@ public class TenantApplicationsTest {
private CuratorFramework curatorFramework;
private TestComponentRegistry componentRegistry;
private TenantApplications applications;
+ private ConfigserverConfig configserverConfig;
@Rule
public TemporaryFolder tempFolder = new TemporaryFolder();
@@ -68,19 +69,19 @@ public class TenantApplicationsTest {
public void setup() throws IOException {
curator = new MockCurator();
curatorFramework = curator.framework();
- ConfigserverConfig configserverConfig = new ConfigserverConfig.Builder()
+ configserverConfig = new ConfigserverConfig.Builder()
.payloadCompressionType(ConfigserverConfig.PayloadCompressionType.Enum.UNCOMPRESSED)
.configServerDBDir(tempFolder.newFolder("configserverdb").getAbsolutePath())
.configDefinitionsDir(tempFolder.newFolder("configdefinitions").getAbsolutePath())
.build();
componentRegistry = new TestComponentRegistry.Builder()
- .configServerConfig(configserverConfig)
.modelFactoryRegistry(createRegistry())
.reloadListener(listener)
.build();
HostRegistry hostRegistry = new HostRegistry();
TenantRepository tenantRepository = new TestTenantRepository.Builder()
.withComponentRegistry(componentRegistry)
+ .withConfigserverConfig(configserverConfig)
.withCurator(curator)
.build();
tenantRepository.addTenant(TenantRepository.HOSTED_VESPA_TENANT);
@@ -182,7 +183,7 @@ public class TenantApplicationsTest {
new HostRegistry(),
TenantName.defaultName(),
new MockCurator(),
- new ConfigserverConfig.Builder().build());
+ configserverConfig);
assertdefaultAppNotFound();
VespaModel model = new VespaModel(FilesApplicationPackage.fromFile(new File("src/test/apps/app")));
@@ -217,7 +218,7 @@ public class TenantApplicationsTest {
}
private TenantApplications createZKAppRepo() {
- return TenantApplications.create(componentRegistry, new HostRegistry(), tenantName, curator, new ConfigserverConfig.Builder().build());
+ return TenantApplications.create(componentRegistry, new HostRegistry(), tenantName, curator, configserverConfig);
}
private static ApplicationId createApplicationId(String name) {
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java
index c5292133bfd..011c9da5409 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java
@@ -285,7 +285,6 @@ public class DeployTester {
TestComponentRegistry.Builder testComponentRegistryBuilder = new TestComponentRegistry.Builder()
.clock(clock)
- .configServerConfig(configserverConfig)
.modelFactoryRegistry(new ModelFactoryRegistry(modelFactories))
.zone(zone);
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpGetConfigHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpGetConfigHandlerTest.java
index 0cc5cab4714..446257aa0f8 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpGetConfigHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpGetConfigHandlerTest.java
@@ -57,7 +57,6 @@ public class HttpGetConfigHandlerTest {
.build();
TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder()
.configDefinitionRepo(new TestConfigDefinitionRepo())
- .configServerConfig(configserverConfig)
.build();
TenantRepository tenantRepository = new TestTenantRepository.Builder()
.withComponentRegistry(componentRegistry)
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpListConfigsHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpListConfigsHandlerTest.java
index 9a3550aa36a..4c6c3ac7621 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpListConfigsHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpListConfigsHandlerTest.java
@@ -62,7 +62,6 @@ public class HttpListConfigsHandlerTest {
.build();
TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder()
.configDefinitionRepo(new TestConfigDefinitionRepo())
- .configServerConfig(configserverConfig)
.build();
TenantRepository tenantRepository = new TestTenantRepository.Builder()
.withComponentRegistry(componentRegistry)
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationContentHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationContentHandlerTest.java
index f894a254c30..1a59ffff05c 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationContentHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationContentHandlerTest.java
@@ -57,9 +57,7 @@ public class ApplicationContentHandlerTest extends ContentHandlerTestBase {
.configDefinitionsDir(temporaryFolder.newFolder("configdefinitions").getAbsolutePath())
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath())
.build();
- TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder()
- .configServerConfig(configserverConfig)
- .build();
+ TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder().build();
Clock clock = componentRegistry.getClock();
TenantRepository tenantRepository = new TestTenantRepository.Builder()
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java
index 0e0fd5babd5..9d10f505f84 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java
@@ -111,12 +111,12 @@ public class ApplicationHandlerTest {
.build();
TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder()
.modelFactoryRegistry(new ModelFactoryRegistry(modelFactories))
- .configServerConfig(configserverConfig)
.clock(clock)
.build();
provisioner = new MockProvisioner();
tenantRepository = new TestTenantRepository.Builder()
.withComponentRegistry(componentRegistry)
+ .withConfigserverConfig(configserverConfig)
.withFileDistributionFactory(new MockFileDistributionFactory(configserverConfig))
.withHostProvisionerProvider(HostProvisionerProvider.withProvisioner(provisioner, false))
.build();
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HostHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HostHandlerTest.java
index 5e738f14832..675c85006d4 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HostHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HostHandlerTest.java
@@ -55,7 +55,6 @@ public class HostHandlerTest {
.build();
TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder()
.zone(zone)
- .configServerConfig(configserverConfig)
.build();
TenantRepository tenantRepository = new TestTenantRepository.Builder()
.withComponentRegistry(componentRegistry)
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpGetConfigHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpGetConfigHandlerTest.java
index d136be6ddfc..a854afa6d3d 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpGetConfigHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpGetConfigHandlerTest.java
@@ -66,7 +66,6 @@ public class HttpGetConfigHandlerTest {
.build();
TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder()
.configDefinitionRepo(new TestConfigDefinitionRepo())
- .configServerConfig(configserverConfig)
.build();
MockProvisioner provisioner = new MockProvisioner();
TenantRepository tenantRepository = new TestTenantRepository.Builder()
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpListConfigsHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpListConfigsHandlerTest.java
index cf1ba038688..9d67749cf5d 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpListConfigsHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpListConfigsHandlerTest.java
@@ -15,7 +15,6 @@ import com.yahoo.vespa.config.server.MockProvisioner;
import com.yahoo.vespa.config.server.TestComponentRegistry;
import com.yahoo.vespa.config.server.TestConfigDefinitionRepo;
import com.yahoo.vespa.config.server.application.OrchestratorMock;
-import com.yahoo.vespa.config.server.host.HostRegistry;
import com.yahoo.vespa.config.server.http.HandlerTest;
import com.yahoo.vespa.config.server.http.HttpErrorResponse;
import com.yahoo.vespa.config.server.http.v2.HttpListConfigsHandler.ListConfigsResponse;
@@ -70,7 +69,6 @@ public class HttpListConfigsHandlerTest {
.build();
TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder()
.configDefinitionRepo(new TestConfigDefinitionRepo())
- .configServerConfig(configserverConfig)
.build();
TenantRepository tenantRepository = new TestTenantRepository.Builder()
.withComponentRegistry(componentRegistry)
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ListApplicationsHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ListApplicationsHandlerTest.java
index e3930c2784d..7cabd9ea7e3 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ListApplicationsHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ListApplicationsHandlerTest.java
@@ -1,6 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.server.http.v2;
+import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.Environment;
import com.yahoo.config.provision.RegionName;
@@ -16,7 +17,9 @@ import com.yahoo.vespa.config.server.http.SessionHandlerTest;
import com.yahoo.vespa.config.server.tenant.TenantRepository;
import com.yahoo.vespa.config.server.tenant.TestTenantRepository;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
import java.io.IOException;
@@ -40,9 +43,19 @@ public class ListApplicationsHandlerTest {
private TenantApplications applicationRepo, applicationRepo2;
private ListApplicationsHandler handler;
+ @Rule
+ public TemporaryFolder temporaryFolder = new TemporaryFolder();
+
@Before
- public void setup() {
- TenantRepository tenantRepository = new TestTenantRepository.Builder().withComponentRegistry(componentRegistry).build();
+ public void setup() throws IOException {
+ ConfigserverConfig configserverConfig = new ConfigserverConfig.Builder()
+ .configServerDBDir(temporaryFolder.newFolder().getAbsolutePath())
+ .configDefinitionsDir(temporaryFolder.newFolder().getAbsolutePath())
+ .build();
+ TenantRepository tenantRepository = new TestTenantRepository.Builder()
+ .withComponentRegistry(componentRegistry)
+ .withConfigserverConfig(configserverConfig)
+ .build();
tenantRepository.addTenant(mytenant);
tenantRepository.addTenant(foobar);
applicationRepo = tenantRepository.getTenant(mytenant).getApplicationRepo();
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java
index 000c939188d..734382897a4 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java
@@ -76,7 +76,6 @@ public class SessionActiveHandlerTest {
.build();
componentRegistry = new TestComponentRegistry.Builder()
.modelFactoryRegistry(new ModelFactoryRegistry(List.of((modelFactory))))
- .configServerConfig(configserverConfig)
.build();
TenantRepository tenantRepository = new TestTenantRepository.Builder()
.withComponentRegistry(componentRegistry)
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandlerTest.java
index 5b9cd8e4e79..2e4ebbaaff3 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandlerTest.java
@@ -57,9 +57,7 @@ public class SessionContentHandlerTest extends ContentHandlerTestBase {
.configDefinitionsDir(temporaryFolder.newFolder("configdefinitions").getAbsolutePath())
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath())
.build();
- componentRegistry = new TestComponentRegistry.Builder()
- .configServerConfig(configserverConfig)
- .build();
+ componentRegistry = new TestComponentRegistry.Builder().build();
tenantRepository = new TestTenantRepository.Builder()
.withComponentRegistry(componentRegistry)
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandlerTest.java
index d4097bd3024..73bd9092439 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandlerTest.java
@@ -19,7 +19,9 @@ import com.yahoo.vespa.config.server.tenant.TenantRepository;
import com.yahoo.vespa.config.server.tenant.TestTenantRepository;
import org.junit.Before;
import org.junit.Ignore;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
import java.io.File;
import java.io.FileInputStream;
@@ -62,9 +64,19 @@ public class SessionCreateHandlerTest extends SessionHandlerTest {
postHeaders.put(ApplicationApiHandler.contentTypeHeader, ApplicationApiHandler.APPLICATION_X_GZIP);
}
+ @Rule
+ public TemporaryFolder temporaryFolder = new TemporaryFolder();
+
@Before
- public void setupRepo() {
- TenantRepository tenantRepository = new TestTenantRepository.Builder().withComponentRegistry(componentRegistry).build();
+ public void setupRepo() throws IOException {
+ ConfigserverConfig configserverConfig = new ConfigserverConfig.Builder()
+ .configServerDBDir(temporaryFolder.newFolder().getAbsolutePath())
+ .configDefinitionsDir(temporaryFolder.newFolder().getAbsolutePath())
+ .build();
+ TenantRepository tenantRepository = new TestTenantRepository.Builder()
+ .withComponentRegistry(componentRegistry)
+ .withConfigserverConfig(configserverConfig)
+ .build();
applicationRepository = new ApplicationRepository.Builder()
.withTenantRepository(tenantRepository)
.withProvisioner(new MockProvisioner())
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java
index 3e6789320ed..56b367362b1 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java
@@ -77,7 +77,6 @@ public class SessionPrepareHandlerTest extends SessionHandlerTest {
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath())
.build();
TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder()
- .configServerConfig(configserverConfig)
.build();
Clock clock = componentRegistry.getClock();
timeoutBudget = new TimeoutBudget(clock, Duration.ofSeconds(10));
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/TenantHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/TenantHandlerTest.java
index 0bf7cbdffa6..37f0f2c5e2f 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/TenantHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/TenantHandlerTest.java
@@ -56,7 +56,6 @@ public class TenantHandlerTest {
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath())
.build();
TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder()
- .configServerConfig(configserverConfig)
.build();
tenantRepository = new TestTenantRepository.Builder()
.withComponentRegistry(componentRegistry)
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/MaintainerTester.java b/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/MaintainerTester.java
index 8c8c105c4c9..4dd971a37e4 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/MaintainerTester.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/MaintainerTester.java
@@ -43,7 +43,6 @@ class MaintainerTester {
.build();
GlobalComponentRegistry componentRegistry = new TestComponentRegistry.Builder()
.clock(clock)
- .configServerConfig(configserverConfig)
.modelFactoryRegistry(new ModelFactoryRegistry(List.of(new DeployTester.CountingModelFactory(clock))))
.build();
tenantRepository = new TestTenantRepository.Builder()
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java
index d0a9698b4bb..e79ed6cafcf 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java
@@ -88,7 +88,6 @@ public class RpcTester implements AutoCloseable {
rpcServer = createRpcServer(configserverConfig);
TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder()
.configDefinitionRepo(new TestConfigDefinitionRepo())
- .configServerConfig(configserverConfig)
.reloadListener(rpcServer)
.build();
tenantRepository = new TestTenantRepository.Builder()
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
index 7f3422159d2..9939856d4db 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
@@ -106,9 +106,7 @@ public class SessionPreparerTest {
.configServerDBDir(folder.newFolder().getAbsolutePath())
.configDefinitionsDir(folder.newFolder().getAbsolutePath())
.build();
- componentRegistry = new TestComponentRegistry.Builder()
- .configServerConfig(configserverConfig)
- .build();
+ componentRegistry = new TestComponentRegistry.Builder().build();
preparer = createPreparer();
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionRepositoryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionRepositoryTest.java
index 0ca04d51107..ed81012339d 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionRepositoryTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionRepositoryTest.java
@@ -89,11 +89,10 @@ public class SessionRepositoryTest {
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath())
.sessionLifetime(5)
.build();
- GlobalComponentRegistry globalComponentRegistry = componentRegistryBuilder
- .configServerConfig(configserverConfig)
- .build();
+ GlobalComponentRegistry globalComponentRegistry = componentRegistryBuilder.build();
tenantRepository = new TestTenantRepository.Builder()
.withComponentRegistry(globalComponentRegistry)
+ .withConfigserverConfig(configserverConfig)
.withCurator(curator)
.withFileDistributionFactory(new MockFileDistributionFactory(configserverConfig))
.build();
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRepositoryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRepositoryTest.java
index 8252fd71e6e..fe325488601 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRepositoryTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRepositoryTest.java
@@ -14,6 +14,7 @@ import com.yahoo.config.provision.RegionName;
import com.yahoo.config.provision.SystemName;
import com.yahoo.config.provision.TenantName;
import com.yahoo.config.provision.Zone;
+import com.yahoo.vespa.config.server.ConfigServerDB;
import com.yahoo.vespa.config.server.GlobalComponentRegistry;
import com.yahoo.vespa.config.server.MockProvisioner;
import com.yahoo.vespa.config.server.MockSecretStore;
@@ -60,6 +61,7 @@ public class TenantRepositoryTest {
private TenantApplicationsTest.MockReloadListener listener;
private MockTenantListener tenantListener;
private Curator curator;
+ private ConfigserverConfig configserverConfig;
@Rule
public ExpectedException expectedException = ExpectedException.none();
@@ -68,13 +70,18 @@ public class TenantRepositoryTest {
public TemporaryFolder temporaryFolder = new TemporaryFolder();
@Before
- public void setupSessions() {
+ public void setupSessions() throws IOException {
curator = new MockCurator();
TestComponentRegistry globalComponentRegistry = new TestComponentRegistry.Builder().build();
listener = (TenantApplicationsTest.MockReloadListener) globalComponentRegistry.getReloadListener();
tenantListener = (MockTenantListener) globalComponentRegistry.getTenantListener();
assertFalse(tenantListener.tenantsLoaded);
+ configserverConfig = new ConfigserverConfig.Builder()
+ .configServerDBDir(temporaryFolder.newFolder().getAbsolutePath())
+ .configDefinitionsDir(temporaryFolder.newFolder().getAbsolutePath())
+ .build();
tenantRepository = new TestTenantRepository.Builder().withComponentRegistry(globalComponentRegistry)
+ .withConfigserverConfig(configserverConfig)
.withCurator(curator)
.build();
assertTrue(tenantListener.tenantsLoaded);
@@ -180,13 +187,13 @@ public class TenantRepositoryTest {
}
@Test
- public void testFailingBootstrap() throws IOException {
+ public void testFailingBootstrap() {
tenantRepository.close(); // stop using the one setup in Before method
// Should get exception if config is true
expectedException.expect(RuntimeException.class);
expectedException.expectMessage("Could not create all tenants when bootstrapping, failed to create: [default]");
- new FailingDuringBootstrapTenantRepository(createComponentRegistry());
+ new FailingDuringBootstrapTenantRepository(createComponentRegistry(), configserverConfig);
}
private List<String> readZKChildren(String path) throws Exception {
@@ -197,18 +204,15 @@ public class TenantRepositoryTest {
assertNotNull(curator.framework().checkExists().forPath(TenantRepository.getTenantPath(tenantName).getAbsolute()));
}
- private GlobalComponentRegistry createComponentRegistry() throws IOException {
+ private GlobalComponentRegistry createComponentRegistry() {
return new TestComponentRegistry.Builder()
- .configServerConfig(new ConfigserverConfig(new ConfigserverConfig.Builder()
- .configDefinitionsDir(temporaryFolder.newFolder("configdefs").getAbsolutePath())
- .configServerDBDir(temporaryFolder.newFolder("configserverdb").getAbsolutePath())))
.zone(new Zone(SystemName.cd, Environment.prod, RegionName.from("foo")))
.build();
}
private static class FailingDuringBootstrapTenantRepository extends TenantRepository {
- public FailingDuringBootstrapTenantRepository(GlobalComponentRegistry componentRegistry) {
+ public FailingDuringBootstrapTenantRepository(GlobalComponentRegistry componentRegistry, ConfigserverConfig configserverConfig) {
super(componentRegistry,
new HostRegistry(),
new MockCurator(),
@@ -219,7 +223,8 @@ public class TenantRepositoryTest {
new InThreadExecutorService(),
new MockSecretStore(),
HostProvisionerProvider.withProvisioner(new MockProvisioner(), false),
- new ConfigserverConfig.Builder().build());
+ configserverConfig,
+ new ConfigServerDB(configserverConfig));
}
@Override
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantTest.java
index 75d1b848f50..54e4492f08e 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantTest.java
@@ -1,12 +1,16 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.server.tenant;
import com.google.common.testing.EqualsTester;
+import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.config.provision.TenantName;
import com.yahoo.vespa.config.server.TestComponentRegistry;
-import com.yahoo.vespa.config.server.host.HostRegistry;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
+
+import java.io.IOException;
import static org.hamcrest.CoreMatchers.not;
import static org.hamcrest.Matchers.is;
@@ -24,16 +28,26 @@ public class TenantTest {
private Tenant t3;
private Tenant t4;
+ @Rule
+ public TemporaryFolder temporaryFolder = new TemporaryFolder();
+
@Before
- public void setupTenant() {
+ public void setupTenant() throws IOException {
t1 = createTenant("foo");
t2 = createTenant("foo");
t3 = createTenant("bar");
t4 = createTenant("baz");
}
- private Tenant createTenant(String name) {
- TenantRepository tenantRepository = new TestTenantRepository.Builder().withComponentRegistry(componentRegistry).build();
+ private Tenant createTenant(String name) throws IOException {
+ ConfigserverConfig configserverConfig = new ConfigserverConfig.Builder()
+ .configServerDBDir(temporaryFolder.newFolder().getAbsolutePath())
+ .configDefinitionsDir(temporaryFolder.newFolder().getAbsolutePath())
+ .build();
+ TenantRepository tenantRepository = new TestTenantRepository.Builder()
+ .withComponentRegistry(componentRegistry)
+ .withConfigserverConfig(configserverConfig)
+ .build();
TenantName tenantName = TenantName.from(name);
tenantRepository.addTenant(tenantName);
return tenantRepository.getTenant(tenantName);
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TestTenantRepository.java b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TestTenantRepository.java
index 691056d13f0..2cf79224bca 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TestTenantRepository.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TestTenantRepository.java
@@ -4,6 +4,7 @@ package com.yahoo.vespa.config.server.tenant;
import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.concurrent.InThreadExecutorService;
import com.yahoo.concurrent.StripedExecutor;
+import com.yahoo.vespa.config.server.ConfigServerDB;
import com.yahoo.vespa.config.server.GlobalComponentRegistry;
import com.yahoo.vespa.config.server.MockSecretStore;
import com.yahoo.vespa.config.server.filedistribution.FileDistributionFactory;
@@ -39,7 +40,8 @@ public class TestTenantRepository extends TenantRepository {
new InThreadExecutorService(),
new MockSecretStore(),
hostProvisionerProvider,
- configserverConfig);
+ configserverConfig,
+ new ConfigServerDB(configserverConfig));
}
public static class Builder {