X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fbinding%2Fimpl%2Ftest%2FWriteTransactionTest.java;h=5d19d04ddcf54624a062093f5e0d857730abfad6;hp=ad6e1a77cea9c5294852fe7524c5ef6606c65d95;hb=8a8de0bffed5b6c9b4ac821dfafa7e944c70ef9d;hpb=156015d027bd716b16b37ec90e129a603d59c477 diff --git a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/md/sal/binding/impl/test/WriteTransactionTest.java b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/md/sal/binding/impl/test/WriteTransactionTest.java index ad6e1a77ce..5d19d04ddc 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/md/sal/binding/impl/test/WriteTransactionTest.java +++ b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/md/sal/binding/impl/test/WriteTransactionTest.java @@ -7,48 +7,65 @@ */ package org.opendaylight.controller.md.sal.binding.impl.test; -import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; import java.util.concurrent.ExecutionException; import org.junit.Test; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction; import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; -import org.opendaylight.controller.md.sal.common.api.TransactionStatus; +import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -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.Nodes; -import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodesBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node; -import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey; +import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.list.rev140701.Top; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.list.rev140701.TopBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.list.rev140701.two.level.list.TopLevelList; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.list.rev140701.two.level.list.TopLevelListBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.list.rev140701.two.level.list.TopLevelListKey; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import com.google.common.base.Optional; -public class WriteTransactionTest extends AbstractDataServiceTest { - private DataBroker dataBroker; +public class WriteTransactionTest extends AbstractConcurrentDataBrokerTest { - private static final InstanceIdentifier NODES_PATH = InstanceIdentifier.create(Nodes.class); + private static final InstanceIdentifier TOP_PATH = InstanceIdentifier.create(Top.class); + private static final TopLevelListKey TOP_LIST_KEY = new TopLevelListKey("foo"); + private static final InstanceIdentifier NODE_PATH = TOP_PATH.child(TopLevelList.class, TOP_LIST_KEY); + private static final TopLevelList NODE = new TopLevelListBuilder().setKey(TOP_LIST_KEY).build(); - private static final NodeKey NODE_KEY = new NodeKey(new NodeId("foo")); - - private static final InstanceIdentifier NODE_PATH = NODES_PATH.child(Node.class, NODE_KEY); + @Test + public void test() throws InterruptedException, ExecutionException { + WriteTransaction writeTx = getDataBroker().newWriteOnlyTransaction(); + writeTx.put(LogicalDatastoreType.OPERATIONAL, TOP_PATH, new TopBuilder().build()); + writeTx.put(LogicalDatastoreType.OPERATIONAL, NODE_PATH, NODE); + writeTx.submit().get(); + } - @Override - public void setUp() { - super.setUp(); + @Test + public void testPutCreateParentsSuccess() throws TransactionCommitFailedException, InterruptedException, ExecutionException { + WriteTransaction writeTx = getDataBroker().newWriteOnlyTransaction(); + writeTx.put(LogicalDatastoreType.OPERATIONAL, NODE_PATH, NODE,true); + writeTx.submit().checkedGet(); - dataBroker = testContext.getDataBroker(); + ReadOnlyTransaction readTx = getDataBroker().newReadOnlyTransaction(); + Optional topNode = readTx.read(LogicalDatastoreType.OPERATIONAL, TOP_PATH).get(); + assertTrue("Top node must exists after commit",topNode.isPresent()); + Optional listNode = readTx.read(LogicalDatastoreType.OPERATIONAL, NODE_PATH).get(); + assertTrue("List node must exists after commit",listNode.isPresent()); } @Test - public void test() throws InterruptedException, ExecutionException { - WriteTransaction writeTx = dataBroker.newWriteOnlyTransaction(); - writeTx.put(LogicalDatastoreType.OPERATIONAL, NODES_PATH, new NodesBuilder().build()); - writeTx.put(LogicalDatastoreType.OPERATIONAL, NODE_PATH, new NodeBuilder().setKey(NODE_KEY).build()); - assertEquals(TransactionStatus.COMMITED, writeTx.commit().get().getResult()); + public void testMergeCreateParentsSuccess() throws TransactionCommitFailedException, InterruptedException, ExecutionException { + WriteTransaction writeTx = getDataBroker().newWriteOnlyTransaction(); + writeTx.merge(LogicalDatastoreType.OPERATIONAL, NODE_PATH, NODE,true); + writeTx.submit().checkedGet(); + + ReadOnlyTransaction readTx = getDataBroker().newReadOnlyTransaction(); + Optional topNode = readTx.read(LogicalDatastoreType.OPERATIONAL, TOP_PATH).get(); + assertTrue("Top node must exists after commit",topNode.isPresent()); + Optional listNode = readTx.read(LogicalDatastoreType.OPERATIONAL, NODE_PATH).get(); + assertTrue("List node must exists after commit",listNode.isPresent()); } }