X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=inline;f=opendaylight%2Fmd-sal%2Fsal-rest-connector%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frest%2Fimpl%2Ftest%2Fproviders%2FTestXmlBodyReader.java;fp=opendaylight%2Fmd-sal%2Fsal-rest-connector%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frest%2Fimpl%2Ftest%2Fproviders%2FTestXmlBodyReader.java;h=0000000000000000000000000000000000000000;hb=89b8b59cd26fd4810293ff14386eb29a71da9fac;hp=67f4822c304a5a6e8f4c61c9e00a3e904e686d55;hpb=9ba2b4eca79bcc0e78099b133296801c8d45a6c4;p=controller.git diff --git a/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/rest/impl/test/providers/TestXmlBodyReader.java b/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/rest/impl/test/providers/TestXmlBodyReader.java deleted file mode 100644 index 67f4822c30..0000000000 --- a/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/rest/impl/test/providers/TestXmlBodyReader.java +++ /dev/null @@ -1,189 +0,0 @@ -/** - * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * 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.controller.sal.rest.impl.test.providers; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import com.google.common.base.Optional; -import com.google.common.collect.Sets; -import java.io.InputStream; -import java.net.URI; -import javax.ws.rs.core.MediaType; -import org.junit.BeforeClass; -import org.junit.Test; -import org.opendaylight.controller.sal.rest.impl.XmlNormalizedNodeBodyReader; -import org.opendaylight.controller.sal.restconf.impl.NormalizedNodeContext; -import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; -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.NormalizedNodes; -import org.opendaylight.yangtools.yang.model.api.DataNodeContainer; -import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; -import org.opendaylight.yangtools.yang.model.api.Module; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; - -/** - * sal-rest-connector - * org.opendaylight.controller.sal.rest.impl.test.providers - * - * - * - * @author Vaclav Demcak - * - * Created: Mar 7, 2015 - */ -public class TestXmlBodyReader extends AbstractBodyReaderTest { - - private final XmlNormalizedNodeBodyReader xmlBodyReader; - private static SchemaContext schemaContext; - - public TestXmlBodyReader () throws NoSuchFieldException, SecurityException { - super(); - xmlBodyReader = new XmlNormalizedNodeBodyReader(); - } - - @Override - protected MediaType getMediaType() { - return new MediaType(MediaType.APPLICATION_XML, null); - } - - @BeforeClass - public static void initialization() throws NoSuchFieldException, SecurityException { - schemaContext = schemaContextLoader("/instanceidentifier/yang", schemaContext); - schemaContext = schemaContextLoader("/modules", schemaContext); - schemaContext = schemaContextLoader("/invoke-rpc", schemaContext); - controllerContext.setSchemas(schemaContext); - } - - @Test - public void moduleDataTest() throws Exception { - final DataSchemaNode dataSchemaNode = schemaContext.getDataChildByName("cont"); - final YangInstanceIdentifier dataII = YangInstanceIdentifier.of(dataSchemaNode.getQName()); - final String uri = "instance-identifier-module:cont"; - mockBodyReader(uri, xmlBodyReader, false); - final InputStream inputStream = TestXmlBodyReader.class - .getResourceAsStream("/instanceidentifier/xml/xmldata.xml"); - final NormalizedNodeContext returnValue = xmlBodyReader - .readFrom(null, null, null, mediaType, null, inputStream); - checkNormalizedNodeContext(returnValue); - checkExpectValueNormalizeNodeContext(dataSchemaNode, returnValue, dataII); - } - - @Test - public void moduleSubContainerDataPutTest() throws Exception { - final DataSchemaNode dataSchemaNode = schemaContext.getDataChildByName("cont"); - 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, xmlBodyReader, false); - final InputStream inputStream = TestXmlBodyReader.class - .getResourceAsStream("/instanceidentifier/xml/xml_sub_container.xml"); - final NormalizedNodeContext returnValue = xmlBodyReader - .readFrom(null, null, null, mediaType, null, inputStream); - checkNormalizedNodeContext(returnValue); - checkExpectValueNormalizeNodeContext(dataSchemaNodeOnPath, returnValue, dataII); - } - - @Test - public void moduleSubContainerDataPostTest() throws Exception { - final DataSchemaNode dataSchemaNode = schemaContext.getDataChildByName("cont"); - QName cont1QName = QName.create(dataSchemaNode.getQName(), "cont1"); - final YangInstanceIdentifier dataII = YangInstanceIdentifier.of(dataSchemaNode.getQName()).node(cont1QName); - final String uri = "instance-identifier-module:cont"; - mockBodyReader(uri, xmlBodyReader, true); - final InputStream inputStream = TestXmlBodyReader.class - .getResourceAsStream("/instanceidentifier/xml/xml_sub_container.xml"); - final NormalizedNodeContext returnValue = xmlBodyReader - .readFrom(null, null, null, mediaType, null, inputStream); - checkNormalizedNodeContext(returnValue); - checkExpectValueNormalizeNodeContext(dataSchemaNode, returnValue, dataII); - } - - @Test - public void moduleSubContainerAugmentDataPostTest() throws Exception { - final DataSchemaNode dataSchemaNode = schemaContext.getDataChildByName("cont"); - final Module augmentModule = schemaContext.findModuleByNamespace(new URI("augment:module")).iterator().next(); - QName contAugmentQName = QName.create(augmentModule.getQNameModule(), "cont-augment"); - YangInstanceIdentifier.AugmentationIdentifier augII = new YangInstanceIdentifier.AugmentationIdentifier( - Sets.newHashSet(contAugmentQName)); - final YangInstanceIdentifier dataII = YangInstanceIdentifier.of(dataSchemaNode.getQName()) - .node(augII).node(contAugmentQName); - final String uri = "instance-identifier-module:cont"; - mockBodyReader(uri, xmlBodyReader, true); - final InputStream inputStream = TestXmlBodyReader.class - .getResourceAsStream("/instanceidentifier/xml/xml_augment_container.xml"); - final NormalizedNodeContext returnValue = xmlBodyReader - .readFrom(null, null, null, mediaType, null, inputStream); - checkNormalizedNodeContext(returnValue); - checkExpectValueNormalizeNodeContext(dataSchemaNode, returnValue, dataII); - } - - @Test - public void moduleSubContainerChoiceAugmentDataPostTest() throws Exception { - final DataSchemaNode dataSchemaNode = schemaContext.getDataChildByName("cont"); - final Module augmentModule = schemaContext.findModuleByNamespace(new URI("augment:module")).iterator().next(); - QName augmentChoice1QName = QName.create(augmentModule.getQNameModule(), "augment-choice1"); - QName augmentChoice2QName = QName.create(augmentChoice1QName, "augment-choice2"); - final QName containerQName = QName.create(augmentChoice1QName, "case-choice-case-container1"); - YangInstanceIdentifier.AugmentationIdentifier augChoice1II = new YangInstanceIdentifier.AugmentationIdentifier( - Sets.newHashSet(augmentChoice1QName)); - YangInstanceIdentifier.AugmentationIdentifier augChoice2II = new YangInstanceIdentifier.AugmentationIdentifier( - Sets.newHashSet(augmentChoice2QName)); - final YangInstanceIdentifier dataII = YangInstanceIdentifier.of(dataSchemaNode.getQName()) - .node(augChoice1II).node(augmentChoice1QName).node(augChoice2II).node(augmentChoice2QName) - .node(containerQName); - final String uri = "instance-identifier-module:cont"; - mockBodyReader(uri, xmlBodyReader, true); - final InputStream inputStream = TestXmlBodyReader.class - .getResourceAsStream("/instanceidentifier/xml/xml_augment_choice_container.xml"); - final NormalizedNodeContext returnValue = xmlBodyReader - .readFrom(null, null, null, mediaType, null, inputStream); - checkNormalizedNodeContext(returnValue); - checkExpectValueNormalizeNodeContext(dataSchemaNode, returnValue, dataII); - } - - @Test - public void rpcModuleInputTest() throws Exception { - final String uri = "invoke-rpc-module:rpc-test"; - mockBodyReader(uri, xmlBodyReader, true); - final InputStream inputStream = TestXmlBodyReader.class - .getResourceAsStream("/invoke-rpc/xml/rpc-input.xml"); - final NormalizedNodeContext returnValue = xmlBodyReader - .readFrom(null, null, null, mediaType, null, inputStream); - checkNormalizedNodeContext(returnValue); - final ContainerNode contNode = (ContainerNode) returnValue.getData(); - final YangInstanceIdentifier yangCont = YangInstanceIdentifier.of(QName.create(contNode.getNodeType(), "cont")); - final Optional> contDataNodePotential = contNode.getChild(yangCont - .getLastPathArgument()); - assertTrue(contDataNodePotential.isPresent()); - final ContainerNode contDataNode = (ContainerNode) contDataNodePotential.get(); - final YangInstanceIdentifier yangLeaf = YangInstanceIdentifier.of(QName.create(contDataNode.getNodeType(), "lf")); - final Optional> leafDataNode = contDataNode.getChild(yangLeaf - .getLastPathArgument()); - assertTrue(leafDataNode.isPresent()); - assertTrue("lf-test".equalsIgnoreCase(leafDataNode.get().getValue().toString())); - } - - private void checkExpectValueNormalizeNodeContext(final DataSchemaNode dataSchemaNode, - final NormalizedNodeContext nnContext) { - checkExpectValueNormalizeNodeContext(dataSchemaNode, nnContext, null); - } - - private void checkExpectValueNormalizeNodeContext(final DataSchemaNode dataSchemaNode, - final NormalizedNodeContext nnContext, - final YangInstanceIdentifier dataNodeIdent) { - assertEquals(dataSchemaNode, nnContext.getInstanceIdentifierContext().getSchemaNode()); - assertEquals(dataNodeIdent, nnContext.getInstanceIdentifierContext().getInstanceIdentifier()); - assertNotNull(NormalizedNodes.findNode(nnContext.getData(), dataNodeIdent)); - } -}