bug 6579 removed boilerplate code
[ovsdb.git] / hwvtepsouthbound / hwvtepsouthbound-impl / src / test / java / org / opendaylight / ovsdb / hwvtepsouthbound / DataChangeListenerTestBase.java
index 79ba56f70e711e351a72fb744da214c2e0a1a937..08875c74a2adf8c38b92f79b972e42b726d7b358 100644 (file)
@@ -25,10 +25,12 @@ import org.opendaylight.ovsdb.hwvtepsouthbound.transactions.md.TransactionInvoke
 import org.opendaylight.ovsdb.hwvtepsouthbound.transactions.md.TransactionInvokerImpl;
 import org.opendaylight.ovsdb.lib.OvsdbClient;
 import org.opendaylight.ovsdb.lib.OvsdbConnectionInfo;
-import org.opendaylight.ovsdb.lib.operations.Comment;
+import org.opendaylight.ovsdb.lib.operations.Delete;
 import org.opendaylight.ovsdb.lib.operations.Insert;
 import org.opendaylight.ovsdb.lib.operations.OperationResult;
 import org.opendaylight.ovsdb.lib.operations.Operations;
+import org.opendaylight.ovsdb.lib.operations.Update;
+import org.opendaylight.ovsdb.lib.operations.Where;
 import org.opendaylight.ovsdb.lib.schema.DatabaseSchema;
 import org.opendaylight.ovsdb.lib.schema.typed.TypedBaseTable;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
@@ -180,12 +182,17 @@ public class DataChangeListenerTestBase extends AbstractDataBrokerTest {
      */
     void resetOperations() {
         insertOpCapture = ArgumentCaptor.forClass(TypedBaseTable.class);
+        Update update = mock(Update.class);
         Insert insert = mock(Insert.class);
+        Delete delete = mock(Delete.class);
+        Where where = mock(Where.class);
+        when(delete.where(any())).thenReturn(where);
         when(insert.withId(any(String.class))).thenReturn(insert);
         Operations.op = PowerMockito.mock(Operations.class);
-        when(Operations.op.comment(any(String.class))).thenReturn(mock(Comment.class));
         when(Operations.op.insert(insertOpCapture.capture())).thenReturn(insert);
-
+        when(Operations.op.update(insertOpCapture.capture())).thenReturn(update);
+        when(update.where(any())).thenReturn(where);
+        when(Operations.op.delete(any())).thenReturn(delete);
         ListenableFuture<List<OperationResult>> ft = mock(ListenableFuture.class);
         transactCaptor = ArgumentCaptor.forClass(List.class);
         when(ovsdbClient.transact(any(DatabaseSchema.class), transactCaptor.capture())).thenReturn(ft);
@@ -206,7 +213,7 @@ public class DataChangeListenerTestBase extends AbstractDataBrokerTest {
         tx.submit();
     }
 
-    void addData(LogicalDatastoreType logicalDatastoreType, Class<? extends DataObject> dataObject,
+    Node addData(LogicalDatastoreType logicalDatastoreType, Class<? extends DataObject> dataObject,
                  String[]... data) {
         NodeBuilder nodeBuilder = prepareNode(nodeIid);
         HwvtepGlobalAugmentationBuilder builder = new HwvtepGlobalAugmentationBuilder();
@@ -223,7 +230,43 @@ public class DataChangeListenerTestBase extends AbstractDataBrokerTest {
             TestBuilders.addRemoteMcastMacs(nodeIid, builder, data);
         }
         nodeBuilder.addAugmentation(HwvtepGlobalAugmentation.class, builder.build());
-        mergeNode(logicalDatastoreType, nodeIid, nodeBuilder);
+        return mergeNode(logicalDatastoreType, nodeIid, nodeBuilder);
+    }
+
+    void deleteData(LogicalDatastoreType logicalDatastoreType, Class<? extends DataObject> dataObject,
+                 String[]... data) {
+        NodeBuilder nodeBuilder = prepareNode(nodeIid);
+        ReadWriteTransaction tx = dataBroker.newReadWriteTransaction();
+        HwvtepGlobalAugmentationBuilder builder = new HwvtepGlobalAugmentationBuilder();
+        if (LogicalSwitches.class == dataObject) {
+            List<LogicalSwitches> logicalSwitches = TestBuilders.addLogicalSwitches(builder, data);
+
+            for (LogicalSwitches ls : logicalSwitches) {
+                InstanceIdentifier<LogicalSwitches> key = nodeIid.augmentation(HwvtepGlobalAugmentation.class).
+                        child(LogicalSwitches.class, ls.getKey());
+                tx.delete(logicalDatastoreType, key);
+            }
+        }
+        if (TerminationPoint.class == dataObject) {
+            TestBuilders.addGlobalTerminationPoints(nodeBuilder, nodeIid, data);
+        }
+        if (RemoteUcastMacs.class == dataObject) {
+            List<RemoteUcastMacs> macs = TestBuilders.addRemoteUcastMacs(nodeIid, builder, data);
+            for (RemoteUcastMacs mac : macs) {
+                InstanceIdentifier<RemoteUcastMacs> key = nodeIid.augmentation(HwvtepGlobalAugmentation.class).
+                        child(RemoteUcastMacs.class, mac.getKey());
+                tx.delete(logicalDatastoreType, key);
+            }
+        }
+        if (RemoteMcastMacs.class == dataObject) {
+            List<RemoteMcastMacs> macs = TestBuilders.addRemoteMcastMacs(nodeIid, builder, data);
+            for (RemoteMcastMacs mac : macs) {
+                InstanceIdentifier<RemoteMcastMacs> key = nodeIid.augmentation(HwvtepGlobalAugmentation.class).
+                        child(RemoteMcastMacs.class, mac.getKey());
+                tx.delete(logicalDatastoreType, key);
+            }
+        }
+        tx.submit();
     }
 
     NodeBuilder prepareNode(InstanceIdentifier<Node> iid) {