Correct Frontend{Client,History}Metadata deserialization
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / test / java / org / opendaylight / controller / cluster / datastore / LocalTransactionContextTest.java
index d319e0cae3478b577726471432ffdbaf312ff57c..48e40179845ded6ede7a9780194a015e169abdfa 100644 (file)
@@ -18,13 +18,17 @@ import com.google.common.util.concurrent.SettableFuture;
 import java.util.Optional;
 import org.junit.Before;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier;
+import org.opendaylight.controller.cluster.access.concepts.FrontendIdentifier;
+import org.opendaylight.controller.cluster.access.concepts.FrontendType;
+import org.opendaylight.controller.cluster.access.concepts.LocalHistoryIdentifier;
+import org.opendaylight.controller.cluster.access.concepts.MemberName;
+import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
 import org.opendaylight.controller.cluster.datastore.messages.DataExists;
 import org.opendaylight.controller.cluster.datastore.messages.ReadData;
-import org.opendaylight.controller.cluster.datastore.modification.DeleteModification;
-import org.opendaylight.controller.cluster.datastore.modification.MergeModification;
-import org.opendaylight.controller.cluster.datastore.modification.WriteModification;
 import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadTransaction;
 import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadWriteTransaction;
 import org.opendaylight.mdsal.dom.spi.store.DOMStoreWriteTransaction;
@@ -33,14 +37,10 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import scala.concurrent.Future;
 
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
 public class LocalTransactionContextTest {
-
-    @Mock
-    private OperationLimiter limiter;
-
     @Mock
     private DOMStoreReadWriteTransaction readWriteTransaction;
-
     @Mock
     private LocalTransactionReadySupport mockReadySupport;
 
@@ -48,16 +48,17 @@ public class LocalTransactionContextTest {
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        localTransactionContext = new LocalTransactionContext(readWriteTransaction, limiter.getIdentifier(),
-                mockReadySupport) {
+        final TransactionIdentifier txId = new TransactionIdentifier(new LocalHistoryIdentifier(ClientIdentifier.create(
+            FrontendIdentifier.create(MemberName.forName("member"), FrontendType.forName("type")), 0), 0), 0);
+
+        localTransactionContext = new LocalTransactionContext(readWriteTransaction, txId, mockReadySupport) {
             @Override
-            protected DOMStoreWriteTransaction getWriteDelegate() {
+            DOMStoreWriteTransaction getWriteDelegate() {
                 return readWriteTransaction;
             }
 
             @Override
-            protected DOMStoreReadTransaction getReadDelegate() {
+            DOMStoreReadTransaction getReadDelegate() {
                 return readWriteTransaction;
             }
         };
@@ -66,33 +67,30 @@ public class LocalTransactionContextTest {
     @Test
     public void testWrite() {
         YangInstanceIdentifier yangInstanceIdentifier = YangInstanceIdentifier.empty();
-        NormalizedNode<?, ?> normalizedNode = mock(NormalizedNode.class);
-        localTransactionContext.executeModification(new WriteModification(yangInstanceIdentifier, normalizedNode),
-            null);
+        NormalizedNode normalizedNode = mock(NormalizedNode.class);
+        localTransactionContext.executeWrite(yangInstanceIdentifier, normalizedNode, null);
         verify(readWriteTransaction).write(yangInstanceIdentifier, normalizedNode);
     }
 
     @Test
     public void testMerge() {
         YangInstanceIdentifier yangInstanceIdentifier = YangInstanceIdentifier.empty();
-        NormalizedNode<?, ?> normalizedNode = mock(NormalizedNode.class);
-        localTransactionContext.executeModification(new MergeModification(yangInstanceIdentifier, normalizedNode),
-            null);
+        NormalizedNode normalizedNode = mock(NormalizedNode.class);
+        localTransactionContext.executeMerge(yangInstanceIdentifier, normalizedNode, null);
         verify(readWriteTransaction).merge(yangInstanceIdentifier, normalizedNode);
     }
 
     @Test
     public void testDelete() {
         YangInstanceIdentifier yangInstanceIdentifier = YangInstanceIdentifier.empty();
-        localTransactionContext.executeModification(new DeleteModification(yangInstanceIdentifier), null);
+        localTransactionContext.executeDelete(yangInstanceIdentifier, null);
         verify(readWriteTransaction).delete(yangInstanceIdentifier);
     }
 
-
     @Test
     public void testRead() {
         YangInstanceIdentifier yangInstanceIdentifier = YangInstanceIdentifier.empty();
-        NormalizedNode<?, ?> normalizedNode = mock(NormalizedNode.class);
+        NormalizedNode normalizedNode = mock(NormalizedNode.class);
         doReturn(FluentFutures.immediateFluentFuture(Optional.of(normalizedNode))).when(readWriteTransaction)
             .read(yangInstanceIdentifier);
         localTransactionContext.executeRead(new ReadData(yangInstanceIdentifier, DataStoreVersions.CURRENT_VERSION),
@@ -124,14 +122,12 @@ public class LocalTransactionContextTest {
     @Test
     public void testReadyWithWriteError() {
         YangInstanceIdentifier yangInstanceIdentifier = YangInstanceIdentifier.empty();
-        NormalizedNode<?, ?> normalizedNode = mock(NormalizedNode.class);
+        NormalizedNode normalizedNode = mock(NormalizedNode.class);
         RuntimeException error = new RuntimeException("mock");
         doThrow(error).when(readWriteTransaction).write(yangInstanceIdentifier, normalizedNode);
 
-        localTransactionContext.executeModification(new WriteModification(yangInstanceIdentifier, normalizedNode),
-            null);
-        localTransactionContext.executeModification(new WriteModification(yangInstanceIdentifier, normalizedNode),
-            null);
+        localTransactionContext.executeWrite(yangInstanceIdentifier, normalizedNode, null);
+        localTransactionContext.executeWrite(yangInstanceIdentifier, normalizedNode, null);
 
         verify(readWriteTransaction).write(yangInstanceIdentifier, normalizedNode);
 
@@ -141,14 +137,12 @@ public class LocalTransactionContextTest {
     @Test
     public void testReadyWithMergeError() {
         YangInstanceIdentifier yangInstanceIdentifier = YangInstanceIdentifier.empty();
-        NormalizedNode<?, ?> normalizedNode = mock(NormalizedNode.class);
+        NormalizedNode normalizedNode = mock(NormalizedNode.class);
         RuntimeException error = new RuntimeException("mock");
         doThrow(error).when(readWriteTransaction).merge(yangInstanceIdentifier, normalizedNode);
 
-        localTransactionContext.executeModification(new MergeModification(yangInstanceIdentifier, normalizedNode),
-            null);
-        localTransactionContext.executeModification(new MergeModification(yangInstanceIdentifier, normalizedNode),
-            null);
+        localTransactionContext.executeMerge(yangInstanceIdentifier, normalizedNode, null);
+        localTransactionContext.executeMerge(yangInstanceIdentifier, normalizedNode, null);
 
         verify(readWriteTransaction).merge(yangInstanceIdentifier, normalizedNode);
 
@@ -161,8 +155,8 @@ public class LocalTransactionContextTest {
         RuntimeException error = new RuntimeException("mock");
         doThrow(error).when(readWriteTransaction).delete(yangInstanceIdentifier);
 
-        localTransactionContext.executeModification(new DeleteModification(yangInstanceIdentifier), null);
-        localTransactionContext.executeModification(new DeleteModification(yangInstanceIdentifier), null);
+        localTransactionContext.executeDelete(yangInstanceIdentifier, null);
+        localTransactionContext.executeDelete(yangInstanceIdentifier, null);
 
         verify(readWriteTransaction).delete(yangInstanceIdentifier);