X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=restconf%2Frestconf-nb-bierman02%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frest%2Fimpl%2Ftest%2Fproviders%2FTestJsonBodyReader.java;h=fe50c687e7fc3e8d3c1559cdb2d3f8e85b503ce7;hb=09c1d18add7cfc310f3d190a1a02a523159162ce;hp=bbe455cc3d5e511665b34d86978d77d13b4fad6c;hpb=1bcaf624205de83ea78a131e960103f2b785468c;p=netconf.git diff --git a/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/rest/impl/test/providers/TestJsonBodyReader.java b/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/rest/impl/test/providers/TestJsonBodyReader.java index bbe455cc3d..fe50c687e7 100644 --- a/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/rest/impl/test/providers/TestJsonBodyReader.java +++ b/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/rest/impl/test/providers/TestJsonBodyReader.java @@ -12,54 +12,43 @@ 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.File; import java.io.InputStream; -import java.net.URI; -import java.text.ParseException; import java.util.Collection; +import java.util.Optional; +import java.util.Set; import javax.ws.rs.core.MediaType; import org.junit.BeforeClass; import org.junit.Test; import org.opendaylight.controller.md.sal.rest.common.TestRestconfUtils; import org.opendaylight.netconf.sal.rest.impl.JsonNormalizedNodeBodyReader; -import org.opendaylight.restconf.common.context.NormalizedNodeContext; +import org.opendaylight.netconf.sal.rest.impl.NormalizedNodeContext; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; +import org.opendaylight.yangtools.yang.common.Revision; +import org.opendaylight.yangtools.yang.common.XMLNamespace; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; 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.EffectiveModelContext; import org.opendaylight.yangtools.yang.model.api.Module; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; - public class TestJsonBodyReader extends AbstractBodyReaderTest { private final JsonNormalizedNodeBodyReader jsonBodyReader; - private static SchemaContext schemaContext; + private static EffectiveModelContext schemaContext; - private static final QNameModule INSTANCE_IDENTIFIER_MODULE_QNAME = initializeInstanceIdentifierModule(); + private static final QNameModule INSTANCE_IDENTIFIER_MODULE_QNAME = QNameModule.create( + XMLNamespace.of("instance:identifier:module"), Revision.of("2014-01-17")); - private static QNameModule initializeInstanceIdentifierModule() { - try { - return QNameModule.create(URI.create("instance:identifier:module"), - SimpleDateFormatUtil.getRevisionFormat().parse("2014-01-17")); - } catch (final ParseException e) { - throw new Error(e); - } - } - - - public TestJsonBodyReader() throws NoSuchFieldException, SecurityException { - super(); - this.jsonBodyReader = new JsonNormalizedNodeBodyReader(); + public TestJsonBodyReader() { + super(schemaContext, null); + jsonBodyReader = new JsonNormalizedNodeBodyReader(controllerContext); } @Override @@ -72,8 +61,7 @@ public class TestJsonBodyReader extends AbstractBodyReaderTest { throws Exception { final Collection testFiles = TestRestconfUtils.loadFiles("/instanceidentifier/yang"); testFiles.addAll(TestRestconfUtils.loadFiles("/invoke-rpc")); - schemaContext = YangParserTestUtils.parseYangSources(testFiles); - CONTROLLER_CONTEXT.setSchemas(schemaContext); + schemaContext = YangParserTestUtils.parseYangFiles(testFiles); } @Test @@ -82,11 +70,11 @@ public class TestJsonBodyReader extends AbstractBodyReaderTest { schemaContext.getDataChildByName(QName.create(INSTANCE_IDENTIFIER_MODULE_QNAME, "cont")); final YangInstanceIdentifier dataII = YangInstanceIdentifier.of(dataSchemaNode.getQName()); final String uri = "instance-identifier-module:cont"; - mockBodyReader(uri, this.jsonBodyReader, false); + mockBodyReader(uri, jsonBodyReader, false); final InputStream inputStream = TestJsonBodyReader.class .getResourceAsStream("/instanceidentifier/json/jsondata.json"); - final NormalizedNodeContext returnValue = this.jsonBodyReader - .readFrom(null, null, null, this.mediaType, null, inputStream); + final NormalizedNodeContext returnValue = jsonBodyReader + .readFrom(null, null, null, mediaType, null, inputStream); checkNormalizedNodeContext(returnValue); checkExpectValueNormalizeNodeContext(dataSchemaNode, returnValue, dataII); } @@ -99,11 +87,11 @@ public class TestJsonBodyReader extends AbstractBodyReaderTest { 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.jsonBodyReader, false); + mockBodyReader(uri, jsonBodyReader, false); final InputStream inputStream = TestJsonBodyReader.class .getResourceAsStream("/instanceidentifier/json/json_sub_container.json"); - final NormalizedNodeContext returnValue = this.jsonBodyReader - .readFrom(null, null, null, this.mediaType, null, inputStream); + final NormalizedNodeContext returnValue = jsonBodyReader + .readFrom(null, null, null, mediaType, null, inputStream); checkNormalizedNodeContext(returnValue); checkExpectValueNormalizeNodeContext(dataSchemaNodeOnPath, returnValue, dataII); } @@ -115,11 +103,11 @@ public class TestJsonBodyReader extends AbstractBodyReaderTest { final 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, this.jsonBodyReader, true); + mockBodyReader(uri, jsonBodyReader, true); final InputStream inputStream = TestJsonBodyReader.class .getResourceAsStream("/instanceidentifier/json/json_sub_container.json"); - final NormalizedNodeContext returnValue = this.jsonBodyReader - .readFrom(null, null, null, this.mediaType, null, inputStream); + final NormalizedNodeContext returnValue = jsonBodyReader + .readFrom(null, null, null, mediaType, null, inputStream); checkNormalizedNodeContext(returnValue); checkExpectValueNormalizeNodeContext(dataSchemaNode, returnValue, dataII); } @@ -128,18 +116,17 @@ public class TestJsonBodyReader extends AbstractBodyReaderTest { public void moduleSubContainerAugmentDataPostTest() throws Exception { final DataSchemaNode dataSchemaNode = schemaContext.getDataChildByName(QName.create(INSTANCE_IDENTIFIER_MODULE_QNAME, "cont")); - final Module augmentModule = schemaContext.findModuleByNamespace(new URI("augment:module")).iterator().next(); + final Module augmentModule = schemaContext.findModules(XMLNamespace.of("augment:module")).iterator().next(); final QName contAugmentQName = QName.create(augmentModule.getQNameModule(), "cont-augment"); - final YangInstanceIdentifier.AugmentationIdentifier augII = new YangInstanceIdentifier.AugmentationIdentifier( - Sets.newHashSet(contAugmentQName)); + final AugmentationIdentifier augII = new AugmentationIdentifier(Set.of(contAugmentQName)); final YangInstanceIdentifier dataII = YangInstanceIdentifier.of(dataSchemaNode.getQName()) .node(augII).node(contAugmentQName); final String uri = "instance-identifier-module:cont"; - mockBodyReader(uri, this.jsonBodyReader, true); + mockBodyReader(uri, jsonBodyReader, true); final InputStream inputStream = TestXmlBodyReader.class .getResourceAsStream("/instanceidentifier/json/json_augment_container.json"); - final NormalizedNodeContext returnValue = this.jsonBodyReader - .readFrom(null, null, null, this.mediaType, null, inputStream); + final NormalizedNodeContext returnValue = jsonBodyReader + .readFrom(null, null, null, mediaType, null, inputStream); checkNormalizedNodeContext(returnValue); checkExpectValueNormalizeNodeContext(dataSchemaNode, returnValue, dataII); } @@ -149,23 +136,21 @@ public class TestJsonBodyReader extends AbstractBodyReaderTest { public void moduleSubContainerChoiceAugmentDataPostTest() throws Exception { final DataSchemaNode dataSchemaNode = schemaContext.getDataChildByName(QName.create(INSTANCE_IDENTIFIER_MODULE_QNAME, "cont")); - final Module augmentModule = schemaContext.findModuleByNamespace(new URI("augment:module")).iterator().next(); + final Module augmentModule = schemaContext.findModules(XMLNamespace.of("augment:module")).iterator().next(); final QName augmentChoice1QName = QName.create(augmentModule.getQNameModule(), "augment-choice1"); final QName augmentChoice2QName = QName.create(augmentChoice1QName, "augment-choice2"); final QName containerQName = QName.create(augmentChoice1QName, "case-choice-case-container1"); - final YangInstanceIdentifier.AugmentationIdentifier augChoice1II = - new YangInstanceIdentifier.AugmentationIdentifier(Sets.newHashSet(augmentChoice1QName)); - final YangInstanceIdentifier.AugmentationIdentifier augChoice2II = - new YangInstanceIdentifier.AugmentationIdentifier(Sets.newHashSet(augmentChoice2QName)); + final AugmentationIdentifier augChoice1II = new AugmentationIdentifier(Set.of(augmentChoice1QName)); + final AugmentationIdentifier augChoice2II = new AugmentationIdentifier(Set.of(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, this.jsonBodyReader, true); + mockBodyReader(uri, jsonBodyReader, true); final InputStream inputStream = TestXmlBodyReader.class .getResourceAsStream("/instanceidentifier/json/json_augment_choice_container.json"); - final NormalizedNodeContext returnValue = this.jsonBodyReader - .readFrom(null, null, null, this.mediaType, null, inputStream); + final NormalizedNodeContext returnValue = jsonBodyReader + .readFrom(null, null, null, mediaType, null, inputStream); checkNormalizedNodeContext(returnValue); checkExpectValueNormalizeNodeContext(dataSchemaNode, returnValue, dataII); } @@ -173,31 +158,23 @@ public class TestJsonBodyReader extends AbstractBodyReaderTest { @Test public void rpcModuleInputTest() throws Exception { final String uri = "invoke-rpc-module:rpc-test"; - mockBodyReader(uri, this.jsonBodyReader, true); - final InputStream inputStream = TestJsonBodyReader.class - .getResourceAsStream("/invoke-rpc/json/rpc-input.json"); - final NormalizedNodeContext returnValue = this.jsonBodyReader.readFrom(null, - null, null, this.mediaType, null, inputStream); - checkNormalizedNodeContext(returnValue); + mockBodyReader(uri, jsonBodyReader, true); + final InputStream inputStream = TestJsonBodyReader.class.getResourceAsStream("/invoke-rpc/json/rpc-input.json"); + final NormalizedNodeContext returnValue = jsonBodyReader.readFrom(null, null, null, mediaType, null, + inputStream); + checkNormalizedNodeContextRpc(returnValue); final ContainerNode inputNode = (ContainerNode) returnValue.getData(); - final YangInstanceIdentifier yangCont = YangInstanceIdentifier.of(QName - .create(inputNode.getNodeType(), "cont")); - final Optional> contDataNode = inputNode - .getChild(yangCont.getLastPathArgument()); + final YangInstanceIdentifier yangCont = YangInstanceIdentifier.of( + QName.create(inputNode.getIdentifier().getNodeType(), "cont")); + final Optional contDataNode = inputNode.findChildByArg(yangCont.getLastPathArgument()); assertTrue(contDataNode.isPresent()); assertTrue(contDataNode.get() instanceof ContainerNode); - final YangInstanceIdentifier yangleaf = YangInstanceIdentifier.of(QName - .create(inputNode.getNodeType(), "lf")); - final Optional> leafDataNode = ((ContainerNode) contDataNode - .get()).getChild(yangleaf.getLastPathArgument()); + final YangInstanceIdentifier yangleaf = YangInstanceIdentifier.of( + QName.create(inputNode.getIdentifier().getNodeType(), "lf")); + final Optional leafDataNode = ((ContainerNode) contDataNode.get()) + .findChildByArg(yangleaf.getLastPathArgument()); assertTrue(leafDataNode.isPresent()); - assertTrue("lf-test".equalsIgnoreCase(leafDataNode.get().getValue() - .toString())); - } - - private static void checkExpectValueNormalizeNodeContext(final DataSchemaNode dataSchemaNode, - final NormalizedNodeContext nnContext) { - checkExpectValueNormalizeNodeContext(dataSchemaNode, nnContext, null); + assertTrue("lf-test".equalsIgnoreCase(leafDataNode.get().body().toString())); } private static void checkExpectValueNormalizeNodeContext(final DataSchemaNode dataSchemaNode,