diff options
Diffstat (limited to 'config-model/src/test/java/com/yahoo/vespa/model/admin/ClusterControllerTestCase.java')
-rw-r--r-- | config-model/src/test/java/com/yahoo/vespa/model/admin/ClusterControllerTestCase.java | 146 |
1 files changed, 80 insertions, 66 deletions
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/ClusterControllerTestCase.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/ClusterControllerTestCase.java index 8012a00076b..0cb97681f13 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/admin/ClusterControllerTestCase.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/ClusterControllerTestCase.java @@ -20,6 +20,7 @@ import com.yahoo.config.provision.Environment; import com.yahoo.config.provision.RegionName; import com.yahoo.config.provision.SystemName; import com.yahoo.config.provision.Zone; +import com.yahoo.container.di.config.PlatformBundlesConfig; import com.yahoo.search.config.QrStartConfig; import com.yahoo.vespa.config.content.FleetcontrollerConfig; import com.yahoo.vespa.config.content.StorDistributionConfig; @@ -29,24 +30,25 @@ import com.yahoo.vespa.model.Service; import com.yahoo.vespa.model.VespaModel; import com.yahoo.vespa.model.admin.clustercontroller.ClusterControllerContainer; import com.yahoo.vespa.model.admin.clustercontroller.ClusterControllerContainerCluster; +import com.yahoo.vespa.model.container.PlatformBundles; import com.yahoo.vespa.model.container.component.Component; import com.yahoo.vespa.model.test.utils.ApplicationPackageUtils; import com.yahoo.vespa.model.test.utils.DeployLoggerStub; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.xml.sax.SAXException; import java.io.IOException; import java.io.StringReader; +import java.nio.file.Path; import java.time.Instant; import java.util.Collection; import java.util.List; import java.util.Optional; +import java.util.Set; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; +import static java.util.stream.Collectors.toSet; +import static org.junit.jupiter.api.Assertions.*; /** * Test for creating cluster controllers under the admin tag. @@ -55,13 +57,13 @@ public class ClusterControllerTestCase extends DomBuilderTest { private List<String> sds; - @Before + @BeforeEach public void setup() { sds = ApplicationPackageUtils.generateSchemas("type1", "type2"); } @Test - public void testSingleCluster() throws Exception { + void testSingleCluster() throws Exception { String xml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" + "<services>\n" + "\n" + @@ -85,7 +87,7 @@ public class ClusterControllerTestCase extends DomBuilderTest { " <tuning>" + " <cluster-controller>\n" + " <init-progress-time>34567s</init-progress-time>" + - " <transition-time>4000ms</transition-time>" + + " <transition-time>4000ms</transition-time>" + " <stable-state-period>1h</stable-state-period>" + " </cluster-controller>" + " </tuning>" + @@ -110,66 +112,78 @@ public class ClusterControllerTestCase extends DomBuilderTest { assertEquals(4000, cfg.storage_transition_time()); assertEquals(3600000, cfg.stable_state_time_period()); } + + assertOnlyNecessaryBundles(model); } + private void assertOnlyNecessaryBundles(VespaModel model) { + PlatformBundlesConfig config = model.getConfig(PlatformBundlesConfig.class, "admin/cluster-controllers"); + Set<String> unnecessaryBundles = PlatformBundles.VESPA_SECURITY_BUNDLES.stream().map(Path::toString).collect(toSet()); + assertTrue(config.bundlePaths().stream() + .noneMatch(unnecessaryBundles::contains)); + } - @Test(expected = IllegalArgumentException.class) - public void testSeparateHostsRequired() { - String xml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" + - "<services>\n" + - "\n" + - " <admin version=\"2.0\">\n" + - " <adminserver hostalias=\"mockhost\" />\n" + - " <cluster-controllers standalone-zookeeper=\"true\">\n" + - " <cluster-controller hostalias=\"mockhost\"/>" + - " <cluster-controller hostalias=\"mockhost\"/>" + - " <cluster-controller hostalias=\"mockhost\"/>" + - " </cluster-controllers>\n" + - " </admin>\n" + - " <content version='1.0' id='bar'>" + - " <redundancy>1</redundancy>\n" + - " <documents>" + - " </documents>\n" + - " <group>" + - " <node hostalias='mockhost' distribution-key='0' />" + - " </group>" + - " </content>" + - "\n" + - "</services>"; - TestDriver driver = new TestDriver(); - driver.buildModel(xml); + @Test + void testSeparateHostsRequired() { + assertThrows(IllegalArgumentException.class, () -> { + String xml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" + + "<services>\n" + + "\n" + + " <admin version=\"2.0\">\n" + + " <adminserver hostalias=\"mockhost\" />\n" + + " <cluster-controllers standalone-zookeeper=\"true\">\n" + + " <cluster-controller hostalias=\"mockhost\"/>" + + " <cluster-controller hostalias=\"mockhost\"/>" + + " <cluster-controller hostalias=\"mockhost\"/>" + + " </cluster-controllers>\n" + + " </admin>\n" + + " <content version='1.0' id='bar'>" + + " <redundancy>1</redundancy>\n" + + " <documents>" + + " </documents>\n" + + " <group>" + + " <node hostalias='mockhost' distribution-key='0' />" + + " </group>" + + " </content>" + + "\n" + + "</services>"; + TestDriver driver = new TestDriver(); + driver.buildModel(xml); + }); } - @Test(expected = IllegalArgumentException.class) - public void testSeparateHostsFromConfigServerRequired() { - String xml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" + - "<services>\n" + - "\n" + - " <admin version=\"2.0\">\n" + - " <adminserver hostalias=\"mockhost\" />\n" + - " <configservers>\n" + - " <configserver hostalias=\"mockhost\" />" + - " </configservers>" + - " <cluster-controllers standalone-zookeeper=\"true\">\n" + - " <cluster-controller hostalias=\"mockhost\"/>" + - " </cluster-controllers>\n" + - " </admin>\n" + - " <content version='1.0' id='bar'>" + - " <redundancy>1</redundancy>\n" + - " <documents>" + - " </documents>\n" + - " <group>" + - " <node hostalias='mockhost' distribution-key='0' />" + - " </group>" + - " </content>" + - "\n" + - "</services>"; - TestDriver driver = new TestDriver(); - driver.buildModel(xml); + @Test + void testSeparateHostsFromConfigServerRequired() { + assertThrows(IllegalArgumentException.class, () -> { + String xml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" + + "<services>\n" + + "\n" + + " <admin version=\"2.0\">\n" + + " <adminserver hostalias=\"mockhost\" />\n" + + " <configservers>\n" + + " <configserver hostalias=\"mockhost\" />" + + " </configservers>" + + " <cluster-controllers standalone-zookeeper=\"true\">\n" + + " <cluster-controller hostalias=\"mockhost\"/>" + + " </cluster-controllers>\n" + + " </admin>\n" + + " <content version='1.0' id='bar'>" + + " <redundancy>1</redundancy>\n" + + " <documents>" + + " </documents>\n" + + " <group>" + + " <node hostalias='mockhost' distribution-key='0' />" + + " </group>" + + " </content>" + + "\n" + + "</services>"; + TestDriver driver = new TestDriver(); + driver.buildModel(xml); + }); } @Test - public void testStandaloneZooKeeper() { + void testStandaloneZooKeeper() { String xml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" + "<services>\n" + "\n" + @@ -245,7 +259,7 @@ public class ClusterControllerTestCase extends DomBuilderTest { } @Test - public void testUnconfigured() throws Exception { + void testUnconfigured() throws Exception { String xml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" + "<services>\n" + "\n" + @@ -307,7 +321,7 @@ public class ClusterControllerTestCase extends DomBuilderTest { } @Test - public void testUnconfiguredMultiple() throws Exception { + void testUnconfiguredMultiple() throws Exception { String xml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" + "<services>\n" + "\n" + @@ -349,7 +363,7 @@ public class ClusterControllerTestCase extends DomBuilderTest { } @Test - public void testUnconfiguredNoTuning() throws Exception { + void testUnconfiguredNoTuning() throws Exception { String xml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" + "<services>\n" + "\n" + @@ -404,7 +418,7 @@ public class ClusterControllerTestCase extends DomBuilderTest { } @Test - public void testUnconfiguredNoContent() throws Exception { + void testUnconfiguredNoContent() throws Exception { String xml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" + "<services>\n" + " <admin version=\"2.0\">\n" + @@ -425,7 +439,7 @@ public class ClusterControllerTestCase extends DomBuilderTest { } @Test - public void testUsingOldStyle() throws Exception { + void testUsingOldStyle() throws Exception { String xml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" + "<services>\n" + "\n" + |