summaryrefslogtreecommitdiffstats
path: root/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java
diff options
context:
space:
mode:
Diffstat (limited to 'configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java')
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java55
1 files changed, 29 insertions, 26 deletions
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 2b2ed13fcfe..06c224b5a09 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
@@ -12,7 +12,6 @@ import com.yahoo.jrt.Supervisor;
import com.yahoo.jrt.Transport;
import com.yahoo.net.HostName;
import com.yahoo.test.ManualClock;
-import com.yahoo.vespa.config.GenerationCounter;
import com.yahoo.vespa.config.server.ApplicationRepository;
import com.yahoo.vespa.config.server.MemoryGenerationCounter;
import com.yahoo.vespa.config.server.MockProvisioner;
@@ -24,7 +23,7 @@ import com.yahoo.vespa.config.server.TestConfigDefinitionRepo;
import com.yahoo.vespa.config.server.application.OrchestratorMock;
import com.yahoo.vespa.config.server.filedistribution.FileServer;
import com.yahoo.vespa.config.server.host.ConfigRequestHostLivenessTracker;
-import com.yahoo.vespa.config.server.host.HostRegistries;
+import com.yahoo.vespa.config.server.host.HostRegistry;
import com.yahoo.vespa.config.server.monitoring.Metrics;
import com.yahoo.vespa.config.server.rpc.security.NoopRpcAuthorizer;
import com.yahoo.vespa.config.server.tenant.Tenant;
@@ -55,15 +54,15 @@ public class RpcTester implements AutoCloseable {
private final ManualClock clock = new ManualClock(Instant.ofEpochMilli(100));
private final String myHostname = HostName.getLocalhost();
private final HostLivenessTracker hostLivenessTracker = new ConfigRequestHostLivenessTracker(clock);
- private final GenerationCounter generationCounter;
private final Spec spec;
- private RpcServer rpcServer;
+ private final RpcServer rpcServer;
private Thread t;
private Supervisor sup;
private final ApplicationId applicationId;
private final TenantName tenantName;
private final TenantRepository tenantRepository;
+ private final HostRegistry hostRegistry = new HostRegistry();
private final ApplicationRepository applicationRepository;
private final List<Integer> allocatedPorts = new ArrayList<>();
@@ -85,23 +84,26 @@ public class RpcTester implements AutoCloseable {
.configDefinitionsDir(temporaryFolder.newFolder().getAbsolutePath())
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath());
configserverConfig = new ConfigserverConfig(configBuilder);
+ rpcServer = createRpcServer(configserverConfig);
TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder()
.configDefinitionRepo(new TestConfigDefinitionRepo())
.configServerConfig(configserverConfig)
+ .reloadListener(rpcServer)
.build();
- tenantRepository = new TenantRepository(componentRegistry);
+ tenantRepository = new TenantRepository(componentRegistry, hostRegistry);
tenantRepository.addTenant(tenantName);
+ startRpcServer();
applicationRepository = new ApplicationRepository.Builder()
.withTenantRepository(tenantRepository)
+ .withConfigserverConfig(configserverConfig)
.withProvisioner(new MockProvisioner())
.withOrchestrator(new OrchestratorMock())
.build();
- generationCounter = new MemoryGenerationCounter();
- createAndStartRpcServer();
assertFalse(hostLivenessTracker.lastRequestFrom(myHostname).isPresent());
}
public void close() {
+ rpcServer.stop();
for (Integer port : allocatedPorts) {
PortRangeAllocator.releasePort(port);
}
@@ -113,24 +115,25 @@ public class RpcTester implements AutoCloseable {
return port;
}
- void createAndStartRpcServer() throws IOException {
- HostRegistries hostRegistries = new HostRegistries();
- hostRegistries.createApplicationHostRegistry(tenantName).update(applicationId, List.of("localhost"));
- hostRegistries.getTenantHostRegistry().update(tenantName, List.of("localhost"));
- rpcServer = new RpcServer(configserverConfig,
- new SuperModelRequestHandler(new TestConfigDefinitionRepo(),
- configserverConfig,
- new SuperModelManager(
- configserverConfig,
- Zone.defaultZone() ,
- generationCounter,
- new InMemoryFlagSource())),
- Metrics.createTestMetrics(),
- hostRegistries,
- hostLivenessTracker,
- new FileServer(temporaryFolder.newFolder()),
- new NoopRpcAuthorizer(),
- new RpcRequestHandlerProvider());
+ RpcServer createRpcServer(ConfigserverConfig config) throws IOException {
+ return new RpcServer(config,
+ new SuperModelRequestHandler(new TestConfigDefinitionRepo(),
+ configserverConfig,
+ new SuperModelManager(
+ config,
+ Zone.defaultZone(),
+ new MemoryGenerationCounter(),
+ new InMemoryFlagSource())),
+ Metrics.createTestMetrics(),
+ hostRegistry,
+ hostLivenessTracker,
+ new FileServer(temporaryFolder.newFolder()),
+ new NoopRpcAuthorizer(),
+ new RpcRequestHandlerProvider());
+ }
+
+ void startRpcServer() {
+ hostRegistry.update(applicationId, List.of("localhost"));
rpcServer.onTenantCreate(tenantRepository.getTenant(tenantName));
t = new Thread(rpcServer);
t.start();
@@ -165,7 +168,7 @@ public class RpcTester implements AutoCloseable {
void performRequest(Request req) {
clock.advance(Duration.ofMillis(10));
- sup.connect(spec).invokeSync(req, 120.0);
+ sup.connect(spec).invokeSync(req, 10.0);
if (req.methodName().equals(RpcServer.getConfigMethodName))
assertEquals(clock.instant(), hostLivenessTracker.lastRequestFrom(myHostname).get());
}