Switch default stream output to Magnesium
[controller.git] / opendaylight / md-sal / sal-binding-dom-it / src / test / java / org / opendaylight / controller / md / sal / binding / data / ConcurrentImplicitCreateTest.java
index cdf7fbc7f996498f62d736e5f9b0667b67ca29d7..1930e2b4c943574ae2e0d481eefbf4cfc7ef7c70 100644 (file)
@@ -7,25 +7,21 @@
  */
 package org.opendaylight.controller.md.sal.binding.data;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
 import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
 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.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
+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.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.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 org.opendaylight.yangtools.yang.common.RpcResult;
 
-/**
- * FIXME: THis test should be moved to sal-binding-broker and rewriten
- * to use new DataBroker API
- */
+// FIXME: THis test should be moved to sal-binding-broker and rewritten to use new DataBroker API
 public class ConcurrentImplicitCreateTest extends AbstractDataServiceTest {
 
     private static final TopLevelListKey FOO_KEY = new TopLevelListKey("foo");
@@ -35,25 +31,16 @@ public class ConcurrentImplicitCreateTest extends AbstractDataServiceTest {
     private static final InstanceIdentifier<TopLevelList> BAR_PATH = TOP_PATH.child(TopLevelList.class, BAR_KEY);
 
     @Test
-    public void testConcurrentCreate() throws InterruptedException, ExecutionException {
-
-        DataModificationTransaction fooTx = baDataService.beginTransaction();
-        DataModificationTransaction barTx = baDataService.beginTransaction();
-
-        fooTx.putOperationalData(FOO_PATH, new TopLevelListBuilder().setKey(FOO_KEY).build());
-        barTx.putOperationalData(BAR_PATH, new TopLevelListBuilder().setKey(BAR_KEY).build());
-
-        Future<RpcResult<TransactionStatus>> fooFuture = fooTx.commit();
-        Future<RpcResult<TransactionStatus>> barFuture = barTx.commit();
-
-        RpcResult<TransactionStatus> fooResult = fooFuture.get();
-        RpcResult<TransactionStatus> barResult = barFuture.get();
+    public void testConcurrentCreate() throws InterruptedException, ExecutionException, TimeoutException {
 
-        assertTrue(fooResult.isSuccessful());
-        assertTrue(barResult.isSuccessful());
+        DataBroker dataBroker = testContext.getDataBroker();
+        WriteTransaction fooTx = dataBroker.newWriteOnlyTransaction();
+        WriteTransaction barTx = dataBroker.newWriteOnlyTransaction();
 
-        assertEquals(TransactionStatus.COMMITED, fooResult.getResult());
-        assertEquals(TransactionStatus.COMMITED, barResult.getResult());
+        fooTx.put(LogicalDatastoreType.OPERATIONAL, FOO_PATH, new TopLevelListBuilder().withKey(FOO_KEY).build());
+        barTx.put(LogicalDatastoreType.OPERATIONAL, BAR_PATH, new TopLevelListBuilder().withKey(BAR_KEY).build());
 
+        fooTx.submit().get(5, TimeUnit.SECONDS);
+        barTx.submit().get(5, TimeUnit.SECONDS);
     }
 }