aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/test
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@oath.com>2017-11-14 17:34:14 +0100
committerBjørn Christian Seime <bjorncs@oath.com>2017-11-14 17:34:14 +0100
commiteed46ca2384f088132d776fd88520ddf1a0b194f (patch)
tree23f44af7c72f6f3b0df7e22a27b5962f6e072dea /config-model/src/test
parent59f7db352ea4ef2dd6a96fe986a18b61f28211f7 (diff)
Support custom SslKeyStoreConfigurator implementation in services.xml
Diffstat (limited to 'config-model/src/test')
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/container/xml/JettyContainerModelBuilderTest.java31
-rw-r--r--config-model/src/test/schema-test-files/services.xml4
2 files changed, 34 insertions, 1 deletions
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/JettyContainerModelBuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/JettyContainerModelBuilderTest.java
index 4621b5ebe50..cc9a17c0bea 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/JettyContainerModelBuilderTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/JettyContainerModelBuilderTest.java
@@ -3,13 +3,18 @@ package com.yahoo.vespa.model.container.xml;
import com.yahoo.config.model.builder.xml.test.DomBuilderTest;
import com.yahoo.container.ComponentsConfig;
+import com.yahoo.container.bundle.BundleInstantiationSpecification;
import com.yahoo.container.jdisc.FilterBindingsProvider;
import com.yahoo.jdisc.http.ConnectorConfig;
import com.yahoo.vespa.model.container.ContainerCluster;
+import com.yahoo.vespa.model.container.component.SimpleComponent;
+import com.yahoo.vespa.model.container.http.ConnectorFactory;
import com.yahoo.vespa.model.container.http.JettyHttpServer;
import org.junit.Test;
import org.w3c.dom.Element;
+import org.xml.sax.SAXException;
+import java.io.IOException;
import java.util.List;
import static com.yahoo.jdisc.http.ConnectorConfig.Ssl.KeyStoreType;
@@ -182,6 +187,32 @@ public class JettyContainerModelBuilderTest extends ContainerModelBuilderTestBas
is(not(nullValue())));
}
+ @Test
+ public void ssl_keystore_configurator_can_be_overriden() throws IOException, SAXException {
+ Element clusterElem = DomBuilderTest.parse(
+ "<jdisc id='default' version='1.0' jetty='true'>",
+ " <http>",
+ " <server port='9000' id='foo'>",
+ " <ssl-keystore-configurator class='com.yahoo.MySslKeyStoreConfigurator' bundle='mybundle'/>",
+ " </server>",
+ " <server port='9001' id='bar'/>",
+ " </http>",
+ nodesXml,
+ "</jdisc>");
+ createModel(root, clusterElem);
+ ContainerCluster cluster = (ContainerCluster) root.getChildren().get("default");
+ List<ConnectorFactory> connectorFactories = cluster.getChildrenByTypeRecursive(ConnectorFactory.class);
+
+ ConnectorFactory firstConnector = connectorFactories.get(0);
+ SimpleComponent sslKeystoreConfigurator = firstConnector.getChildrenByTypeRecursive(SimpleComponent.class).get(0);
+ BundleInstantiationSpecification spec = sslKeystoreConfigurator.model.bundleInstantiationSpec;
+ assertThat(spec.classId.toString(), is("com.yahoo.MySslKeyStoreConfigurator"));
+ assertThat(spec.bundle.toString(), is("mybundle"));
+
+ ConnectorFactory secondFactory = connectorFactories.get(1);
+ assertThat(secondFactory.getChildrenByTypeRecursive(SimpleComponent.class).size(), is(0));
+ }
+
private void assertJettyServerInConfig() {
ContainerCluster cluster = (ContainerCluster) root.getChildren().get("default");
List<JettyHttpServer> jettyServers = cluster.getChildrenByTypeRecursive(JettyHttpServer.class);
diff --git a/config-model/src/test/schema-test-files/services.xml b/config-model/src/test/schema-test-files/services.xml
index 380ce7f5a3d..88983103616 100644
--- a/config-model/src/test/schema-test-files/services.xml
+++ b/config-model/src/test/schema-test-files/services.xml
@@ -111,7 +111,9 @@
</request-chain>
</filtering>
- <server port="4080" id="myServer" />
+ <server port="4080" id="myServer">
+ <ssl-keystore-configurator class="com.yahoo.MySslKeyStoreConfigurator" bundle="mybundle" />
+ </server>
<server port="4081" id="anotherServer">
<config name="container.jdisc.config.http-server">
<maxChunkSize>9999</maxChunkSize>