package org.opendaylight.openflowplugin.impl.services.sal;
+import static org.mockito.ArgumentMatchers.any;
+
import com.google.common.collect.Lists;
+import java.util.Iterator;
import java.util.List;
import java.util.concurrent.Future;
import org.junit.After;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
+import org.mockito.ArgumentMatchers;
import org.mockito.Captor;
import org.mockito.InOrder;
-import org.mockito.Matchers;
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.transaction.rev150304.FlowCapableTransactionService;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.transaction.rev150304.SendBarrierInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.transaction.rev150304.SendBarrierOutput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeRef;
import org.opendaylight.yang.gen.v1.urn.opendaylight.meters.service.rev160316.add.meters.batch.input.BatchAddMetersBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.meters.service.rev160316.batch.meter.input.update.grouping.OriginalBatchedMeterBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.meters.service.rev160316.batch.meter.input.update.grouping.UpdatedBatchedMeterBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.meters.service.rev160316.batch.meter.output.list.grouping.BatchFailedMetersOutput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.meters.service.rev160316.remove.meters.batch.input.BatchRemoveMeters;
import org.opendaylight.yang.gen.v1.urn.opendaylight.meters.service.rev160316.remove.meters.batch.input.BatchRemoveMetersBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.meters.service.rev160316.update.meters.batch.input.BatchUpdateMeters;
import org.opendaylight.yang.gen.v1.urn.opendaylight.meters.service.rev160316.update.meters.batch.input.BatchUpdateMetersBuilder;
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.Uint32;
/**
* Test for {@link org.opendaylight.openflowplugin.impl.services.sal.SalMetersBatchServiceImpl}.
private SalMetersBatchServiceImpl salMetersBatchService;
@Before
- public void setUp() throws Exception {
+ public void setUp() {
salMetersBatchService = new SalMetersBatchServiceImpl(salMeterService, transactionService);
- Mockito.when(transactionService.sendBarrier(Matchers.any()))
+ Mockito.when(transactionService.sendBarrier(any()))
.thenReturn(RpcResultBuilder.<SendBarrierOutput>success().buildFuture());
}
@After
- public void tearDown() throws Exception {
+ public void tearDown() {
Mockito.verifyNoMoreInteractions(salMeterService, transactionService);
}
@Test
public void testUpdateMetersBatch_success() throws Exception {
- Mockito.when(salMeterService.updateMeter(Mockito.<UpdateMeterInput>any()))
+ Mockito.when(salMeterService.updateMeter(Mockito.any()))
.thenReturn(RpcResultBuilder.success(new UpdateMeterOutputBuilder().build()).buildFuture());
final UpdateMetersBatchInput input = new UpdateMetersBatchInputBuilder()
Assert.assertEquals(44, allValues.get(1).getOriginalMeter().getMeterId().getValue().longValue());
Assert.assertEquals(45, allValues.get(1).getUpdatedMeter().getMeterId().getValue().longValue());
- inOrder.verify(transactionService).sendBarrier(Matchers.<SendBarrierInput>any());
+ inOrder.verify(transactionService).sendBarrier(ArgumentMatchers.any());
}
@Test
public void testUpdateMetersBatch_failure() throws Exception {
- Mockito.when(salMeterService.updateMeter(Mockito.<UpdateMeterInput>any()))
+ Mockito.when(salMeterService.updateMeter(Mockito.any()))
.thenReturn(RpcResultBuilder.<UpdateMeterOutput>failed()
- .withError(RpcError.ErrorType.APPLICATION, "ur-groupUpdateError")
+ .withError(ErrorType.APPLICATION, "ur-groupUpdateError")
.buildFuture());
final UpdateMetersBatchInput input = new UpdateMetersBatchInputBuilder()
.build();
final Future<RpcResult<UpdateMetersBatchOutput>> resultFuture = salMetersBatchService.updateMetersBatch(input);
+ Iterator<BatchFailedMetersOutput> iterator = resultFuture.get().getResult().nonnullBatchFailedMetersOutput()
+ .values().iterator();
Assert.assertTrue(resultFuture.isDone());
Assert.assertFalse(resultFuture.get().isSuccessful());
- Assert.assertEquals(2, resultFuture.get().getResult().getBatchFailedMetersOutput().size());
- Assert.assertEquals(43L,
- resultFuture.get().getResult().getBatchFailedMetersOutput().get(0).getMeterId().getValue().longValue());
- Assert.assertEquals(45L,
- resultFuture.get().getResult().getBatchFailedMetersOutput().get(1).getMeterId().getValue().longValue());
+ Assert.assertEquals(2, resultFuture.get().getResult().nonnullBatchFailedMetersOutput().size());
+ Assert.assertEquals(43L, iterator.next().getMeterId().getValue().longValue());
+ Assert.assertEquals(45L,iterator.next().getMeterId().getValue().longValue());
Assert.assertEquals(2, resultFuture.get().getErrors().size());
Assert.assertEquals(44, allValues.get(1).getOriginalMeter().getMeterId().getValue().longValue());
Assert.assertEquals(45, allValues.get(1).getUpdatedMeter().getMeterId().getValue().longValue());
- inOrder.verify(transactionService).sendBarrier(Matchers.<SendBarrierInput>any());
+ inOrder.verify(transactionService).sendBarrier(ArgumentMatchers.any());
}
@Test
public void testAddMetersBatch_success() throws Exception {
- Mockito.when(salMeterService.addMeter(Mockito.<AddMeterInput>any()))
+ Mockito.when(salMeterService.addMeter(Mockito.any()))
.thenReturn(RpcResultBuilder.success(new AddMeterOutputBuilder().build()).buildFuture());
final AddMetersBatchInput input = new AddMetersBatchInputBuilder()
.setNode(NODE_REF)
.setBarrierAfter(true)
- .setBatchAddMeters(Lists.newArrayList(
+ .setBatchAddMeters(BindingMap.ordered(
createEmptyBatchAddMeter(42L),
createEmptyBatchAddMeter(43L)))
.build();
Assert.assertEquals(42L, allValues.get(0).getMeterId().getValue().longValue());
Assert.assertEquals(43L, allValues.get(1).getMeterId().getValue().longValue());
- inOrder.verify(transactionService).sendBarrier(Matchers.<SendBarrierInput>any());
+ inOrder.verify(transactionService).sendBarrier(ArgumentMatchers.any());
}
@Test
public void testAddMetersBatch_failure() throws Exception {
- Mockito.when(salMeterService.addMeter(Mockito.<AddMeterInput>any()))
+ Mockito.when(salMeterService.addMeter(Mockito.any()))
.thenReturn(RpcResultBuilder.<AddMeterOutput>failed()
- .withError(RpcError.ErrorType.APPLICATION, "ut-groupAddError")
+ .withError(ErrorType.APPLICATION, "ut-groupAddError")
.buildFuture());
final AddMetersBatchInput input = new AddMetersBatchInputBuilder()
.setNode(NODE_REF)
.setBarrierAfter(true)
- .setBatchAddMeters(Lists.newArrayList(
+ .setBatchAddMeters(BindingMap.ordered(
createEmptyBatchAddMeter(42L),
createEmptyBatchAddMeter(43L)))
.build();
final Future<RpcResult<AddMetersBatchOutput>> resultFuture = salMetersBatchService.addMetersBatch(input);
+ Iterator<BatchFailedMetersOutput> iterator = resultFuture.get().getResult().nonnullBatchFailedMetersOutput()
+ .values().iterator();
Assert.assertTrue(resultFuture.isDone());
Assert.assertFalse(resultFuture.get().isSuccessful());
- Assert.assertEquals(2, resultFuture.get().getResult().getBatchFailedMetersOutput().size());
- Assert.assertEquals(42L,
- resultFuture.get().getResult().getBatchFailedMetersOutput().get(0).getMeterId().getValue().longValue());
- Assert.assertEquals(43L,
- resultFuture.get().getResult().getBatchFailedMetersOutput().get(1).getMeterId().getValue().longValue());
+ Assert.assertEquals(2, resultFuture.get().getResult().nonnullBatchFailedMetersOutput().size());
+ Assert.assertEquals(42L, iterator.next().getMeterId().getValue().longValue());
+ Assert.assertEquals(43L,iterator.next().getMeterId().getValue().longValue());
Assert.assertEquals(2, resultFuture.get().getErrors().size());
Assert.assertEquals(42L, allValues.get(0).getMeterId().getValue().longValue());
Assert.assertEquals(43L, allValues.get(1).getMeterId().getValue().longValue());
- inOrder.verify(transactionService).sendBarrier(Matchers.<SendBarrierInput>any());
+ inOrder.verify(transactionService).sendBarrier(ArgumentMatchers.any());
}
@Test
public void testRemoveMetersBatch_success() throws Exception {
- Mockito.when(salMeterService.removeMeter(Mockito.<RemoveMeterInput>any()))
+ Mockito.when(salMeterService.removeMeter(Mockito.any()))
.thenReturn(RpcResultBuilder.success(new RemoveMeterOutputBuilder().build()).buildFuture());
final RemoveMetersBatchInput input = new RemoveMetersBatchInputBuilder()
.setNode(NODE_REF)
.setBarrierAfter(true)
- .setBatchRemoveMeters(Lists.newArrayList(
+ .setBatchRemoveMeters(BindingMap.ordered(
createEmptyBatchRemoveMeter(42L),
createEmptyBatchRemoveMeter(43L)))
.build();
Assert.assertEquals(42L, allValues.get(0).getMeterId().getValue().longValue());
Assert.assertEquals(43L, allValues.get(1).getMeterId().getValue().longValue());
- inOrder.verify(transactionService).sendBarrier(Matchers.<SendBarrierInput>any());
+ inOrder.verify(transactionService).sendBarrier(ArgumentMatchers.any());
}
@Test
public void testRemoveMetersBatch_failure() throws Exception {
- Mockito.when(salMeterService.removeMeter(Mockito.<RemoveMeterInput>any()))
+ Mockito.when(salMeterService.removeMeter(Mockito.any()))
.thenReturn(RpcResultBuilder.<RemoveMeterOutput>failed()
- .withError(RpcError.ErrorType.APPLICATION, "ut-groupRemoveError")
+ .withError(ErrorType.APPLICATION, "ut-groupRemoveError")
.buildFuture());
final RemoveMetersBatchInput input = new RemoveMetersBatchInputBuilder()
.setNode(NODE_REF)
.setBarrierAfter(true)
- .setBatchRemoveMeters(Lists.newArrayList(
+ .setBatchRemoveMeters(BindingMap.ordered(
createEmptyBatchRemoveMeter(42L),
createEmptyBatchRemoveMeter(43L)))
.build();
final Future<RpcResult<RemoveMetersBatchOutput>> resultFuture = salMetersBatchService.removeMetersBatch(input);
+ Iterator<BatchFailedMetersOutput> iterator = resultFuture.get().getResult().nonnullBatchFailedMetersOutput()
+ .values().iterator();
Assert.assertTrue(resultFuture.isDone());
Assert.assertFalse(resultFuture.get().isSuccessful());
- Assert.assertEquals(2, resultFuture.get().getResult().getBatchFailedMetersOutput().size());
- Assert.assertEquals(42L,
- resultFuture.get().getResult().getBatchFailedMetersOutput().get(0).getMeterId().getValue().longValue());
- Assert.assertEquals(43L,
- resultFuture.get().getResult().getBatchFailedMetersOutput().get(1).getMeterId().getValue().longValue());
+ Assert.assertEquals(2, resultFuture.get().getResult().nonnullBatchFailedMetersOutput().size());
+ Assert.assertEquals(42L, iterator.next().getMeterId().getValue().longValue());
+ Assert.assertEquals(43L, iterator.next().getMeterId().getValue().longValue());
Assert.assertEquals(2, resultFuture.get().getErrors().size());
final InOrder inOrder = Mockito.inOrder(salMeterService, transactionService);
Assert.assertEquals(42L, allValues.get(0).getMeterId().getValue().longValue());
Assert.assertEquals(43L, allValues.get(1).getMeterId().getValue().longValue());
- inOrder.verify(transactionService).sendBarrier(Matchers.<SendBarrierInput>any());
+ inOrder.verify(transactionService).sendBarrier(ArgumentMatchers.any());
}
private static BatchAddMeters createEmptyBatchAddMeter(final long groupIdValue) {
return new BatchAddMetersBuilder()
- .setMeterId(new MeterId(groupIdValue))
+ .setMeterId(new MeterId(Uint32.valueOf(groupIdValue)))
.build();
}
private static BatchRemoveMeters createEmptyBatchRemoveMeter(final long groupIdValue) {
return new BatchRemoveMetersBuilder()
- .setMeterId(new MeterId(groupIdValue))
+ .setMeterId(new MeterId(Uint32.valueOf(groupIdValue)))
.build();
}