X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=netconf%2Fsal-netconf-connector%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fnetconf%2Fsal%2Fconnect%2Fnetconf%2Fschema%2Fmapping%2FBaseRpcSchemalessTransformerTest.java;h=3b9296602ab358897f0a51e08b3b94623b131caf;hb=68d52ef8ea8ee2ee6cda8bbc4a864c3fa897297e;hp=8f4c320f9750a25f950cf12f33ba5ce643b855d3;hpb=6d7e12bf3ef64e5004703a1d540e7e26f30a9595;p=netconf.git diff --git a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/BaseRpcSchemalessTransformerTest.java b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/BaseRpcSchemalessTransformerTest.java index 8f4c320f97..3b9296602a 100644 --- a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/BaseRpcSchemalessTransformerTest.java +++ b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/BaseRpcSchemalessTransformerTest.java @@ -5,36 +5,39 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.netconf.sal.connect.netconf.schema.mapping; -import com.google.common.base.Optional; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + import java.io.InputStream; +import java.util.Optional; import javax.xml.transform.dom.DOMSource; import org.custommonkey.xmlunit.Diff; import org.custommonkey.xmlunit.XMLUnit; -import org.junit.Assert; import org.junit.Before; import org.junit.Test; -import org.opendaylight.controller.config.util.xml.XmlUtil; -import org.opendaylight.controller.md.sal.dom.api.DOMRpcResult; +import org.opendaylight.mdsal.dom.api.DOMRpcResult; import org.opendaylight.netconf.api.NetconfMessage; +import org.opendaylight.netconf.api.xml.XmlUtil; +import org.opendaylight.netconf.sal.connect.netconf.AbstractBaseSchemasTest; import org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil; import org.opendaylight.netconf.sal.connect.util.MessageCounter; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.base._1._0.rev110601.copy.config.input.target.ConfigTarget; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.base._1._0.rev110601.edit.config.input.EditContent; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.base._1._0.rev110601.edit.config.input.target.config.target.Candidate; +import org.opendaylight.yangtools.yang.common.Empty; +import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode; import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; -import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; +import org.opendaylight.yangtools.yang.data.api.schema.DOMSourceAnyxmlNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; -import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.w3c.dom.Document; import org.w3c.dom.Element; -public class BaseRpcSchemalessTransformerTest { +public class BaseRpcSchemalessTransformerTest extends AbstractBaseSchemasTest { static { XMLUnit.setIgnoreWhitespace(true); @@ -62,20 +65,14 @@ public class BaseRpcSchemalessTransformerTest { @Before public void setUp() throws Exception { - transformer = new BaseRpcSchemalessTransformer(new MessageCounter()); - } - - @Test(expected = UnsupportedOperationException.class) - public void toNotification() throws Exception { - transformer.toNotification(new NetconfMessage( - XmlUtil.readXmlToDocument(getClass().getResourceAsStream("/notification-payload.xml")))); + transformer = new BaseRpcSchemalessTransformer(BASE_SCHEMAS, new MessageCounter()); } @Test public void toRpcRequest() throws Exception { final Document doc = XmlUtil.readXmlToDocument(getClass().getResourceAsStream("/schemaless/edit-config/container.xml")); - final AnyXmlNode xml = Builders.anyXmlBuilder() + final DOMSourceAnyxmlNode xml = Builders.anyXmlBuilder() .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier( NetconfMessageTransformUtil.NETCONF_CONFIG_QNAME)) .withValue(new DOMSource(doc.getDocumentElement())) @@ -87,9 +84,10 @@ public class BaseRpcSchemalessTransformerTest { final ChoiceNode candidate = Builders.choiceBuilder().withNodeIdentifier( new YangInstanceIdentifier.NodeIdentifier(ConfigTarget.QNAME)) .withChild(Builders.leafBuilder().withNodeIdentifier( - new YangInstanceIdentifier.NodeIdentifier(Candidate.QNAME)).build()) + new YangInstanceIdentifier.NodeIdentifier(Candidate.QNAME)) + .withValue(Empty.value()).build()) .build(); - final DataContainerChild target = Builders.containerBuilder() + final ContainerNode target = Builders.containerBuilder() .withNodeIdentifier( new YangInstanceIdentifier.NodeIdentifier(NetconfMessageTransformUtil.NETCONF_TARGET_QNAME)) .withChild(candidate) @@ -101,9 +99,9 @@ public class BaseRpcSchemalessTransformerTest { .withChild(target) .build(); final NetconfMessage msg = transformer.toRpcRequest( - SchemaPath.create(true, NetconfMessageTransformUtil.NETCONF_EDIT_CONFIG_QNAME), editConfig); + NetconfMessageTransformUtil.NETCONF_EDIT_CONFIG_QNAME, editConfig); final Diff diff = XMLUnit.compareXML(EXP_RPC, XmlUtil.toString(msg.getDocument())); - Assert.assertTrue(diff.toString(), diff.similar()); + assertTrue(diff.toString(), diff.similar()); } @Test @@ -115,17 +113,15 @@ public class BaseRpcSchemalessTransformerTest { final Element element = (Element) doc.importNode(dataElement, true); doc.getDocumentElement().appendChild(element); final NetconfMessage msg = new NetconfMessage(doc); - final DOMRpcResult result = transformer.toRpcResult(msg, - SchemaPath.create(true, NetconfMessageTransformUtil.NETCONF_GET_CONFIG_QNAME)); - Assert.assertNotNull(result.getResult()); - final ContainerNode rpcReply = (ContainerNode) result.getResult(); - Assert.assertEquals(NetconfMessageTransformUtil.NETCONF_RPC_REPLY_QNAME, rpcReply.getNodeType()); - final Optional dataOpt = rpcReply.getChild( - new YangInstanceIdentifier.NodeIdentifier(NetconfMessageTransformUtil.NETCONF_DATA_QNAME)); - Assert.assertTrue(dataOpt.isPresent()); - final AnyXmlNode data = (AnyXmlNode) dataOpt.get(); - final Diff diff = XMLUnit.compareXML(dataElement.getOwnerDocument(), (Document) data.getValue().getNode()); - Assert.assertTrue(diff.toString(), diff.similar()); + final DOMRpcResult result = transformer.toRpcResult(RpcResultBuilder.success(msg).build(), + NetconfMessageTransformUtil.NETCONF_GET_CONFIG_QNAME); + assertNotNull(result.value()); + final ContainerNode rpcReply = result.value(); + assertEquals(NetconfMessageTransformUtil.NETCONF_RPC_REPLY_QNAME, rpcReply.getIdentifier().getNodeType()); + final Optional dataOpt = rpcReply.findChildByArg(NetconfMessageTransformUtil.NETCONF_DATA_NODEID); + assertTrue(dataOpt.isPresent()); + final DOMSourceAnyxmlNode data = (DOMSourceAnyxmlNode) dataOpt.get(); + final Diff diff = XMLUnit.compareXML(dataElement.getOwnerDocument(), (Document) data.body().getNode()); + assertTrue(diff.toString(), diff.similar()); } - -} \ No newline at end of file +}