Bind operation prefix to correct namespace
[netconf.git] / netconf / netconf-util / src / test / java / org / opendaylight / netconf / util / NetconfUtilTest.java
index 4f5ca39acc925a5f282188a34cb4c002de67b588..16842040a57372f1bb35be0f48dedacb76050e08 100644 (file)
@@ -8,8 +8,8 @@
 package org.opendaylight.netconf.util;
 
 import static org.hamcrest.CoreMatchers.containsString;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.fail;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertThrows;
 
 import java.util.Collections;
 import javax.xml.transform.dom.DOMResult;
@@ -18,14 +18,15 @@ import org.custommonkey.xmlunit.XMLUnit;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
-import org.opendaylight.controller.config.util.xml.XmlUtil;
+import org.opendaylight.binding.runtime.spi.BindingRuntimeHelpers;
+import org.opendaylight.netconf.api.xml.XmlUtil;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.$YangModuleInfoImpl;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.NetconfState;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.Sessions;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.sessions.Session;
-import org.opendaylight.yangtools.sal.binding.generator.impl.ModuleInfoBackedContext;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
 import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
@@ -44,41 +45,40 @@ public class NetconfUtilTest {
 
     @Test
     public void testConflictingVersionDetection() throws Exception {
-        final Document document = XmlUtil.readXmlToDocument(getClass().getResourceAsStream("/netconfMessages/conflictingversion/conflictingVersionResponse.xml"));
-        try{
-            NetconfUtil.checkIsMessageOk(document);
-            fail();
-        } catch (final IllegalStateException e) {
-            assertThat(e.getMessage(), containsString("Optimistic lock failed. Expected parent version 21, was 18"));
-        }
+        final Document document = XmlUtil.readXmlToDocument(getClass()
+                .getResourceAsStream("/netconfMessages/conflictingversion/conflictingVersionResponse.xml"));
+
+        final IllegalStateException e = assertThrows(IllegalStateException.class,
+            () -> NetconfUtil.checkIsMessageOk(document));
+        assertThat(e.getMessage(), containsString("Optimistic lock failed. Expected parent version 21, was 18"));
     }
 
     @Test
     public void testWriteNormalizedNode() throws Exception {
-        final ModuleInfoBackedContext moduleInfoBackedContext = ModuleInfoBackedContext.create();
-        moduleInfoBackedContext.addModuleInfos(Collections.singletonList($YangModuleInfoImpl.getInstance()));
-        final SchemaContext context = moduleInfoBackedContext.getSchemaContext();
-        final LeafNode username = Builders.leafBuilder()
-                .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(QName.create(Session.QNAME, "username")))
+        final SchemaContext context = BindingRuntimeHelpers.createEffectiveModel(
+            Collections.singletonList($YangModuleInfoImpl.getInstance()));
+        final LeafNode<?> username = Builders.leafBuilder()
+                .withNodeIdentifier(new NodeIdentifier(QName.create(Session.QNAME, "username")))
                 .withValue("admin")
                 .build();
         final MapEntryNode session1 = Builders.mapEntryBuilder()
-                .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifierWithPredicates(Session.QNAME, QName.create(Session.QNAME, "session-id"), 1L))
+                .withNodeIdentifier(
+                        NodeIdentifierWithPredicates.of(Session.QNAME, QName.create(Session.QNAME, "session-id"), 1L))
                 .withChild(username)
                 .build();
         final MapNode sessionList = Builders.mapBuilder()
-                .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(Session.QNAME))
+                .withNodeIdentifier(new NodeIdentifier(Session.QNAME))
                 .withChild(session1)
                 .build();
         final ContainerNode sessions = Builders.containerBuilder()
-                .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(Sessions.QNAME))
+                .withNodeIdentifier(new NodeIdentifier(Sessions.QNAME))
                 .withChild(sessionList)
                 .build();
         final DOMResult result = new DOMResult(XmlUtil.newDocument());
         final SchemaPath path = SchemaPath.create(true, NetconfState.QNAME);
         NetconfUtil.writeNormalizedNode(sessions, result, path, context);
-        final Document expected = XmlUtil.readXmlToDocument(getClass().getResourceAsStream("/sessions.xml"));
         final Document actual = (Document) result.getNode();
+        final Document expected = XmlUtil.readXmlToDocument(getClass().getResourceAsStream("/sessions.xml"));
         final Diff diff = XMLUnit.compareXML(expected, actual);
         Assert.assertTrue(diff.toString(), diff.similar());
     }