X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fbinding%2Ftest%2Fconnect%2Fdom%2FBrokerIntegrationTest.java;h=e326fd093116d4e7d3d45f5ba046c0bffb5f28a4;hb=0f14bf97fb20a4d506a7ed4826b2a6ed3b9ebeab;hp=0448238665dc0cbb7ea9f31d3f69ee3353b05f9f;hpb=d04486e64562956fd518cc35225a924f65cb1c69;p=controller.git diff --git a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/BrokerIntegrationTest.java b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/BrokerIntegrationTest.java index 0448238665..e326fd0931 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/BrokerIntegrationTest.java +++ b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/BrokerIntegrationTest.java @@ -4,19 +4,16 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; -import java.util.concurrent.Executors; + import java.util.concurrent.Future; -import org.junit.Before; + import org.junit.Test; import org.opendaylight.controller.md.sal.common.api.TransactionStatus; import org.opendaylight.controller.sal.binding.api.data.DataModificationTransaction; -import org.opendaylight.controller.sal.binding.api.data.DataProviderService; -import org.opendaylight.controller.sal.binding.impl.DataBrokerImpl; -import org.opendaylight.controller.sal.binding.impl.connect.dom.BindingIndependentDataServiceConnector; -import org.opendaylight.controller.sal.binding.impl.connect.dom.MappingServiceImpl; -import org.opendaylight.controller.sal.core.api.data.DataBrokerService; -import org.opendaylight.controller.sal.dom.broker.impl.HashMapDataStore; + +import org.opendaylight.controller.sal.binding.test.AbstractDataServiceTest; + import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeRef; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes; @@ -27,106 +24,87 @@ import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.RpcResult; -import com.google.common.util.concurrent.ListeningExecutorService; -import com.google.common.util.concurrent.MoreExecutors; - -public class BrokerIntegrationTest { - - DataBrokerService biDataService; - DataProviderService baDataService; - private MappingServiceImpl mappingServiceImpl; - private MappingServiceImpl mappingService; - private DataBrokerImpl baDataImpl; - private org.opendaylight.controller.sal.dom.broker.DataBrokerImpl biDataImpl; - private ListeningExecutorService executor; - private BindingIndependentDataServiceConnector connectorServiceImpl; - private HashMapDataStore dataStore; - - - @Before - public void setUp() { - executor = MoreExecutors.sameThreadExecutor(); - baDataImpl = new DataBrokerImpl(); - baDataService = baDataImpl; - baDataImpl.setExecutor(executor); - - biDataImpl = new org.opendaylight.controller.sal.dom.broker.DataBrokerImpl(); - biDataService = biDataImpl; - biDataImpl.setExecutor(executor); - - dataStore = new HashMapDataStore(); - org.opendaylight.yangtools.yang.data.api.InstanceIdentifier treeRoot = org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.builder().toInstance(); - biDataImpl.registerConfigurationReader(treeRoot, dataStore); - biDataImpl.registerOperationalReader(treeRoot, dataStore); - biDataImpl.registerCommitHandler(treeRoot, dataStore); - - mappingServiceImpl = new MappingServiceImpl(); - mappingService = mappingServiceImpl; - - - connectorServiceImpl = new BindingIndependentDataServiceConnector(); - connectorServiceImpl.setBaDataService(baDataService); - connectorServiceImpl.setBiDataService(biDataService); - connectorServiceImpl.setMappingService(mappingServiceImpl); - connectorServiceImpl.start(); - - String[] yangFiles = new String[] { "yang-ext.yang", "ietf-inet-types.yang", "ietf-yang-types.yang", - "node-inventory.yang" }; - - mappingService.onGlobalContextUpdated(MappingServiceTest.getContext(yangFiles)); - } - +public class BrokerIntegrationTest extends AbstractDataServiceTest { + @Test public void simpleModifyOperation() throws Exception { - - DataModificationTransaction transaction = baDataService.beginTransaction(); - assertNotNull(transaction); - + NodeRef node1 = createNodeRef("0"); - DataObject node = baDataService.readConfigurationData(node1.getValue()); + DataObject node = baDataService.readConfigurationData(node1.getValue()); assertNull(node); Node nodeData1 = createNode("0"); - + + DataModificationTransaction transaction = baDataService.beginTransaction(); transaction.putConfigurationData(node1.getValue(), nodeData1); Future> commitResult = transaction.commit(); assertNotNull(commitResult); - + RpcResult result = commitResult.get(); - + assertNotNull(result); assertNotNull(result.getResult()); assertEquals(TransactionStatus.COMMITED, result.getResult()); - + Node readedData = (Node) baDataService.readConfigurationData(node1.getValue()); assertNotNull(readedData); assertEquals(nodeData1.getKey(), readedData.getKey()); - - - DataModificationTransaction transaction2 = baDataService.beginTransaction(); - assertNotNull(transaction); - - transaction2.removeConfigurationData(node1.getValue()); - - Future> commitResult2 = transaction2.commit(); - assertNotNull(commitResult2); - - RpcResult result2 = commitResult2.get(); - + + NodeRef nodeFoo = createNodeRef("foo"); + NodeRef nodeBar = createNodeRef("bar"); + Node nodeFooData = createNode("foo"); + Node nodeBarData = createNode("bar"); + + DataModificationTransaction insertMoreTr = baDataService.beginTransaction(); + insertMoreTr.putConfigurationData(nodeFoo.getValue(), nodeFooData); + insertMoreTr.putConfigurationData(nodeBar.getValue(), nodeBarData); + RpcResult result2 = insertMoreTr.commit().get(); + assertNotNull(result2); assertNotNull(result2.getResult()); + assertEquals(TransactionStatus.COMMITED, result.getResult()); + + Nodes allNodes = (Nodes) baDataService.readConfigurationData(InstanceIdentifier.builder(Nodes.class) + .toInstance()); + assertNotNull(allNodes); + assertNotNull(allNodes.getNode()); + assertEquals(3, allNodes.getNode().size()); + + /** + * We create transaction no 2 + * + */ + DataModificationTransaction removalTransaction = baDataService.beginTransaction(); + assertNotNull(transaction); + + /** + * We remove node 1 + * + */ + removalTransaction.removeConfigurationData(node1.getValue()); + + /** + * We commit transaction + */ + Future> commitResult2 = removalTransaction.commit(); + assertNotNull(commitResult2); + + RpcResult result3 = commitResult2.get(); + + assertNotNull(result3); + assertNotNull(result3.getResult()); assertEquals(TransactionStatus.COMMITED, result2.getResult()); - + DataObject readedData2 = baDataService.readConfigurationData(node1.getValue()); assertNull(readedData2); } - + private static NodeRef createNodeRef(String string) { NodeKey key = new NodeKey(new NodeId(string)); - InstanceIdentifier path = InstanceIdentifier.builder().node(Nodes.class).node(Node.class, key) + InstanceIdentifier path = InstanceIdentifier.builder(Nodes.class).child(Node.class, key) .toInstance(); return new NodeRef(path); } - + private static Node createNode(String string) { NodeBuilder ret = new NodeBuilder(); ret.setId(new NodeId(string));