diff options
author | Morten Tokle <mortent@oath.com> | 2017-11-22 14:47:50 +0100 |
---|---|---|
committer | Morten Tokle <mortent@oath.com> | 2017-11-22 14:47:50 +0100 |
commit | fb57c901152f668aeb87cf89865c9d5401d61646 (patch) | |
tree | ee6e07758dd74009d3560f817b99cbee3fa26ebc | |
parent | a304ae016dd10ffcb7018dff77207415dcab3483 (diff) |
Move routing test to own class
4 files changed, 80 insertions, 48 deletions
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java b/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java index af846f10ffe..d9c151480fe 100755 --- a/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java @@ -18,15 +18,14 @@ import com.yahoo.container.jdisc.config.MetricDefaultsConfig; import com.yahoo.search.config.QrStartConfig; import com.yahoo.vespa.model.Host; import com.yahoo.vespa.model.HostResource; -import com.yahoo.vespa.model.admin.clustercontroller.ClusterControllerContainer; import com.yahoo.vespa.model.admin.clustercontroller.ClusterControllerClusterVerifier; +import com.yahoo.vespa.model.admin.clustercontroller.ClusterControllerContainer; import com.yahoo.vespa.model.container.component.Component; import com.yahoo.vespa.model.container.docproc.ContainerDocproc; import com.yahoo.vespa.model.container.search.ContainerSearch; import com.yahoo.vespa.model.container.search.searchchain.SearchChains; import org.junit.Test; -import java.util.Arrays; import java.util.Collection; import java.util.Iterator; import java.util.Optional; @@ -266,48 +265,6 @@ public class ContainerClusterTest { assertEquals(0, cluster.getAllComponents().stream().map(c -> c.getClassId().getName()).filter(c -> c.equals("com.yahoo.jdisc.http.filter.security.RoutingConfigProvider")).count()); } - @Test - public void setsRotationActiveAccordingToDeploymentSpec() { - String deploymentSpec = "<deployment>\n" + - " <prod> \n" + - " <region active='true'>us-north-1</region>\n" + - " <parallel>\n" + - " <region active='false'>us-north-2</region>\n" + - " <region active='true'>us-north-3</region>\n" + - " </parallel>\n" + - " <region active='false'>us-north-4</region>\n" + - " </prod>\n" + - "</deployment>"; - for (String region : Arrays.asList("us-north-1", "us-north-3")) { - Container container = containerIn(region, deploymentSpec); - assertEquals("Region " + region + " is active", "true", - container.getServicePropertyString("activeRotation")); - } - for (String region : Arrays.asList("us-north-2", "us-north-4")) { - Container container = containerIn(region, deploymentSpec); - assertEquals("Region " + region + " is inactive", "false", - container.getServicePropertyString("activeRotation")); - } - Container container = containerIn("unknown", deploymentSpec); - assertEquals("Unknown region is inactive", "false", - container.getServicePropertyString("activeRotation")); - } - - private static Container containerIn(String regionName, String deploymentSpec) { - ApplicationPackage applicationPackage = new MockApplicationPackage.Builder() - .withDeploymentSpec(deploymentSpec) - .build(); - DeployState state = new DeployState.Builder() - .applicationPackage(applicationPackage) - .properties(new DeployProperties.Builder().hostedVespa(true).zone( - new Zone(Environment.prod, RegionName.from(regionName))).build() - ) - .build(); - MockRoot root = new MockRoot("foo", state); - ContainerCluster cluster = new ContainerCluster(root, "container0", "container1"); - addContainer(cluster, "c1", "c1.domain"); - return cluster.getContainers().get(0); - } private static void addContainer(ContainerCluster cluster, String name, String hostName) { Container container = new Container(cluster, name, 0); diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTest.java index 0e6bce73867..d09211aea45 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTest.java @@ -26,7 +26,6 @@ import com.yahoo.container.servlet.ServletConfigConfig; import com.yahoo.container.usability.BindingsOverviewHandler; import com.yahoo.jdisc.http.ServletPathsConfig; import com.yahoo.prelude.cluster.QrMonitorConfig; -import static com.yahoo.vespa.defaults.Defaults.getDefaults; import com.yahoo.vespa.model.AbstractService; import com.yahoo.vespa.model.VespaModel; import com.yahoo.vespa.model.container.Container; @@ -46,6 +45,7 @@ import java.util.Map; import java.util.logging.Level; import static com.yahoo.test.LinePatternMatcher.containsLineWithPattern; +import static com.yahoo.vespa.defaults.Defaults.getDefaults; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.not; import static org.hamcrest.CoreMatchers.nullValue; diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/IdentityBuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/IdentityBuilderTest.java index 17890a552f9..d3ad2ccc721 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/IdentityBuilderTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/IdentityBuilderTest.java @@ -5,7 +5,6 @@ import com.yahoo.config.application.api.ApplicationPackage; import com.yahoo.config.model.builder.xml.test.DomBuilderTest; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.test.MockApplicationPackage; -import com.yahoo.config.model.test.MockRoot; import com.yahoo.container.core.identity.IdentityConfig; import com.yahoo.vespa.model.container.IdentityProvider; import org.junit.Test; @@ -35,8 +34,6 @@ public class IdentityBuilderTest extends ContainerModelBuilderTestBase { .withDeploymentSpec(deploymentXml) .build(); - // Override root - root = new MockRoot("root", applicationPackage); createModel(root, DeployState.createTestState(applicationPackage), clusterElem); IdentityConfig identityConfig = root.getConfig(IdentityConfig.class, "default/component/" + IdentityProvider.CLASS); diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/RoutingBuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/RoutingBuilderTest.java new file mode 100644 index 00000000000..a2f32694340 --- /dev/null +++ b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/RoutingBuilderTest.java @@ -0,0 +1,78 @@ +// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.vespa.model.container.xml; + +import com.yahoo.config.application.api.ApplicationPackage; +import com.yahoo.config.model.builder.xml.test.DomBuilderTest; +import com.yahoo.config.model.deploy.DeployState; +import com.yahoo.config.model.test.MockApplicationPackage; +import com.yahoo.config.model.test.MockRoot; +import com.yahoo.config.provision.Environment; +import com.yahoo.config.provision.RegionName; +import com.yahoo.config.provision.Zone; +import com.yahoo.vespa.model.container.Container; +import com.yahoo.vespa.model.container.ContainerCluster; +import org.junit.Test; +import org.w3c.dom.Element; +import org.xml.sax.SAXException; + +import java.io.IOException; +import java.util.Arrays; + +import static org.junit.Assert.assertEquals; + +/** + * @author mortent + */ +public class RoutingBuilderTest extends ContainerModelBuilderTestBase { + + @Test + public void setsRotationActiveAccordingToDeploymentSpec() throws IOException, SAXException { + Element clusterElem = DomBuilderTest.parse( + "<jdisc id='default' version='1.0'><search /></jdisc>"); + + String deploymentSpec = "<deployment>\n" + + " <prod> \n" + + " <region active='true'>us-north-1</region>\n" + + " <parallel>\n" + + " <region active='false'>us-north-2</region>\n" + + " <region active='true'>us-north-3</region>\n" + + " </parallel>\n" + + " <region active='false'>us-north-4</region>\n" + + " </prod>\n" + + "</deployment>"; + + ApplicationPackage applicationPackage = new MockApplicationPackage.Builder() + .withDeploymentSpec(deploymentSpec) + .build(); + //root = new MockRoot("root", applicationPackage); + for (String region : Arrays.asList("us-north-1", "us-north-3")) { + Container container = getContainer(applicationPackage, region, clusterElem); + + assertEquals("Region " + region + " is active", "true", + container.getServicePropertyString("activeRotation")); + } + for (String region : Arrays.asList("us-north-2", "us-north-4")) { + Container container = getContainer(applicationPackage, region, clusterElem); + + assertEquals("Region " + region + " is inactive", "false", + container.getServicePropertyString("activeRotation")); + } + Container container = getContainer(applicationPackage, "unknown", clusterElem); + assertEquals("Unknown region is inactive", "false", + container.getServicePropertyString("activeRotation")); + } + + + private Container getContainer(ApplicationPackage applicationPackage, String region, Element clusterElem) throws IOException, SAXException { + DeployState deployState = new DeployState.Builder() + .applicationPackage(applicationPackage) + .zone(new Zone(Environment.prod, RegionName.from(region))) + .build(); + + root = new MockRoot("root", deployState); + createModel(root, deployState, clusterElem); + ContainerCluster cluster = getContainerCluster("default"); + return cluster.getContainers().get(0); + + } +} |