use of org.opendaylight.netconf.sal.rest.impl.NormalizedNodeContext in project netconf by opendaylight.
the class TestJsonBodyReaderMountPoint method rpcModuleInputTest.
@Test
public void rpcModuleInputTest() throws Exception {
final String uri = "instance-identifier-module:cont/yang-ext:mount/invoke-rpc-module:rpc-test";
mockBodyReader(uri, this.jsonBodyReader, true);
final InputStream inputStream = TestJsonBodyReaderMountPoint.class.getResourceAsStream("/invoke-rpc/json/rpc-input.json");
final NormalizedNodeContext returnValue = this.jsonBodyReader.readFrom(null, null, null, this.mediaType, null, inputStream);
checkNormalizedNodeContext(returnValue);
final ContainerNode inputNode = (ContainerNode) returnValue.getData();
final YangInstanceIdentifier yangCont = YangInstanceIdentifier.of(QName.create(inputNode.getIdentifier().getNodeType(), "cont"));
final Optional<DataContainerChild> contDataNode = inputNode.findChildByArg(yangCont.getLastPathArgument());
assertTrue(contDataNode.isPresent());
assertTrue(contDataNode.get() instanceof ContainerNode);
final YangInstanceIdentifier yangleaf = YangInstanceIdentifier.of(QName.create(inputNode.getIdentifier().getNodeType(), "lf"));
final Optional<DataContainerChild> leafDataNode = ((ContainerNode) contDataNode.get()).findChildByArg(yangleaf.getLastPathArgument());
assertTrue(leafDataNode.isPresent());
assertTrue("lf-test".equalsIgnoreCase(leafDataNode.get().body().toString()));
}
use of org.opendaylight.netconf.sal.rest.impl.NormalizedNodeContext in project netconf by opendaylight.
the class TestJsonBodyWriter method rpcModuleInputTest.
@Test
public void rpcModuleInputTest() throws Exception {
final String uri = "invoke-rpc-module:rpc-test";
mockBodyReader(uri, this.jsonBodyReader, true);
final InputStream inputStream = TestJsonBodyWriter.class.getResourceAsStream("/invoke-rpc/json/rpc-output.json");
final NormalizedNodeContext returnValue = this.jsonBodyReader.readFrom(null, null, null, this.mediaType, null, inputStream);
final OutputStream output = new ByteArrayOutputStream();
this.jsonBodyWriter.writeTo(returnValue, null, null, null, this.mediaType, null, output);
assertTrue(output.toString().contains("lf-test"));
}
use of org.opendaylight.netconf.sal.rest.impl.NormalizedNodeContext in project netconf by opendaylight.
the class TestXmlBodyReader method findBarContainerUsingNamespaceTest.
/**
* Test when container with the same name is placed in two modules (foo-module and bar-module). Namespace must be
* used to distinguish between them to find correct one. Check if container was found not only according to its name
* but also by correct namespace used in payload.
*/
@Test
public void findBarContainerUsingNamespaceTest() throws Exception {
mockBodyReader("", this.xmlBodyReader, true);
final InputStream inputStream = TestXmlBodyReader.class.getResourceAsStream("/instanceidentifier/xml/xmlDataFindBarContainer.xml");
final NormalizedNodeContext returnValue = this.xmlBodyReader.readFrom(null, null, null, this.mediaType, null, inputStream);
// check return value
checkNormalizedNodeContext(returnValue);
// check if container was found both according to its name and namespace
assertEquals("Not correct container found, name was ignored", "foo-bar-container", returnValue.getData().getIdentifier().getNodeType().getLocalName());
assertEquals("Not correct container found, namespace was ignored", "bar:module", returnValue.getData().getIdentifier().getNodeType().getNamespace().toString());
}
use of org.opendaylight.netconf.sal.rest.impl.NormalizedNodeContext in project netconf by opendaylight.
the class TestXmlBodyReader method rpcModuleInputTest.
@Test
public void rpcModuleInputTest() throws Exception {
final String uri = "invoke-rpc-module:rpc-test";
mockBodyReader(uri, this.xmlBodyReader, true);
final InputStream inputStream = TestXmlBodyReader.class.getResourceAsStream("/invoke-rpc/xml/rpc-input.xml");
final NormalizedNodeContext returnValue = this.xmlBodyReader.readFrom(null, null, null, this.mediaType, null, inputStream);
checkNormalizedNodeContext(returnValue);
final ContainerNode contNode = (ContainerNode) returnValue.getData();
final Optional<DataContainerChild> contDataNodePotential = contNode.findChildByArg(new NodeIdentifier(QName.create(contNode.getIdentifier().getNodeType(), "cont")));
assertTrue(contDataNodePotential.isPresent());
final ContainerNode contDataNode = (ContainerNode) contDataNodePotential.get();
final Optional<DataContainerChild> leafDataNode = contDataNode.findChildByArg(new NodeIdentifier(QName.create(contDataNode.getIdentifier().getNodeType(), "lf")));
assertTrue(leafDataNode.isPresent());
assertTrue("lf-test".equalsIgnoreCase(leafDataNode.get().body().toString()));
}
use of org.opendaylight.netconf.sal.rest.impl.NormalizedNodeContext in project netconf by opendaylight.
the class TestXmlBodyReader method moduleSubContainerDataPutTest.
@Test
public void moduleSubContainerDataPutTest() throws Exception {
final DataSchemaNode dataSchemaNode = schemaContext.getDataChildByName(QName.create(INSTANCE_IDENTIFIER_MODULE_QNAME, "cont"));
final QName cont1QName = QName.create(dataSchemaNode.getQName(), "cont1");
final YangInstanceIdentifier dataII = YangInstanceIdentifier.of(dataSchemaNode.getQName()).node(cont1QName);
final DataSchemaNode dataSchemaNodeOnPath = ((DataNodeContainer) dataSchemaNode).getDataChildByName(cont1QName);
final String uri = "instance-identifier-module:cont/cont1";
mockBodyReader(uri, this.xmlBodyReader, false);
final InputStream inputStream = TestXmlBodyReader.class.getResourceAsStream("/instanceidentifier/xml/xml_sub_container.xml");
final NormalizedNodeContext returnValue = this.xmlBodyReader.readFrom(null, null, null, this.mediaType, null, inputStream);
checkNormalizedNodeContext(returnValue);
checkExpectValueNormalizeNodeContext(dataSchemaNodeOnPath, returnValue, dataII);
}
Aggregations