X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=restconf%2Frestconf-nb-rfc8040%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Frestconf%2Fnb%2Frfc8040%2Frests%2Futils%2FPutDataTransactionUtilTest.java;h=7b2f84907d01f62dcc9e433b782d6cadd6181f6a;hb=9cc114dc8e4109893e2346477b5ae14391afe01c;hp=ab15d93f15f20d8b05b83f6bfdab26f0e96e8bad;hpb=6aa01b1c2105b8e54e667e8b85e06775889527d6;p=netconf.git diff --git a/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/PutDataTransactionUtilTest.java b/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/PutDataTransactionUtilTest.java index ab15d93f15..7b2f84907d 100644 --- a/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/PutDataTransactionUtilTest.java +++ b/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/PutDataTransactionUtilTest.java @@ -7,6 +7,7 @@ */ package org.opendaylight.restconf.nb.rfc8040.rests.utils; +import static org.junit.Assert.assertThrows; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; @@ -30,9 +31,9 @@ import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.mdsal.dom.spi.DefaultDOMRpcResult; import org.opendaylight.netconf.dom.api.NetconfDataTreeService; import org.opendaylight.restconf.common.context.InstanceIdentifierContext; -import org.opendaylight.restconf.common.context.NormalizedNodeContext; import org.opendaylight.restconf.common.errors.RestconfDocumentedException; import org.opendaylight.restconf.nb.rfc8040.TestRestconfUtils; +import org.opendaylight.restconf.nb.rfc8040.WriteDataParams; import org.opendaylight.restconf.nb.rfc8040.legacy.NormalizedNodePayload; import org.opendaylight.restconf.nb.rfc8040.rests.services.impl.RestconfDataServiceImpl; import org.opendaylight.restconf.nb.rfc8040.rests.transactions.MdsalRestconfStrategy; @@ -169,191 +170,175 @@ public class PutDataTransactionUtilTest { @Test public void testValidInputData() { - final InstanceIdentifierContext iidContext = - new InstanceIdentifierContext<>(iid, schemaNode, null, schema); - final NormalizedNodeContext payload = new NormalizedNodeContext(iidContext, buildLeaf); - RestconfDataServiceImpl.validInputData(iidContext.getSchemaNode(), payload); + RestconfDataServiceImpl.validInputData(schemaNode, NormalizedNodePayload.of( + new InstanceIdentifierContext(iid, schemaNode, null, schema), buildLeaf)); } @Test public void testValidTopLevelNodeName() { - InstanceIdentifierContext iidContext = - new InstanceIdentifierContext<>(iid, schemaNode, null, schema); - NormalizedNodeContext payload = new NormalizedNodeContext(iidContext, buildLeaf); - RestconfDataServiceImpl.validTopLevelNodeName(iidContext.getInstanceIdentifier(), payload); - - iidContext = new InstanceIdentifierContext<>(iid2, schemaNode2, null, schema); - payload = new NormalizedNodeContext(iidContext, buildBaseCont); - RestconfDataServiceImpl.validTopLevelNodeName(iidContext.getInstanceIdentifier(), payload); + RestconfDataServiceImpl.validTopLevelNodeName(iid, NormalizedNodePayload.of( + new InstanceIdentifierContext(iid, schemaNode, null, schema), buildLeaf)); + RestconfDataServiceImpl.validTopLevelNodeName(iid2, NormalizedNodePayload.of( + new InstanceIdentifierContext(iid2, schemaNode2, null, schema), buildBaseCont)); } - @Test(expected = RestconfDocumentedException.class) + @Test public void testValidTopLevelNodeNamePathEmpty() { - final InstanceIdentifierContext iidContext = - new InstanceIdentifierContext<>(iid, schemaNode, null, schema); - final NormalizedNodeContext payload = new NormalizedNodeContext(iidContext, buildLeaf); - RestconfDataServiceImpl.validTopLevelNodeName(YangInstanceIdentifier.empty(), payload); + final InstanceIdentifierContext iidContext = + new InstanceIdentifierContext(iid, schemaNode, null, schema); + final NormalizedNodePayload payload = NormalizedNodePayload.of(iidContext, buildLeaf); + + // FIXME: more asserts + assertThrows(RestconfDocumentedException.class, + () -> RestconfDataServiceImpl.validTopLevelNodeName(YangInstanceIdentifier.empty(), payload)); } - @Test(expected = RestconfDocumentedException.class) + @Test public void testValidTopLevelNodeNameWrongTopIdentifier() { - final InstanceIdentifierContext iidContext = - new InstanceIdentifierContext<>(iid, schemaNode, null, schema); - final NormalizedNodeContext payload = new NormalizedNodeContext(iidContext, buildLeaf); - RestconfDataServiceImpl.validTopLevelNodeName(iid.getAncestor(1), payload); + final InstanceIdentifierContext iidContext = + new InstanceIdentifierContext(iid, schemaNode, null, schema); + final NormalizedNodePayload payload = NormalizedNodePayload.of(iidContext, buildLeaf); + + // FIXME: more asserts + assertThrows(RestconfDocumentedException.class, + () -> RestconfDataServiceImpl.validTopLevelNodeName(iid.getAncestor(1), payload)); } @Test public void testValidateListKeysEqualityInPayloadAndUri() { - final InstanceIdentifierContext iidContext = - new InstanceIdentifierContext<>(iid3, schemaNode3, null, schema); - final NormalizedNodeContext payload = new NormalizedNodeContext(iidContext, buildListEntry); + final InstanceIdentifierContext iidContext = + new InstanceIdentifierContext(iid3, schemaNode3, null, schema); + final NormalizedNodePayload payload = NormalizedNodePayload.of(iidContext, buildListEntry); RestconfDataServiceImpl.validateListKeysEqualityInPayloadAndUri(payload); } @Test public void testPutContainerData() { - final InstanceIdentifierContext iidContext = - new InstanceIdentifierContext<>(iid2, schemaNode2, null, schema); + final InstanceIdentifierContext iidContext = + new InstanceIdentifierContext(iid2, schemaNode2, null, schema); final NormalizedNodePayload payload = NormalizedNodePayload.of(iidContext, buildBaseCont); doReturn(readWrite).when(mockDataBroker).newReadWriteTransaction(); doReturn(read).when(mockDataBroker).newReadOnlyTransaction(); - doReturn(immediateFalseFluentFuture()) - .when(read).exists(LogicalDatastoreType.CONFIGURATION, iid2); - doNothing().when(readWrite).put(LogicalDatastoreType.CONFIGURATION, - payload.getInstanceIdentifierContext().getInstanceIdentifier(), payload.getData()); + doReturn(immediateFalseFluentFuture()).when(read).exists(LogicalDatastoreType.CONFIGURATION, iid2); + doNothing().when(readWrite).put(LogicalDatastoreType.CONFIGURATION, iid2, payload.getData()); doReturn(CommitInfo.emptyFluentFuture()).when(readWrite).commit(); - PutDataTransactionUtil.putData(payload, schema, new MdsalRestconfStrategy(mockDataBroker), null, null); - verify(read).exists(LogicalDatastoreType.CONFIGURATION, - payload.getInstanceIdentifierContext().getInstanceIdentifier()); - verify(readWrite).put(LogicalDatastoreType.CONFIGURATION, - payload.getInstanceIdentifierContext().getInstanceIdentifier(), payload.getData()); + PutDataTransactionUtil.putData(payload, schema, new MdsalRestconfStrategy(mockDataBroker), + WriteDataParams.empty()); + verify(read).exists(LogicalDatastoreType.CONFIGURATION, iid2); + verify(readWrite).put(LogicalDatastoreType.CONFIGURATION, iid2, payload.getData()); } @Test public void testPutCreateContainerData() { - final InstanceIdentifierContext iidContext = - new InstanceIdentifierContext<>(iid2, schemaNode2, null, schema); + final InstanceIdentifierContext iidContext = + new InstanceIdentifierContext(iid2, schemaNode2, null, schema); final NormalizedNodePayload payload = NormalizedNodePayload.of(iidContext, buildBaseCont); doReturn(immediateFluentFuture(Optional.empty())).when(netconfService).getConfig(iid2); doReturn(Futures.immediateFuture(new DefaultDOMRpcResult())).when(netconfService).commit(); doReturn(Futures.immediateFuture(new DefaultDOMRpcResult())).when(netconfService) - .replace(LogicalDatastoreType.CONFIGURATION, payload.getInstanceIdentifierContext().getInstanceIdentifier(), - payload.getData(), Optional.empty()); + .replace(LogicalDatastoreType.CONFIGURATION, iid2, payload.getData(), Optional.empty()); PutDataTransactionUtil.putData(payload, schema, new NetconfRestconfStrategy(netconfService), - null, null); + WriteDataParams.empty()); verify(netconfService).lock(); - verify(netconfService).getConfig(payload.getInstanceIdentifierContext().getInstanceIdentifier()); - verify(netconfService).replace(LogicalDatastoreType.CONFIGURATION, - payload.getInstanceIdentifierContext().getInstanceIdentifier(), payload.getData(), Optional.empty()); + verify(netconfService).getConfig(iid2); + verify(netconfService).replace(LogicalDatastoreType.CONFIGURATION, iid2, payload.getData(), Optional.empty()); } @Test public void testPutReplaceContainerData() { - final InstanceIdentifierContext iidContext = - new InstanceIdentifierContext<>(iid2, schemaNode2, null, schema); + final InstanceIdentifierContext iidContext = + new InstanceIdentifierContext(iid2, schemaNode2, null, schema); final NormalizedNodePayload payload = NormalizedNodePayload.of(iidContext, buildBaseCont); - doReturn(immediateFluentFuture(Optional.of(mock(NormalizedNode.class)))) - .when(netconfService).getConfig(iid2); + doReturn(immediateFluentFuture(Optional.of(mock(NormalizedNode.class)))).when(netconfService).getConfig(iid2); doReturn(Futures.immediateFuture(new DefaultDOMRpcResult())).when(netconfService).commit(); doReturn(Futures.immediateFuture(new DefaultDOMRpcResult())).when(netconfService) - .replace(LogicalDatastoreType.CONFIGURATION, - payload.getInstanceIdentifierContext().getInstanceIdentifier(), payload.getData(), Optional.empty()); + .replace(LogicalDatastoreType.CONFIGURATION, iid2, payload.getData(), Optional.empty()); PutDataTransactionUtil.putData(payload, schema, new NetconfRestconfStrategy(netconfService), - null, null); - verify(netconfService).getConfig(payload.getInstanceIdentifierContext().getInstanceIdentifier()); - verify(netconfService).replace(LogicalDatastoreType.CONFIGURATION, - payload.getInstanceIdentifierContext().getInstanceIdentifier(), payload.getData(), Optional.empty()); + WriteDataParams.empty()); + verify(netconfService).getConfig(iid2); + verify(netconfService).replace(LogicalDatastoreType.CONFIGURATION, iid2, payload.getData(), Optional.empty()); } @Test public void testPutLeafData() { - final InstanceIdentifierContext iidContext = - new InstanceIdentifierContext<>(iid, schemaNode, null, schema); + final InstanceIdentifierContext iidContext = + new InstanceIdentifierContext(iid, schemaNode, null, schema); final NormalizedNodePayload payload = NormalizedNodePayload.of(iidContext, buildLeaf); doReturn(readWrite).when(mockDataBroker).newReadWriteTransaction(); doReturn(read).when(mockDataBroker).newReadOnlyTransaction(); - doReturn(immediateFalseFluentFuture()) - .when(read).exists(LogicalDatastoreType.CONFIGURATION, iid); - doNothing().when(readWrite).put(LogicalDatastoreType.CONFIGURATION, - payload.getInstanceIdentifierContext().getInstanceIdentifier(), payload.getData()); + doReturn(immediateFalseFluentFuture()).when(read).exists(LogicalDatastoreType.CONFIGURATION, iid); + doNothing().when(readWrite).put(LogicalDatastoreType.CONFIGURATION, iid, payload.getData()); doReturn(CommitInfo.emptyFluentFuture()).when(readWrite).commit(); - PutDataTransactionUtil.putData(payload, schema, new MdsalRestconfStrategy(mockDataBroker), null, null); - verify(read).exists(LogicalDatastoreType.CONFIGURATION, - payload.getInstanceIdentifierContext().getInstanceIdentifier()); - verify(readWrite).put(LogicalDatastoreType.CONFIGURATION, - payload.getInstanceIdentifierContext().getInstanceIdentifier(), payload.getData()); + PutDataTransactionUtil.putData(payload, schema, new MdsalRestconfStrategy(mockDataBroker), + WriteDataParams.empty()); + verify(read).exists(LogicalDatastoreType.CONFIGURATION, iid); + verify(readWrite).put(LogicalDatastoreType.CONFIGURATION, iid, payload.getData()); } @Test public void testPutCreateLeafData() { - final InstanceIdentifierContext iidContext = - new InstanceIdentifierContext<>(iid, schemaNode, null, schema); + final InstanceIdentifierContext iidContext = + new InstanceIdentifierContext(iid, schemaNode, null, schema); final NormalizedNodePayload payload = NormalizedNodePayload.of(iidContext, buildLeaf); doReturn(immediateFluentFuture(Optional.empty())).when(netconfService).getConfig(iid); doReturn(Futures.immediateFuture(new DefaultDOMRpcResult())).when(netconfService).commit(); doReturn(Futures.immediateFuture(new DefaultDOMRpcResult())).when(netconfService) - .replace(LogicalDatastoreType.CONFIGURATION, - payload.getInstanceIdentifierContext().getInstanceIdentifier(), payload.getData(), Optional.empty()); + .replace(LogicalDatastoreType.CONFIGURATION, iid, payload.getData(), Optional.empty()); PutDataTransactionUtil.putData(payload, schema, new NetconfRestconfStrategy(netconfService), - null, null); - verify(netconfService).getConfig(payload.getInstanceIdentifierContext().getInstanceIdentifier()); - verify(netconfService).replace(LogicalDatastoreType.CONFIGURATION, - payload.getInstanceIdentifierContext().getInstanceIdentifier(), payload.getData(), Optional.empty()); + WriteDataParams.empty()); + verify(netconfService).getConfig(iid); + verify(netconfService).replace(LogicalDatastoreType.CONFIGURATION, iid, payload.getData(), Optional.empty()); } @Test public void testPutReplaceLeafData() { - final InstanceIdentifierContext iidContext = - new InstanceIdentifierContext<>(iid, schemaNode, null, schema); + final InstanceIdentifierContext iidContext = + new InstanceIdentifierContext(iid, schemaNode, null, schema); final NormalizedNodePayload payload = NormalizedNodePayload.of(iidContext, buildLeaf); - doReturn(immediateFluentFuture(Optional.of(mock(NormalizedNode.class)))) - .when(netconfService).getConfig(iid); + doReturn(immediateFluentFuture(Optional.of(mock(NormalizedNode.class)))).when(netconfService).getConfig(iid); doReturn(Futures.immediateFuture(new DefaultDOMRpcResult())).when(netconfService).commit(); doReturn(Futures.immediateFuture(new DefaultDOMRpcResult())).when(netconfService) - .replace(LogicalDatastoreType.CONFIGURATION, - payload.getInstanceIdentifierContext().getInstanceIdentifier(), payload.getData(), Optional.empty()); + .replace(LogicalDatastoreType.CONFIGURATION, iid, payload.getData(), Optional.empty()); - PutDataTransactionUtil.putData(payload, schema, - new NetconfRestconfStrategy(netconfService), null, null); - verify(netconfService).getConfig(payload.getInstanceIdentifierContext().getInstanceIdentifier()); - verify(netconfService).replace(LogicalDatastoreType.CONFIGURATION, - payload.getInstanceIdentifierContext().getInstanceIdentifier(), payload.getData(), Optional.empty()); + PutDataTransactionUtil.putData(payload, schema, new NetconfRestconfStrategy(netconfService), + WriteDataParams.empty()); + verify(netconfService).getConfig(iid); + verify(netconfService).replace(LogicalDatastoreType.CONFIGURATION, iid, payload.getData(), Optional.empty()); } @Test public void testPutListData() { - final InstanceIdentifierContext iidContext = - new InstanceIdentifierContext<>(iid2, schemaNode2, null, schema); + final InstanceIdentifierContext iidContext = + new InstanceIdentifierContext(iid2, schemaNode2, null, schema); final NormalizedNodePayload payload = NormalizedNodePayload.of(iidContext, buildBaseContWithList); doReturn(readWrite).when(mockDataBroker).newReadWriteTransaction(); doReturn(read).when(mockDataBroker).newReadOnlyTransaction(); doReturn(immediateFalseFluentFuture()) .when(read).exists(LogicalDatastoreType.CONFIGURATION, iid2); - doNothing().when(readWrite).put(LogicalDatastoreType.CONFIGURATION, - payload.getInstanceIdentifierContext().getInstanceIdentifier(), payload.getData()); + doNothing().when(readWrite).put(LogicalDatastoreType.CONFIGURATION, iid2, payload.getData()); doReturn(CommitInfo.emptyFluentFuture()).when(readWrite).commit(); - PutDataTransactionUtil.putData(payload, schema, new MdsalRestconfStrategy(mockDataBroker), null, null); + PutDataTransactionUtil.putData(payload, schema, new MdsalRestconfStrategy(mockDataBroker), + WriteDataParams.empty()); verify(read).exists(LogicalDatastoreType.CONFIGURATION, iid2); verify(readWrite).put(LogicalDatastoreType.CONFIGURATION, iid2, payload.getData()); } @Test public void testPutCreateListData() { - final InstanceIdentifierContext iidContext = - new InstanceIdentifierContext<>(iid2, schemaNode2, null, schema); + final InstanceIdentifierContext iidContext = + new InstanceIdentifierContext(iid2, schemaNode2, null, schema); final NormalizedNodePayload payload = NormalizedNodePayload.of(iidContext, buildBaseContWithList); doReturn(immediateFluentFuture(Optional.empty())).when(netconfService) @@ -363,7 +348,7 @@ public class PutDataTransactionUtilTest { .replace(LogicalDatastoreType.CONFIGURATION, iid2, payload.getData(), Optional.empty()); PutDataTransactionUtil.putData(payload, schema, new NetconfRestconfStrategy(netconfService), - null, null); + WriteDataParams.empty()); verify(netconfService).getConfig(iid2); verify(netconfService).replace(LogicalDatastoreType.CONFIGURATION, iid2, payload.getData(), Optional.empty()); @@ -371,8 +356,8 @@ public class PutDataTransactionUtilTest { @Test public void testPutReplaceListData() { - final InstanceIdentifierContext iidContext = - new InstanceIdentifierContext<>(iid2, schemaNode2, null, schema); + final InstanceIdentifierContext iidContext = + new InstanceIdentifierContext(iid2, schemaNode2, null, schema); final NormalizedNodePayload payload = NormalizedNodePayload.of(iidContext, buildBaseContWithList); doReturn(immediateFluentFuture(Optional.of(mock(NormalizedNode.class)))).when(netconfService) @@ -382,10 +367,9 @@ public class PutDataTransactionUtilTest { .replace(LogicalDatastoreType.CONFIGURATION, iid2, payload.getData(), Optional.empty()); - PutDataTransactionUtil.putData(payload, schema, - new NetconfRestconfStrategy(netconfService), null, null); + PutDataTransactionUtil.putData(payload, schema, new NetconfRestconfStrategy(netconfService), + WriteDataParams.empty()); verify(netconfService).getConfig(iid2); - verify(netconfService).replace(LogicalDatastoreType.CONFIGURATION, iid2, - payload.getData(), Optional.empty()); + verify(netconfService).replace(LogicalDatastoreType.CONFIGURATION, iid2, payload.getData(), Optional.empty()); } }