Bug 4355 - Data Tree: Enforce case uniqueness and 'mandatory true' leaf presence 92/30292/3
authorPeter Kajsa <pkajsa@cisco.com>
Fri, 27 Nov 2015 12:26:57 +0000 (13:26 +0100)
committerPeter Kajsa <pkajsa@cisco.com>
Mon, 30 Nov 2015 07:51:33 +0000 (08:51 +0100)
- quickfix of netconf unit tests after yangtools changes

Change-Id: I325d52eb984c49a7640094faee82b7a474dbeb5e
Signed-off-by: Peter Kajsa <pkajsa@cisco.com>
opendaylight/netconf/mdsal-netconf-connector/src/test/java/org/opendaylight/netconf/mdsal/connector/ops/NetconfMDSalMappingTest.java
opendaylight/netconf/mdsal-netconf-connector/src/test/resources/messages/mapping/editConfigs/editConfig_merge_multiple_operations_5_choice_setup2-control.xml
opendaylight/netconf/mdsal-netconf-connector/src/test/resources/messages/mapping/editConfigs/editConfig_merge_multiple_operations_5_choice_setup2.xml

index 06c4c48d140bb70bd9e9c035ad48188ea63cbfb2..0a58bbcddaa1eb56922dbc765061d04135da8a6b 100644 (file)
@@ -13,7 +13,6 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.google.common.io.ByteSource;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.StringWriter;
@@ -24,6 +23,7 @@ import java.util.Collections;
 import java.util.EnumMap;
 import java.util.List;
 import java.util.concurrent.ExecutorService;
+
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.OutputKeys;
 import javax.xml.transform.Transformer;
@@ -31,6 +31,7 @@ import javax.xml.transform.TransformerException;
 import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
+
 import org.custommonkey.xmlunit.DetailedDiff;
 import org.custommonkey.xmlunit.Diff;
 import org.custommonkey.xmlunit.XMLUnit;
@@ -45,6 +46,8 @@ import org.opendaylight.controller.config.util.xml.XmlElement;
 import org.opendaylight.controller.config.util.xml.XmlUtil;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStoreFactory;
+import org.opendaylight.controller.sal.core.api.model.SchemaService;
+import org.opendaylight.controller.sal.core.spi.data.DOMStore;
 import org.opendaylight.netconf.mapping.api.NetconfOperation;
 import org.opendaylight.netconf.mapping.api.NetconfOperationChainedExecution;
 import org.opendaylight.netconf.mdsal.connector.CurrentSchemaContext;
@@ -53,8 +56,6 @@ import org.opendaylight.netconf.mdsal.connector.ops.get.Get;
 import org.opendaylight.netconf.mdsal.connector.ops.get.GetConfig;
 import org.opendaylight.netconf.util.test.NetconfXmlUnitRecursiveQualifier;
 import org.opendaylight.netconf.util.test.XmlFileLoader;
-import org.opendaylight.controller.sal.core.api.model.SchemaService;
-import org.opendaylight.controller.sal.core.spi.data.DOMStore;
 import org.opendaylight.yangtools.concepts.ListenerRegistration;
 import org.opendaylight.yangtools.util.concurrent.SpecialExecutors;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -73,6 +74,8 @@ import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 import org.xml.sax.SAXException;
 
+import com.google.common.io.ByteSource;
+
 public class NetconfMDSalMappingTest {
 
     private static final Logger LOG = LoggerFactory.getLogger(NetconfMDSalMappingTest.class);
@@ -410,6 +413,7 @@ public class NetconfMDSalMappingTest {
         verifyResponse(edit("messages/mapping/editConfigs/editConfig_merge_multiple_operations_5_choice_setup.xml"), RPC_REPLY_OK);
         verifyResponse(getConfigCandidate(), XmlFileLoader.xmlFileToDocument("messages/mapping/editConfigs/editConfig_merge_multiple_operations_5_choice_setup-control.xml"));
 
+        // Test files have been modified. RFC6020 requires that at most once case inside a choice is present at any time
         verifyResponse(edit("messages/mapping/editConfigs/editConfig_merge_multiple_operations_5_choice_setup2.xml"), RPC_REPLY_OK);
         verifyResponse(getConfigCandidate(), XmlFileLoader.xmlFileToDocument("messages/mapping/editConfigs/editConfig_merge_multiple_operations_5_choice_setup2-control.xml"));
 
@@ -465,20 +469,32 @@ public class NetconfMDSalMappingTest {
 
         verifyResponse(getConfigWithFilter("messages/mapping/filters/get-filter-augmented-case.xml"),
                 XmlFileLoader.xmlFileToDocument("messages/mapping/filters/response-augmented-case.xml"));
-        verifyResponse(edit("messages/mapping/editConfigs/editConfig-filtering-setup2.xml"), RPC_REPLY_OK);
-        verifyResponse(commit(), RPC_REPLY_OK);
 
-        verifyFilterIdentifier("messages/mapping/filters/get-filter-augmented-case-inner-choice.xml",
-                YangInstanceIdentifier.builder().node(TOP).node(CHOICE_NODE).node(CHOICE_WRAPPER).build());
-        verifyFilterIdentifier("messages/mapping/filters/get-filter-augmented-case-inner-case.xml",
-                YangInstanceIdentifier.builder().node(TOP).node(CHOICE_NODE).node(CHOICE_WRAPPER).node(INNER_CHOICE).node(INNER_CHOICE_TEXT).build());
-
-        verifyResponse(getConfigWithFilter("messages/mapping/filters/get-filter-augmented-string.xml"),
-                XmlFileLoader.xmlFileToDocument("messages/mapping/filters/response-augmented-string.xml"));
-        verifyResponse(getConfigWithFilter("messages/mapping/filters/get-filter-augmented-case-inner-choice.xml"),
-                XmlFileLoader.xmlFileToDocument("messages/mapping/filters/response-augmented-case-inner-choice.xml"));
-        verifyResponse(getConfigWithFilter("messages/mapping/filters/get-filter-augmented-case-inner-case.xml"),
-                XmlFileLoader.xmlFileToDocument("messages/mapping/filters/response-augmented-case-inner-choice.xml"));
+        /*
+         *  RFC6020 requires that at most once case inside a choice is present at any time.
+         *  Therefore
+         *  <augmented-case>augmented case</augmented-case>
+         *  from
+         *  messages/mapping/editConfigs/editConfig-filtering-setup.xml
+         *  cannot exists together with
+         *  <text>augmented nested choice text1</text>
+         *  from
+         *  messages/mapping/editConfigs/editConfig-filtering-setup2.xml
+         */
+        //verifyResponse(edit("messages/mapping/editConfigs/editConfig-filtering-setup2.xml"), RPC_REPLY_OK);
+        //verifyResponse(commit(), RPC_REPLY_OK);
+
+//        verifyFilterIdentifier("messages/mapping/filters/get-filter-augmented-case-inner-choice.xml",
+//                YangInstanceIdentifier.builder().node(TOP).node(CHOICE_NODE).node(CHOICE_WRAPPER).build());
+//        verifyFilterIdentifier("messages/mapping/filters/get-filter-augmented-case-inner-case.xml",
+//                YangInstanceIdentifier.builder().node(TOP).node(CHOICE_NODE).node(CHOICE_WRAPPER).node(INNER_CHOICE).node(INNER_CHOICE_TEXT).build());
+
+//        verifyResponse(getConfigWithFilter("messages/mapping/filters/get-filter-augmented-string.xml"),
+//                XmlFileLoader.xmlFileToDocument("messages/mapping/filters/response-augmented-string.xml"));
+//        verifyResponse(getConfigWithFilter("messages/mapping/filters/get-filter-augmented-case-inner-choice.xml"),
+//                XmlFileLoader.xmlFileToDocument("messages/mapping/filters/response-augmented-case-inner-choice.xml"));
+//        verifyResponse(getConfigWithFilter("messages/mapping/filters/get-filter-augmented-case-inner-case.xml"),
+//                XmlFileLoader.xmlFileToDocument("messages/mapping/filters/response-augmented-case-inner-choice.xml"));
 
         verifyResponse(edit("messages/mapping/editConfigs/editConfig_delete-top.xml"), RPC_REPLY_OK);
         verifyResponse(commit(), RPC_REPLY_OK);
index 36e18eba190d26928339b63938eb5e32b256f0ad..534f03ee7a275f9fefe5691c70b565bf14cd204c 100644 (file)
@@ -11,7 +11,9 @@
         <top xmlns="urn:opendaylight:mdsal:mapping:test">
             <choice-wrapper>
                 <text>choice updated</text>
+                <!-- RFC6020 requires that at most once case inside a choice is present at any time
                 <text2>choice text2 created</text2>
+                 -->
             </choice-wrapper>
         </top>
     </data>
index 41b59bac5abaa94cb53cbc7a329419efc0779def..c0aa4d70817ee5428afeeec0e511bcdb9cb6d323 100644 (file)
@@ -19,7 +19,9 @@
             <top xmlns="urn:opendaylight:mdsal:mapping:test">
                 <choice-wrapper>
                     <text>choice updated</text>
+                    <!-- RFC6020 requires that at most once case inside a choice is present at any time
                     <text2 xmlns:a="urn:ietf:params:xml:ns:netconf:base:1.0" a:operation="create">choice text2 created</text2>
+                    -->
                 </choice-wrapper>
             </top>
         </config>