Bump MRI upstreams
[openflowplugin.git] / openflowplugin-impl / src / test / java / org / opendaylight / openflowplugin / impl / services / sal / SalFlowsBatchServiceImplTest.java
index 68413d99d6187bbf9277a0855db655c53f4c93eb..5825acd5a007d9803b9866cade4a94779ef297da 100644 (file)
@@ -8,7 +8,7 @@
 
 package org.opendaylight.openflowplugin.impl.services.sal;
 
-import com.google.common.collect.Lists;
+import java.util.Iterator;
 import java.util.List;
 import java.util.concurrent.Future;
 import org.junit.After;
@@ -22,7 +22,7 @@ import org.mockito.Captor;
 import org.mockito.InOrder;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.AddFlowInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.AddFlowOutput;
@@ -50,6 +50,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.flows.service.rev160314.add
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flows.service.rev160314.add.flows.batch.input.BatchAddFlowsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flows.service.rev160314.batch.flow.input.update.grouping.OriginalBatchedFlowBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flows.service.rev160314.batch.flow.input.update.grouping.UpdatedBatchedFlowBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.flows.service.rev160314.batch.flow.output.list.grouping.BatchFailedFlowsOutput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flows.service.rev160314.remove.flows.batch.input.BatchRemoveFlows;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flows.service.rev160314.remove.flows.batch.input.BatchRemoveFlowsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flows.service.rev160314.update.flows.batch.input.BatchUpdateFlows;
@@ -60,9 +61,12 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.opendaylight.yangtools.yang.common.RpcError;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
+import org.opendaylight.yangtools.yang.common.ErrorType;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
+import org.opendaylight.yangtools.yang.common.Uint16;
+import org.opendaylight.yangtools.yang.common.Uint8;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -95,7 +99,7 @@ public class SalFlowsBatchServiceImplTest {
     public static final String FLOW_ID_VALUE_2 = "ut-dummy-flow2";
 
     @Before
-    public void setUp() throws Exception {
+    public void setUp() {
         salFlowsBatchService = new SalFlowsBatchServiceImpl(salFlowService, transactionService);
 
         Mockito.when(transactionService.sendBarrier(ArgumentMatchers.any()))
@@ -103,7 +107,7 @@ public class SalFlowsBatchServiceImplTest {
     }
 
     @After
-    public void tearDown() throws Exception {
+    public void tearDown() {
         Mockito.verifyNoMoreInteractions(salFlowService, transactionService);
     }
 
@@ -121,7 +125,7 @@ public class SalFlowsBatchServiceImplTest {
         final RemoveFlowsBatchInput input = new RemoveFlowsBatchInputBuilder()
                 .setNode(NODE_REF)
                 .setBarrierAfter(true)
-                .setBatchRemoveFlows(Lists.newArrayList(batchFlow1, batchFlow2))
+                .setBatchRemoveFlows(BindingMap.ordered(batchFlow1, batchFlow2))
                 .build();
 
         final Future<RpcResult<RemoveFlowsBatchOutput>> resultFuture = salFlowsBatchService.removeFlowsBatch(input);
@@ -130,7 +134,7 @@ public class SalFlowsBatchServiceImplTest {
         final RpcResult<RemoveFlowsBatchOutput> rpcResult = resultFuture.get();
         Assert.assertTrue(rpcResult.isSuccessful());
         final RemoveFlowsBatchOutput result = rpcResult.getResult();
-        Assert.assertEquals(0, result.getBatchFailedFlowsOutput().size());
+        Assert.assertEquals(0, result.nonnullBatchFailedFlowsOutput().size());
 
         final InOrder inOrder = Mockito.inOrder(salFlowService, transactionService);
 
@@ -147,7 +151,7 @@ public class SalFlowsBatchServiceImplTest {
     public void testRemoveFlowsBatch_failed() throws Exception {
         Mockito.when(salFlowService.removeFlow(ArgumentMatchers.any()))
                 .thenReturn(RpcResultBuilder.<RemoveFlowOutput>failed()
-                        .withError(RpcError.ErrorType.APPLICATION, "flow-remove-fail-1")
+                        .withError(ErrorType.APPLICATION, "flow-remove-fail-1")
                         .buildFuture());
 
         final BatchRemoveFlows batchFlow1 = createEmptyBatchRemoveFlow(FLOW_ID_VALUE_1, 42);
@@ -156,7 +160,7 @@ public class SalFlowsBatchServiceImplTest {
         final RemoveFlowsBatchInput input = new RemoveFlowsBatchInputBuilder()
                 .setNode(NODE_REF)
                 .setBarrierAfter(true)
-                .setBatchRemoveFlows(Lists.newArrayList(batchFlow1, batchFlow2))
+                .setBatchRemoveFlows(BindingMap.ordered(batchFlow1, batchFlow2))
                 .build();
 
         final Future<RpcResult<RemoveFlowsBatchOutput>> resultFuture = salFlowsBatchService.removeFlowsBatch(input);
@@ -165,9 +169,10 @@ public class SalFlowsBatchServiceImplTest {
         final RpcResult<RemoveFlowsBatchOutput> rpcResult = resultFuture.get();
         Assert.assertFalse(rpcResult.isSuccessful());
         final RemoveFlowsBatchOutput result = rpcResult.getResult();
-        Assert.assertEquals(2, result.getBatchFailedFlowsOutput().size());
-        Assert.assertEquals(FLOW_ID_VALUE_1, result.getBatchFailedFlowsOutput().get(0).getFlowId().getValue());
-        Assert.assertEquals(FLOW_ID_VALUE_2, result.getBatchFailedFlowsOutput().get(1).getFlowId().getValue());
+        Iterator<BatchFailedFlowsOutput> iterator = result.nonnullBatchFailedFlowsOutput().values().iterator();
+        Assert.assertEquals(2, result.nonnullBatchFailedFlowsOutput().size());
+        Assert.assertEquals(FLOW_ID_VALUE_1, iterator.next().getFlowId().getValue());
+        Assert.assertEquals(FLOW_ID_VALUE_2, iterator.next().getFlowId().getValue());
 
         final InOrder inOrder = Mockito.inOrder(salFlowService, transactionService);
 
@@ -183,18 +188,18 @@ public class SalFlowsBatchServiceImplTest {
     private static BatchAddFlows createEmptyBatchAddFlow(final String flowIdValue, final int priority) {
         return new BatchAddFlowsBuilder()
                 .setFlowId(new FlowId(flowIdValue))
-                .setPriority(priority)
+                .setPriority(Uint16.valueOf(priority))
                 .setMatch(new MatchBuilder().build())
-                .setTableId((short) 0)
+                .setTableId(Uint8.ZERO)
                 .build();
     }
 
     private static BatchRemoveFlows createEmptyBatchRemoveFlow(final String flowIdValue, final int priority) {
         return new BatchRemoveFlowsBuilder()
                 .setFlowId(new FlowId(flowIdValue))
-                .setPriority(priority)
+                .setPriority(Uint16.valueOf(priority))
                 .setMatch(new MatchBuilder().build())
-                .setTableId((short) 0)
+                .setTableId(Uint8.ZERO)
                 .build();
     }
 
@@ -216,7 +221,7 @@ public class SalFlowsBatchServiceImplTest {
         final AddFlowsBatchInput input = new AddFlowsBatchInputBuilder()
                 .setNode(NODE_REF)
                 .setBarrierAfter(true)
-                .setBatchAddFlows(Lists.newArrayList(
+                .setBatchAddFlows(BindingMap.ordered(
                         createEmptyBatchAddFlow("ut-dummy-flow1", 42),
                         createEmptyBatchAddFlow("ut-dummy-flow2", 43)))
                 .build();
@@ -241,26 +246,26 @@ public class SalFlowsBatchServiceImplTest {
     public void testAddFlowsBatch_failed() throws Exception {
         Mockito.when(salFlowService.addFlow(ArgumentMatchers.any()))
                 .thenReturn(RpcResultBuilder
-                        .<AddFlowOutput>failed().withError(RpcError.ErrorType.APPLICATION, "ut-groupAddError")
+                        .<AddFlowOutput>failed().withError(ErrorType.APPLICATION, "ut-groupAddError")
                         .buildFuture());
 
         final AddFlowsBatchInput input = new AddFlowsBatchInputBuilder()
                 .setNode(NODE_REF)
                 .setBarrierAfter(true)
-                .setBatchAddFlows(Lists.newArrayList(
+                .setBatchAddFlows(BindingMap.ordered(
                         createEmptyBatchAddFlow(FLOW_ID_VALUE_1, 42),
                         createEmptyBatchAddFlow(FLOW_ID_VALUE_2, 43)))
                 .build();
 
         final Future<RpcResult<AddFlowsBatchOutput>> resultFuture = salFlowsBatchService.addFlowsBatch(input);
+        Iterator<BatchFailedFlowsOutput> iterator = resultFuture.get().getResult().nonnullBatchFailedFlowsOutput()
+                .values().iterator();
 
         Assert.assertTrue(resultFuture.isDone());
         Assert.assertFalse(resultFuture.get().isSuccessful());
-        Assert.assertEquals(2, resultFuture.get().getResult().getBatchFailedFlowsOutput().size());
-        Assert.assertEquals(FLOW_ID_VALUE_1,
-                resultFuture.get().getResult().getBatchFailedFlowsOutput().get(0).getFlowId().getValue());
-        Assert.assertEquals(FLOW_ID_VALUE_2,
-                resultFuture.get().getResult().getBatchFailedFlowsOutput().get(1).getFlowId().getValue());
+        Assert.assertEquals(2, resultFuture.get().getResult().nonnullBatchFailedFlowsOutput().size());
+        Assert.assertEquals(FLOW_ID_VALUE_1, iterator.next().getFlowId().getValue());
+        Assert.assertEquals(FLOW_ID_VALUE_2, iterator.next().getFlowId().getValue());
         Assert.assertEquals(2, resultFuture.get().getErrors().size());
 
         final InOrder inOrder = Mockito.inOrder(salFlowService, transactionService);
@@ -282,7 +287,7 @@ public class SalFlowsBatchServiceImplTest {
         final UpdateFlowsBatchInput input = new UpdateFlowsBatchInputBuilder()
                 .setNode(NODE_REF)
                 .setBarrierAfter(true)
-                .setBatchUpdateFlows(Lists.newArrayList(
+                .setBatchUpdateFlows(BindingMap.ordered(
                         createEmptyBatchUpdateFlow(FLOW_ID_VALUE_1, 42),
                         createEmptyBatchUpdateFlow(FLOW_ID_VALUE_2, 44)))
                 .build();
@@ -309,27 +314,27 @@ public class SalFlowsBatchServiceImplTest {
     public void testUpdateFlowsBatch_failure() throws Exception {
         Mockito.when(salFlowService.updateFlow(ArgumentMatchers.any()))
                 .thenReturn(RpcResultBuilder.<UpdateFlowOutput>failed()
-                        .withError(RpcError.ErrorType.APPLICATION, "ut-flowUpdateError")
+                        .withError(ErrorType.APPLICATION, "ut-flowUpdateError")
                         .buildFuture());
 
         final UpdateFlowsBatchInput input = new UpdateFlowsBatchInputBuilder()
                 .setNode(NODE_REF)
                 .setBarrierAfter(true)
-                .setBatchUpdateFlows(Lists.newArrayList(
+                .setBatchUpdateFlows(BindingMap.ordered(
                         createEmptyBatchUpdateFlow(FLOW_ID_VALUE_1, 42),
                         createEmptyBatchUpdateFlow(FLOW_ID_VALUE_2, 44)))
                 .build();
 
         final Future<RpcResult<UpdateFlowsBatchOutput>> resultFuture = salFlowsBatchService.updateFlowsBatch(input);
+        Iterator<BatchFailedFlowsOutput> iterator = resultFuture.get().getResult().nonnullBatchFailedFlowsOutput()
+                .values().iterator();
 
         Assert.assertTrue(resultFuture.isDone());
         Assert.assertFalse(resultFuture.get().isSuccessful());
         Assert.assertFalse(resultFuture.get().isSuccessful());
-        Assert.assertEquals(2, resultFuture.get().getResult().getBatchFailedFlowsOutput().size());
-        Assert.assertEquals(FLOW_ID_VALUE_1,
-                resultFuture.get().getResult().getBatchFailedFlowsOutput().get(0).getFlowId().getValue());
-        Assert.assertEquals(FLOW_ID_VALUE_2,
-                resultFuture.get().getResult().getBatchFailedFlowsOutput().get(1).getFlowId().getValue());
+        Assert.assertEquals(2, resultFuture.get().getResult().nonnullBatchFailedFlowsOutput().size());
+        Assert.assertEquals(FLOW_ID_VALUE_1, iterator.next().getFlowId().getValue());
+        Assert.assertEquals(FLOW_ID_VALUE_2, iterator.next().getFlowId().getValue());
         Assert.assertEquals(2, resultFuture.get().getErrors().size());
 
         final InOrder inOrder = Mockito.inOrder(salFlowService, transactionService);