summaryrefslogtreecommitdiffstats
path: root/configserver/src/test/java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@yahoo-inc.com>2017-04-18 15:53:19 +0200
committerJon Bratseth <bratseth@yahoo-inc.com>2017-04-18 15:53:19 +0200
commit352b828e91711ab1384213ad7f741d423688eeca (patch)
tree55094ccb785eeca6156f8445cd45a1c5e868bbba /configserver/src/test/java
parent76497a12e6ec76d82527b2bd2fbe3de8bba6eb63 (diff)
parentbd5edd2681f6b0a3282cd053acb98d4b0ee126c4 (diff)
Merge branch 'master' into bratseth/receive-wanted-version
Diffstat (limited to 'configserver/src/test/java')
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelRequestHandlerTest.java12
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java5
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/rpc/TestWithRpc.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRequestHandlerTest.java15
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationPackageTest.java21
5 files changed, 48 insertions, 9 deletions
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelRequestHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelRequestHandlerTest.java
index a2b0b4e7d22..9bf86b4aa0a 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelRequestHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelRequestHandlerTest.java
@@ -3,7 +3,9 @@ package com.yahoo.vespa.config.server;
import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.config.model.application.provider.FilesApplicationPackage;
+import com.yahoo.config.provision.NodeFlavors;
import com.yahoo.config.provision.Version;
+import com.yahoo.config.provisioning.FlavorsConfig;
import com.yahoo.vespa.config.server.application.Application;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.TenantName;
@@ -43,7 +45,8 @@ public class SuperModelRequestHandlerTest {
counter = new SuperModelGenerationCounter(new MockCurator());
controller = new SuperModelRequestHandler(counter,
new TestConfigDefinitionRepo(),
- new ConfigserverConfig(new ConfigserverConfig.Builder()));
+ new ConfigserverConfig(new ConfigserverConfig.Builder()),
+ emptyNodeFlavors());
}
@Test
@@ -94,7 +97,8 @@ public class SuperModelRequestHandlerTest {
long masterGen = 10;
controller = new SuperModelRequestHandler(counter,
new TestConfigDefinitionRepo(),
- new ConfigserverConfig(new ConfigserverConfig.Builder().masterGeneration(masterGen)));
+ new ConfigserverConfig(new ConfigserverConfig.Builder().masterGeneration(masterGen)),
+ emptyNodeFlavors());
long gen = counter.increment();
controller.reloadConfig(tenantA, createApp(tenantA, "foo", 3L, 1));
@@ -127,4 +131,8 @@ public class SuperModelRequestHandlerTest {
}
}
+ public static NodeFlavors emptyNodeFlavors() {
+ return new NodeFlavors(new FlavorsConfig(new FlavorsConfig.Builder()));
+ }
+
}
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 efd8b2f843b..87f94fc4d1d 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
@@ -26,6 +26,8 @@ import com.yahoo.vespa.model.VespaModelFactory;
import java.util.Collections;
import java.util.Optional;
+import static com.yahoo.vespa.config.server.SuperModelRequestHandlerTest.emptyNodeFlavors;
+
/**
* @author lulf
* @since 5.1
@@ -141,7 +143,8 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
HostProvisionerProvider.empty();
SessionPreparer sessionPreparer = new SessionPreparer(modelFactoryRegistry, fileDistributionFactory,
hostProvisionerProvider, permApp,
- configserverConfig, defRepo, curator, new Zone(configserverConfig));
+ configserverConfig, defRepo, curator,
+ new Zone(configserverConfig, emptyNodeFlavors()));
return new TestComponentRegistry(curator, configCurator.orElse(ConfigCurator.create(curator)),
metrics, modelFactoryRegistry,
permApp,
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/TestWithRpc.java b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/TestWithRpc.java
index 8f1754357b2..df1bb7f4f62 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/TestWithRpc.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/TestWithRpc.java
@@ -27,6 +27,7 @@ import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
+import static com.yahoo.vespa.config.server.SuperModelRequestHandlerTest.emptyNodeFlavors;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -84,7 +85,8 @@ public class TestWithRpc {
rpcServer = new RpcServer(new ConfigserverConfig(new ConfigserverConfig.Builder().rpcport(port).numthreads(1).maxgetconfigclients(1).hostedVespa(hostedVespa)),
new SuperModelRequestHandler(generationCounter,
new TestConfigDefinitionRepo(),
- new ConfigserverConfig(new ConfigserverConfig.Builder())),
+ new ConfigserverConfig(new ConfigserverConfig.Builder()),
+ emptyNodeFlavors()),
Metrics.createTestMetrics(), new HostRegistries(),
hostLivenessTracker);
rpcServer.onTenantCreate(TenantName.from("default"), tenantProvider);
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRequestHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRequestHandlerTest.java
index fc0dc52dc01..bd8c764353f 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRequestHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRequestHandlerTest.java
@@ -85,7 +85,10 @@ public class TenantRequestHandlerTest extends TestWithCurator {
}
private void feedApp(File appDir, long sessionId, ApplicationId appId) throws IOException {
- SessionZooKeeperClient zkc = new SessionZooKeeperClient(curator, configCurator, new PathProvider(Path.createRoot()).getSessionDir(sessionId), new TestConfigDefinitionRepo(), "");
+ SessionZooKeeperClient zkc = new SessionZooKeeperClient(curator, configCurator,
+ new PathProvider(Path.createRoot()).getSessionDir(sessionId),
+ new TestConfigDefinitionRepo(),
+ "", Optional.empty());
zkc.writeApplicationId(appId);
File app = tempFolder.newFolder();
IOUtils.copyDirectory(appDir, app);
@@ -98,7 +101,10 @@ public class TenantRequestHandlerTest extends TestWithCurator {
}
private ApplicationSet reloadConfig(long id, String application) {
- SessionZooKeeperClient zkc = new SessionZooKeeperClient(curator, configCurator, new PathProvider(Path.createRoot()).getSessionDir(id), new TestConfigDefinitionRepo(), "");
+ SessionZooKeeperClient zkc = new SessionZooKeeperClient(curator, configCurator,
+ new PathProvider(Path.createRoot()).getSessionDir(id),
+ new TestConfigDefinitionRepo(),
+ "", Optional.empty());
zkc.writeApplicationId(new ApplicationId.Builder().tenant(tenant).applicationName(application).build());
RemoteSession session = new RemoteSession(tenant, id, componentRegistry, zkc);
return session.ensureApplicationLoaded();
@@ -176,7 +182,10 @@ public class TenantRequestHandlerTest extends TestWithCurator {
@Test
public void testResolveForAppId() {
long id = 1l;
- SessionZooKeeperClient zkc = new SessionZooKeeperClient(curator, configCurator, new PathProvider(Path.createRoot()).getSessionDir(id), new TestConfigDefinitionRepo(), "");
+ SessionZooKeeperClient zkc = new SessionZooKeeperClient(curator, configCurator,
+ new PathProvider(Path.createRoot()).getSessionDir(id),
+ new TestConfigDefinitionRepo(),
+ "", Optional.empty());
ApplicationId appId = new ApplicationId.Builder()
.tenant(tenant)
.applicationName("myapp").instanceName("myinst").build();
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationPackageTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationPackageTest.java
index 217e2a04f9b..f6b00aa7e88 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationPackageTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationPackageTest.java
@@ -8,13 +8,17 @@ import java.io.File;
import java.io.IOException;
import java.io.Reader;
import java.util.Collections;
+import java.util.Optional;
import java.util.regex.Pattern;
import com.yahoo.config.application.api.DeploymentSpec;
import com.yahoo.config.model.deploy.DeployState;
+import com.yahoo.config.provision.Flavor;
import com.yahoo.config.provision.HostSpec;
+import com.yahoo.config.provision.NodeFlavors;
import com.yahoo.config.provision.ProvisionInfo;
import com.yahoo.config.provision.Version;
+import com.yahoo.config.provisioning.FlavorsConfig;
import com.yahoo.path.Path;
import com.yahoo.text.Utf8;
import com.yahoo.vespa.config.server.TestWithCurator;
@@ -27,8 +31,10 @@ import com.yahoo.io.IOUtils;
public class ZKApplicationPackageTest extends TestWithCurator {
private static final String APP = "src/test/apps/zkapp";
+ private static final String TEST_FLAVOR_NAME = "test-flavor";
+ private static final Optional<Flavor> TEST_FLAVOR = new MockNodeFlavors().getFlavor(TEST_FLAVOR_NAME);
private static final ProvisionInfo provisionInfo = ProvisionInfo.withHosts(
- Collections.singleton(new HostSpec("foo.yahoo.com", Collections.emptyList())));
+ Collections.singleton(new HostSpec("foo.yahoo.com", Collections.emptyList(), TEST_FLAVOR, Optional.empty())));
@Rule
public TemporaryFolder tmpDir = new TemporaryFolder();
@@ -36,7 +42,7 @@ public class ZKApplicationPackageTest extends TestWithCurator {
@Test
public void testBasicZKFeed() throws IOException {
feed(configCurator, new File(APP));
- ZKApplicationPackage zkApp = new ZKApplicationPackage(configCurator, Path.fromString("/0"));
+ ZKApplicationPackage zkApp = new ZKApplicationPackage(configCurator, Path.fromString("/0"), Optional.of(new MockNodeFlavors()));
assertTrue(Pattern.compile(".*<slobroks>.*",Pattern.MULTILINE+Pattern.DOTALL).matcher(IOUtils.readAll(zkApp.getServices())).matches());
assertTrue(Pattern.compile(".*<alias>.*",Pattern.MULTILINE+Pattern.DOTALL).matcher(IOUtils.readAll(zkApp.getHosts())).matches());
assertTrue(Pattern.compile(".*<slobroks>.*",Pattern.MULTILINE+Pattern.DOTALL).matcher(IOUtils.readAll(zkApp.getFile(Path.fromString("services.xml")).createReader())).matches());
@@ -61,6 +67,7 @@ public class ZKApplicationPackageTest extends TestWithCurator {
assertTrue(zkApp.getProvisionInfoMap().containsKey(goodVersion));
ProvisionInfo readInfo = zkApp.getProvisionInfoMap().get(goodVersion);
assertThat(Utf8.toString(readInfo.toJson()), is(Utf8.toString(provisionInfo.toJson())));
+ assertThat(readInfo.getHosts().iterator().next().flavor(), is(TEST_FLAVOR));
assertTrue(zkApp.getDeployment().isPresent());
assertThat(DeploymentSpec.fromXml(zkApp.getDeployment().get()).globalServiceId().get(), is("mydisc"));
}
@@ -74,4 +81,14 @@ public class ZKApplicationPackageTest extends TestWithCurator {
zk.putData("/0/" + ZKApplicationPackage.allocatedHostsNode + "/3.0.0", provisionInfo.toJson());
}
+ private static class MockNodeFlavors extends NodeFlavors{
+
+ MockNodeFlavors() { super(flavorsConfig()); }
+
+ private static FlavorsConfig flavorsConfig() {
+ return new FlavorsConfig(new FlavorsConfig.Builder()
+ .flavor(new FlavorsConfig.Flavor.Builder().name(TEST_FLAVOR_NAME))
+ );
+ }
+ }
}