aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/test/java/com/yahoo/vespa/model/admin/ClusterControllerTestCase.java
diff options
context:
space:
mode:
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.java146
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" +