Search in sources :

Example 1 with NormalizedNodePayload

use of org.opendaylight.restconf.nb.rfc8040.legacy.NormalizedNodePayload in project netconf by opendaylight.

the class JsonBodyReaderTest 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, jsonBodyReader, false);
    final NormalizedNodePayload payload = jsonBodyReader.readFrom(null, null, null, mediaType, null, JsonBodyReaderTest.class.getResourceAsStream("/instanceidentifier/json/json_sub_container.json"));
    checkNormalizedNodePayload(payload);
    checkExpectValueNormalizeNodeContext(dataSchemaNodeOnPath, payload, dataII);
}
Also used : DataSchemaNode(org.opendaylight.yangtools.yang.model.api.DataSchemaNode) QName(org.opendaylight.yangtools.yang.common.QName) DataNodeContainer(org.opendaylight.yangtools.yang.model.api.DataNodeContainer) NormalizedNodePayload(org.opendaylight.restconf.nb.rfc8040.legacy.NormalizedNodePayload) YangInstanceIdentifier(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier) Test(org.junit.Test)

Example 2 with NormalizedNodePayload

use of org.opendaylight.restconf.nb.rfc8040.legacy.NormalizedNodePayload in project netconf by opendaylight.

the class JsonBodyReaderTest method moduleSubContainerDataPostActionTest.

@Test
public void moduleSubContainerDataPostActionTest() throws Exception {
    final Optional<DataSchemaNode> dataSchemaNode = schemaContext.findDataChildByName(QName.create(INSTANCE_IDENTIFIER_MODULE_QNAME, "cont"));
    final QName cont1QName = QName.create(dataSchemaNode.get().getQName(), "cont1");
    final QName actionQName = QName.create(dataSchemaNode.get().getQName(), "reset");
    final YangInstanceIdentifier dataII = YangInstanceIdentifier.of(dataSchemaNode.get().getQName()).node(cont1QName).node(actionQName);
    final String uri = "instance-identifier-module:cont/cont1/reset";
    mockBodyReader(uri, jsonBodyReader, true);
    final NormalizedNodePayload payload = jsonBodyReader.readFrom(null, null, null, mediaType, null, JsonBodyReaderTest.class.getResourceAsStream("/instanceidentifier/json/json_cont_action.json"));
    checkNormalizedNodePayload(payload);
    assertThat(payload.getInstanceIdentifierContext().getSchemaNode(), instanceOf(ActionDefinition.class));
}
Also used : DataSchemaNode(org.opendaylight.yangtools.yang.model.api.DataSchemaNode) QName(org.opendaylight.yangtools.yang.common.QName) NormalizedNodePayload(org.opendaylight.restconf.nb.rfc8040.legacy.NormalizedNodePayload) YangInstanceIdentifier(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier) ActionDefinition(org.opendaylight.yangtools.yang.model.api.ActionDefinition) Test(org.junit.Test)

Example 3 with NormalizedNodePayload

use of org.opendaylight.restconf.nb.rfc8040.legacy.NormalizedNodePayload in project netconf by opendaylight.

the class JsonBodyReaderTest method moduleSubContainerChoiceAugmentDataPostTest.

@Test
public void moduleSubContainerChoiceAugmentDataPostTest() throws Exception {
    final DataSchemaNode dataSchemaNode = schemaContext.getDataChildByName(QName.create(INSTANCE_IDENTIFIER_MODULE_QNAME, "cont"));
    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 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, jsonBodyReader, true);
    final NormalizedNodePayload payload = jsonBodyReader.readFrom(null, null, null, mediaType, null, XmlBodyReaderTest.class.getResourceAsStream("/instanceidentifier/json/json_augment_choice_container.json"));
    checkNormalizedNodePayload(payload);
    checkExpectValueNormalizeNodeContext(dataSchemaNode, payload, dataII);
}
Also used : DataSchemaNode(org.opendaylight.yangtools.yang.model.api.DataSchemaNode) QName(org.opendaylight.yangtools.yang.common.QName) NormalizedNodePayload(org.opendaylight.restconf.nb.rfc8040.legacy.NormalizedNodePayload) QNameModule(org.opendaylight.yangtools.yang.common.QNameModule) Module(org.opendaylight.yangtools.yang.model.api.Module) YangInstanceIdentifier(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier) Test(org.junit.Test)

Example 4 with NormalizedNodePayload

use of org.opendaylight.restconf.nb.rfc8040.legacy.NormalizedNodePayload in project netconf by opendaylight.

the class JsonBodyReaderTest method moduleDataTest.

@Test
public void moduleDataTest() throws Exception {
    final DataSchemaNode dataSchemaNode = 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, jsonBodyReader, false);
    final NormalizedNodePayload payload = jsonBodyReader.readFrom(null, null, null, mediaType, null, JsonBodyReaderTest.class.getResourceAsStream("/instanceidentifier/json/jsondata.json"));
    checkNormalizedNodePayload(payload);
    checkExpectValueNormalizeNodeContext(dataSchemaNode, payload, dataII);
}
Also used : DataSchemaNode(org.opendaylight.yangtools.yang.model.api.DataSchemaNode) NormalizedNodePayload(org.opendaylight.restconf.nb.rfc8040.legacy.NormalizedNodePayload) YangInstanceIdentifier(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier) Test(org.junit.Test)

Example 5 with NormalizedNodePayload

use of org.opendaylight.restconf.nb.rfc8040.legacy.NormalizedNodePayload in project netconf by opendaylight.

the class JsonBodyReaderTest method moduleSubContainerAugmentDataPostTest.

@Test
public void moduleSubContainerAugmentDataPostTest() throws Exception {
    final DataSchemaNode dataSchemaNode = schemaContext.getDataChildByName(QName.create(INSTANCE_IDENTIFIER_MODULE_QNAME, "cont"));
    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 YangInstanceIdentifier dataII = YangInstanceIdentifier.of(dataSchemaNode.getQName()).node(augII).node(contAugmentQName);
    final String uri = "instance-identifier-module:cont";
    mockBodyReader(uri, jsonBodyReader, true);
    final NormalizedNodePayload payload = jsonBodyReader.readFrom(null, null, null, mediaType, null, XmlBodyReaderTest.class.getResourceAsStream("/instanceidentifier/json/json_augment_container.json"));
    checkNormalizedNodePayload(payload);
    checkExpectValueNormalizeNodeContext(dataSchemaNode, payload, dataII);
}
Also used : DataSchemaNode(org.opendaylight.yangtools.yang.model.api.DataSchemaNode) QName(org.opendaylight.yangtools.yang.common.QName) NormalizedNodePayload(org.opendaylight.restconf.nb.rfc8040.legacy.NormalizedNodePayload) QNameModule(org.opendaylight.yangtools.yang.common.QNameModule) Module(org.opendaylight.yangtools.yang.model.api.Module) YangInstanceIdentifier(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier) Test(org.junit.Test)

Aggregations

NormalizedNodePayload (org.opendaylight.restconf.nb.rfc8040.legacy.NormalizedNodePayload)57 Test (org.junit.Test)53 DataSchemaNode (org.opendaylight.yangtools.yang.model.api.DataSchemaNode)33 InstanceIdentifierContext (org.opendaylight.restconf.common.context.InstanceIdentifierContext)24 YangInstanceIdentifier (org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier)21 MdsalRestconfStrategy (org.opendaylight.restconf.nb.rfc8040.rests.transactions.MdsalRestconfStrategy)13 QName (org.opendaylight.yangtools.yang.common.QName)13 DefaultDOMRpcResult (org.opendaylight.mdsal.dom.spi.DefaultDOMRpcResult)12 NetconfRestconfStrategy (org.opendaylight.restconf.nb.rfc8040.rests.transactions.NetconfRestconfStrategy)12 NormalizedNode (org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode)12 Response (javax.ws.rs.core.Response)10 ContainerNode (org.opendaylight.yangtools.yang.data.api.schema.ContainerNode)10 AbstractBodyReaderTest (org.opendaylight.restconf.nb.rfc8040.jersey.providers.test.AbstractBodyReaderTest)7 XmlBodyReaderTest (org.opendaylight.restconf.nb.rfc8040.jersey.providers.test.XmlBodyReaderTest)7 MapEntryNode (org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode)6 RestconfDocumentedException (org.opendaylight.restconf.common.errors.RestconfDocumentedException)5 NodeIdentifier (org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier)5 ActionDefinition (org.opendaylight.yangtools.yang.model.api.ActionDefinition)5 EffectiveModelContext (org.opendaylight.yangtools.yang.model.api.EffectiveModelContext)5 SchemaNode (org.opendaylight.yangtools.yang.model.api.SchemaNode)5