diff options
author | Håkon Hallingstad <hakon@verizonmedia.com> | 2020-11-02 11:00:06 +0100 |
---|---|---|
committer | Håkon Hallingstad <hakon@verizonmedia.com> | 2020-11-02 11:00:06 +0100 |
commit | a20ea689f5dc24025485050eee34994e5698b7cb (patch) | |
tree | f9a1178b5bb7a0f3898a0067218008126e580b91 /config-application-package/src/test/java/com/yahoo | |
parent | bd7181b95f36434052b73a95fc8202995551f8cf (diff) |
Add required="true" for override without node children
Diffstat (limited to 'config-application-package/src/test/java/com/yahoo')
-rw-r--r-- | config-application-package/src/test/java/com/yahoo/config/application/OverrideProcessorTest.java | 52 |
1 files changed, 51 insertions, 1 deletions
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 05a5357a8ab..d8e35ced227 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 @@ -347,8 +347,58 @@ public class OverrideProcessorTest { new OverrideProcessor(InstanceName.from("default"), Environment.defaultEnvironment(), RegionName.from("us-west")).process(inputDoc); } + @Test + public void testImpliedRequired() throws TransformerException { + String input = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>" + + "<services xmlns:deploy=\"vespa\" xmlns:preprocess=\"?\" version=\"1.0\">" + + " <content id=\"foo\" version=\"1.0\">" + + " <nodes deploy:environment=\"dev\">" + + " <!-- comment -->" + + " <resources vcpu=\"2\" memory=\"8Gb\" disk=\"50Gb\" disk-speed=\"any\"/>" + + " </nodes>" + + " </content>" + + "</services>"; + String expected = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>" + + "<services xmlns:deploy=\"vespa\" xmlns:preprocess=\"?\" version=\"1.0\">" + + " <content id=\"foo\" version=\"1.0\">" + + " <nodes required=\"true\">" + + " <!-- comment -->" + + " <resources vcpu=\"2\" memory=\"8Gb\" disk=\"50Gb\" disk-speed=\"any\"/>" + + " </nodes>" + + " </content>" + + "</services>"; + + assertOverride(input, Environment.dev, RegionName.defaultName(), expected); + } + + @Test + public void testNodeElementCancelsImpliedRequired() throws TransformerException { + String input = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>" + + "<services xmlns:deploy=\"vespa\" xmlns:preprocess=\"?\" version=\"1.0\">" + + " <content id=\"foo\" version=\"1.0\">" + + " <nodes deploy:environment=\"dev\">" + + " <node distribution-key=\"0\" hostalias=\"node0\"/>" + + " </nodes>" + + " </content>" + + "</services>"; + String expected = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>" + + "<services xmlns:deploy=\"vespa\" xmlns:preprocess=\"?\" version=\"1.0\">" + + " <content id=\"foo\" version=\"1.0\">" + + " <nodes>" + + " <node distribution-key=\"0\" hostalias=\"node0\"/>" + + " </nodes>" + + " </content>" + + "</services>"; + + assertOverride(input, Environment.dev, RegionName.defaultName(), expected); + } + private void assertOverride(Environment environment, RegionName region, String expected) throws TransformerException { - Document inputDoc = Xml.getDocument(new StringReader(OverrideProcessorTest.input)); + assertOverride(input, environment, region, expected); + } + + private void assertOverride(String input, Environment environment, RegionName region, String expected) throws TransformerException { + Document inputDoc = Xml.getDocument(new StringReader(input)); Document newDoc = new OverrideProcessor(InstanceName.from("default"), environment, region).process(inputDoc); TestBase.assertDocument(expected, newDoc); } |