OPNFLWPLUG-1032: Neon-MRI: Bump odlparent, yangtools, mdsal
[openflowplugin.git] / applications / bulk-o-matic / src / test / java / org / opendaylight / openflowplugin / applications / bulk / o / matic / SalBulkFlowServiceImplTest.java
index f8c564d1775a07656a036cfee0ce5e9f1606c574..f68501acdf564618864a1a688b5b9bdeb03bbd90 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2016 Cisco Systems, Inc. and others.  All rights reserved.
+ * Copyright (c) 2016, 2017 Cisco Systems, Inc. and others.  All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
@@ -14,16 +14,16 @@ import static org.mockito.Mockito.when;
 
 import com.google.common.base.Optional;
 import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.concurrent.Future;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
+import org.mockito.ArgumentMatchers;
 import org.mockito.Captor;
-import org.mockito.Matchers;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.runners.MockitoJUnitRunner;
@@ -39,10 +39,12 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.bulk.flow.service.rev150608
 import org.opendaylight.yang.gen.v1.urn.opendaylight.bulk.flow.service.rev150608.FlowRpcAddMultipleInputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.bulk.flow.service.rev150608.FlowRpcAddTestInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.bulk.flow.service.rev150608.FlowRpcAddTestInputBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.bulk.flow.service.rev150608.FlowRpcAddTestOutput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.bulk.flow.service.rev150608.FlowTestInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.bulk.flow.service.rev150608.FlowTestInputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.bulk.flow.service.rev150608.ReadFlowTestInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.bulk.flow.service.rev150608.ReadFlowTestInputBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.bulk.flow.service.rev150608.ReadFlowTestOutput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.bulk.flow.service.rev150608.RemoveFlowsDsInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.bulk.flow.service.rev150608.RemoveFlowsDsInputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.bulk.flow.service.rev150608.RemoveFlowsRpcInput;
@@ -83,9 +85,9 @@ public class SalBulkFlowServiceImplTest {
     @Mock
     private SalFlowService mockSalFlowService;
     @Mock
-    private WriteTransaction wTx;
+    private WriteTransaction writeTransaction;
     @Mock
-    private ReadOnlyTransaction rTx;
+    private ReadOnlyTransaction readOnlyTransaction;
     @Mock
     private Nodes mockNodes;
     @Mock
@@ -97,20 +99,20 @@ public class SalBulkFlowServiceImplTest {
 
     @Before
     public void setUp() throws Exception {
-        when(mockDataBroker.newWriteOnlyTransaction()).thenReturn(wTx);
-        when(mockDataBroker.newReadOnlyTransaction()).thenReturn(rTx);
-        when(rTx.read(Mockito.any(LogicalDatastoreType.class), Mockito.<InstanceIdentifier<Node>>any()))
+        when(mockDataBroker.newWriteOnlyTransaction()).thenReturn(writeTransaction);
+        when(mockDataBroker.newReadOnlyTransaction()).thenReturn(readOnlyTransaction);
+        Mockito.lenient().when(readOnlyTransaction.read(Mockito.any(LogicalDatastoreType.class),
+                Mockito.<InstanceIdentifier<Node>>any()))
                 .thenReturn(Futures.immediateCheckedFuture(Optional.of(mockNode)));
         salBulkFlowService = new SalBulkFlowServiceImpl(mockSalFlowService, mockDataBroker);
     }
 
     @Test
     public void testAddRemoveFlowsDs() throws Exception {
-        Mockito.when(wTx.submit()).thenReturn(Futures.immediateCheckedFuture(null));
+        Mockito.when(writeTransaction.submit()).thenReturn(Futures.immediateCheckedFuture(null));
 
-        final BulkFlowDsItemBuilder bulkFlowDsItemBuilder = new BulkFlowDsItemBuilder()
-            .setFlowId(new FlowId("1"))
-            .setTableId((short)2);
+        final BulkFlowDsItemBuilder bulkFlowDsItemBuilder = new BulkFlowDsItemBuilder().setFlowId(new FlowId("1"))
+                .setTableId((short) 2);
 
         final InstanceIdentifier<Node> nodeId = BulkOMaticUtils.getFlowCapableNodeId("1");
         bulkFlowDsItemBuilder.setNode(new NodeRef(nodeId));
@@ -125,8 +127,10 @@ public class SalBulkFlowServiceImplTest {
         final AddFlowsDsInput addFlowsDsInput = addFlowsDsInputBuilder.build();
         salBulkFlowService.addFlowsDs(addFlowsDsInput);
 
-        verify(wTx).submit();
-        verify(wTx).put(Matchers.<LogicalDatastoreType>any(), Matchers.<InstanceIdentifier<Flow>>any(), flowArgumentCaptor.capture(), Mockito.anyBoolean());
+        verify(writeTransaction).submit();
+        verify(writeTransaction).put(ArgumentMatchers.<LogicalDatastoreType>any(),
+                ArgumentMatchers.<InstanceIdentifier<Flow>>any(),
+                flowArgumentCaptor.capture(), Mockito.anyBoolean());
 
         Flow flow = flowArgumentCaptor.getValue();
         Assert.assertEquals("1", flow.getId().getValue());
@@ -138,16 +142,17 @@ public class SalBulkFlowServiceImplTest {
         final RemoveFlowsDsInput removeFlowsDsInput = removeFlowsDsInputBuilder.build();
 
         salBulkFlowService.removeFlowsDs(removeFlowsDsInput);
-        verify(wTx).delete(Matchers.<LogicalDatastoreType>any(), Matchers.<InstanceIdentifier<Flow>>any());
-        verify(wTx,times(2)).submit();
+        verify(writeTransaction).delete(ArgumentMatchers.<LogicalDatastoreType>any(),
+                ArgumentMatchers.<InstanceIdentifier<Flow>>any());
+        verify(writeTransaction, times(2)).submit();
     }
 
     @Test
     public void testAddRemoveFlowsRpc() throws Exception {
-        Mockito.when(mockSalFlowService.addFlow(Matchers.<AddFlowInput>any()))
+        Mockito.when(mockSalFlowService.addFlow(ArgumentMatchers.<AddFlowInput>any()))
                 .thenReturn(RpcResultBuilder.success(new AddFlowOutputBuilder().build()).buildFuture());
 
-        Mockito.when(mockSalFlowService.removeFlow(Matchers.<RemoveFlowInput>any()))
+        Mockito.when(mockSalFlowService.removeFlow(ArgumentMatchers.<RemoveFlowInput>any()))
                 .thenReturn(RpcResultBuilder.success(new RemoveFlowOutputBuilder().build()).buildFuture());
 
         final BulkFlowItemBuilder bulkFlowItemBuilder = new BulkFlowItemBuilder();
@@ -164,7 +169,7 @@ public class SalBulkFlowServiceImplTest {
         final AddFlowsRpcInput addFlowsRpcInput = addFlowsRpcInputBuilder.build();
         salBulkFlowService.addFlowsRpc(addFlowsRpcInput);
 
-        verify(mockSalFlowService).addFlow(Matchers.<AddFlowInput>any());
+        verify(mockSalFlowService).addFlow(ArgumentMatchers.<AddFlowInput>any());
 
         final RemoveFlowsRpcInputBuilder removeFlowsRpcInputBuilder = new RemoveFlowsRpcInputBuilder();
         removeFlowsRpcInputBuilder.setBulkFlowItem(bulkFlowItems);
@@ -172,55 +177,42 @@ public class SalBulkFlowServiceImplTest {
         final RemoveFlowsRpcInput removeFlowsRpcInput = removeFlowsRpcInputBuilder.build();
         salBulkFlowService.removeFlowsRpc(removeFlowsRpcInput);
 
-        verify(mockSalFlowService).removeFlow(Matchers.<RemoveFlowInput>any());
+        verify(mockSalFlowService).removeFlow(ArgumentMatchers.<RemoveFlowInput>any());
     }
 
     @Test
     public void testReadFlowTest() throws Exception {
-        final ReadFlowTestInputBuilder readFlowTestInputBuilder = new ReadFlowTestInputBuilder()
-            .setDpnCount(1L)
-            .setStartTableId(1L)
-            .setEndTableId(2L)
-            .setIsConfigDs(false)
-            .setFlowsPerDpn(1L)
-            .setVerbose(true);
+        final ReadFlowTestInputBuilder readFlowTestInputBuilder = new ReadFlowTestInputBuilder().setDpnCount(1L)
+                .setStartTableId(1L).setEndTableId(2L).setIsConfigDs(false).setFlowsPerDpn(1L).setVerbose(true);
 
         final ReadFlowTestInput readFlowTestInput = readFlowTestInputBuilder.build();
-        final Future<RpcResult<Void>> resultFuture = salBulkFlowService.readFlowTest(readFlowTestInput);
+        final ListenableFuture<RpcResult<ReadFlowTestOutput>> resultFuture
+                = salBulkFlowService.readFlowTest(readFlowTestInput);
 
         Assert.assertTrue(resultFuture.get().isSuccessful());
     }
 
     @Test
     public void testFlowRpcAddTest() throws Exception {
-        when(rTx.read(Mockito.any(LogicalDatastoreType.class), Mockito.<InstanceIdentifier<Nodes>>any()))
-                .thenReturn(Futures.immediateCheckedFuture(Optional.of(mockNodes)));
+        when(readOnlyTransaction.read(Mockito.any(LogicalDatastoreType.class),
+                Mockito.<InstanceIdentifier<Nodes>>any()))
+                        .thenReturn(Futures.immediateCheckedFuture(Optional.of(mockNodes)));
 
-        final FlowRpcAddTestInputBuilder flowRpcAddTestInputBuilder = new FlowRpcAddTestInputBuilder()
-                .setFlowCount(1L)
-                .setDpnId("1")
-                .setRpcBatchSize(1L);
+        final FlowRpcAddTestInputBuilder flowRpcAddTestInputBuilder = new FlowRpcAddTestInputBuilder().setFlowCount(1L)
+                .setDpnId("1").setRpcBatchSize(1L);
 
         final FlowRpcAddTestInput flowRpcAddTestInput = flowRpcAddTestInputBuilder.build();
-        final Future<RpcResult<Void>> resultFuture = salBulkFlowService.flowRpcAddTest(flowRpcAddTestInput);
+        final ListenableFuture<RpcResult<FlowRpcAddTestOutput>> resultFuture
+                = salBulkFlowService.flowRpcAddTest(flowRpcAddTestInput);
 
         Assert.assertTrue(resultFuture.get().isSuccessful());
     }
 
     @Test
     public void testFlowTest() throws Exception {
-        final FlowTestInputBuilder flowTestInputBuilder = new FlowTestInputBuilder()
-                .setBatchSize(1L)
-                .setDpnCount(1L)
-                .setEndTableId(2L)
-                .setFlowsPerDpn(1L)
-                .setIsAdd(true)
-                .setSeq(true)
-                .setSleepAfter(20L)
-                .setSleepFor(1L)
-                .setStartTableId(1L)
-                .setTxChain(true)
-                .setCreateParents(true);
+        final FlowTestInputBuilder flowTestInputBuilder = new FlowTestInputBuilder().setBatchSize(1L).setDpnCount(1L)
+                .setEndTableId(2L).setFlowsPerDpn(1L).setIsAdd(true).setSeq(true).setSleepAfter(20L).setSleepFor(1L)
+                .setStartTableId(1L).setTxChain(true).setCreateParents(true);
 
         FlowTestInput flowTestInput = flowTestInputBuilder.build();
 
@@ -254,12 +246,12 @@ public class SalBulkFlowServiceImplTest {
 
     @Test
     public void testFlowRpcAddMultiple() throws Exception {
-        when(rTx.read(Mockito.any(LogicalDatastoreType.class), Mockito.<InstanceIdentifier<Nodes>>any()))
-                .thenReturn(Futures.immediateCheckedFuture(Optional.of(mockNodes)));
+        when(readOnlyTransaction.read(Mockito.any(LogicalDatastoreType.class),
+                Mockito.<InstanceIdentifier<Nodes>>any()))
+                        .thenReturn(Futures.immediateCheckedFuture(Optional.of(mockNodes)));
 
         final FlowRpcAddMultipleInputBuilder flowRpcAddMultipleInputBuilder = new FlowRpcAddMultipleInputBuilder()
-                .setFlowCount(1L)
-                .setRpcBatchSize(1L);
+                .setFlowCount(1L).setRpcBatchSize(1L);
 
         final FlowRpcAddMultipleInput flowRpcAddMultipleInput = flowRpcAddMultipleInputBuilder.build();
 
@@ -268,11 +260,8 @@ public class SalBulkFlowServiceImplTest {
 
     @Test
     public void testTableTest() throws Exception {
-        final TableTestInputBuilder tableTestInputBuilder = new TableTestInputBuilder()
-                .setStartTableId(0L)
-                .setEndTableId(99L)
-                .setDpnCount(1L)
-                .setOperation(Operation.Add);
+        final TableTestInputBuilder tableTestInputBuilder = new TableTestInputBuilder().setStartTableId(0L)
+                .setEndTableId(99L).setDpnCount(1L).setOperation(Operation.Add);
 
         TableTestInput tableTestInput = tableTestInputBuilder.build();
 
@@ -283,4 +272,4 @@ public class SalBulkFlowServiceImplTest {
 
         Assert.assertTrue(salBulkFlowService.tableTest(tableTestInput).get().isSuccessful());
     }
-}
\ No newline at end of file
+}