diff options
author | Jon Bratseth <bratseth@oath.com> | 2018-11-18 22:53:10 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@oath.com> | 2018-11-18 22:53:10 +0100 |
commit | a3af55762932f6e7dc4100bcb2490f25a8e84555 (patch) | |
tree | 670df46fffe708475809613d839e7fc3974f34df /config-application-package | |
parent | 31a7f27dcf8626f3b8e93b38d810591dd56bfc8e (diff) |
Add a test
Diffstat (limited to 'config-application-package')
3 files changed, 87 insertions, 2 deletions
diff --git a/config-application-package/src/main/java/com/yahoo/config/application/XmlPreProcessor.java b/config-application-package/src/main/java/com/yahoo/config/application/XmlPreProcessor.java index 0bb160319c0..261a684353b 100644 --- a/config-application-package/src/main/java/com/yahoo/config/application/XmlPreProcessor.java +++ b/config-application-package/src/main/java/com/yahoo/config/application/XmlPreProcessor.java @@ -61,7 +61,7 @@ public class XmlPreProcessor { return input; } - private List<PreProcessor> setupChain() throws IOException { + private List<PreProcessor> setupChain() { List<PreProcessor> chain = new ArrayList<>(); chain.add(new IncludeProcessor(applicationDir)); chain.add(new OverrideProcessor(environment, region)); diff --git a/config-application-package/src/test/java/com/yahoo/config/application/MultiOverrideProcessorTest.java b/config-application-package/src/test/java/com/yahoo/config/application/MultiOverrideProcessorTest.java new file mode 100644 index 00000000000..67f49aae082 --- /dev/null +++ b/config-application-package/src/test/java/com/yahoo/config/application/MultiOverrideProcessorTest.java @@ -0,0 +1,84 @@ +// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.config.application; + +import com.yahoo.config.provision.Environment; +import com.yahoo.config.provision.RegionName; +import org.custommonkey.xmlunit.XMLUnit; +import org.junit.Test; +import org.w3c.dom.Document; + +import javax.xml.transform.TransformerException; +import java.io.StringReader; + +/** + * @author bratseth + */ +public class MultiOverrideProcessorTest { + + static { + XMLUnit.setIgnoreWhitespace(true); + } + + private static final String input = + "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + + "<services version=\"1.0\" xmlns:deploy=\"vespa\">\n" + + " <container id='qrserver' version='1.0'>\n" + + " <component id=\"comp-B\" class=\"com.yahoo.ls.MyComponent\" bundle=\"lsbe-hv\">\n" + + " <config name=\"ls.config.resource-pool\">\n" + + " <resource>\n" + + " <item>\n" + + " <id>comp-B-item-0</id>\n" + + " <type></type>\n" + + " </item>\n" + + " <item deploy:environment=\"dev perf test staging prod\" deploy:region=\"us-west-1 us-east-3\">\n" + + " <id>comp-B-item-1</id>\n" + + " <type></type>\n" + + " </item>\n" + + " <item>\n" + + " <id>comp-B-item-2</id>\n" + + " <type></type>\n" + + " </item>\n" + + " </resource>\n" + + " </config>\n" + + " </component>\n" + + " <nodes deploy:environment=\"dev\" count=\"1\"/>\n" + + " </container>\n" + + "</services>\n"; + + @Test + public void testParsingDev() throws TransformerException { + String expected = + "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + + "<services version=\"1.0\" xmlns:deploy=\"vespa\">\n" + + " <container id='qrserver' version='1.0'>\n" + + " <component id=\"comp-B\" class=\"com.yahoo.ls.MyComponent\" bundle=\"lsbe-hv\">\n" + + " <config name=\"ls.config.resource-pool\">\n" + + " <resource>\n" + + " <item>\n" + + " <id>comp-B-item-0</id>\n" + + " <type></type>\n" + + " </item>\n" + + " <item>\n" + + " <id>comp-B-item-1</id>\n" + + " <type></type>\n" + + " </item>\n" + + " <item>\n" + + " <id>comp-B-item-2</id>\n" + + " <type></type>\n" + + " </item>\n" + + " </resource>\n" + + " </config>\n" + + " </component>\n" + + " <nodes count=\"1\"/>\n" + + " </container>\n" + + "</services>"; + assertOverride(Environment.dev, RegionName.defaultName(), expected); + } + + private void assertOverride(Environment environment, RegionName region, String expected) throws TransformerException { + Document inputDoc = Xml.getDocument(new StringReader(input)); + Document newDoc = new OverrideProcessor(environment, region).process(inputDoc); + TestBase.assertDocument(expected, newDoc); + } + +} diff --git a/config-application-package/src/test/java/com/yahoo/config/application/OverrideProcessorTest.java b/config-application-package/src/test/java/com/yahoo/config/application/OverrideProcessorTest.java index 62e6671120b..e4690418847 100644 --- a/config-application-package/src/test/java/com/yahoo/config/application/OverrideProcessorTest.java +++ b/config-application-package/src/test/java/com/yahoo/config/application/OverrideProcessorTest.java @@ -38,7 +38,7 @@ public class OverrideProcessorTest { " <document mode='index' type='music'/>\n" + " <document type='music2' mode='index' />\n" + " <document deploy:environment='prod' deploy:region='us-east-3' mode='index' type='music'/>\n" + - " <document deploy:environment='prod' deploy:region='us-east-3' mode='index' type='music2'/>\n" + + " <document deploy:environment='staging prod' deploy:region='us-east-3' mode='index' type='music2'/>\n" + " <document deploy:environment='prod' mode='index' type='music3'/>\n" + " <document deploy:environment='prod' deploy:region='us-west' mode='index' type='music4'/>\n" + " </documents>" + @@ -272,6 +272,7 @@ public class OverrideProcessorTest { " <redundancy>1</redundancy>" + " <documents>" + " <document mode='index' type='music'/>\n" + + " <document mode='index' type='music2'/>\n" + " <document type='music2' mode='index' />\n" + " </documents>" + " <nodes>" + |