X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflowplugin-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fopenflowplugin%2Fimpl%2Fservices%2Fbatch%2FFlatBatchMeterAdaptersTest.java;h=d20702aecf6c6f7caa63235122e6d02859e02ad5;hb=refs%2Fchanges%2F77%2F100077%2F17;hp=7ef5d07adb691cd2014fed8611fac0cbb55d2593;hpb=f35e2fb153438697238b3095e8323b8a343c1c93;p=openflowplugin.git diff --git a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/services/batch/FlatBatchMeterAdaptersTest.java b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/services/batch/FlatBatchMeterAdaptersTest.java index 7ef5d07adb..d20702aecf 100644 --- a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/services/batch/FlatBatchMeterAdaptersTest.java +++ b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/services/batch/FlatBatchMeterAdaptersTest.java @@ -5,23 +5,23 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.openflowplugin.impl.services.batch; import com.google.common.collect.Lists; +import java.util.Iterator; import org.junit.Assert; import org.junit.Test; import org.opendaylight.yang.gen.v1.urn.opendaylight.flat.batch.service.rev160321.ProcessFlatBatchOutput; -import org.opendaylight.yang.gen.v1.urn.opendaylight.flat.batch.service.rev160321.process.flat.batch.input.batch.batch.choice.flat.batch.add.meter._case.FlatBatchAddMeter; -import org.opendaylight.yang.gen.v1.urn.opendaylight.flat.batch.service.rev160321.process.flat.batch.input.batch.batch.choice.flat.batch.add.meter._case.FlatBatchAddMeterBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.flat.batch.service.rev160321.process.flat.batch.input.batch.batch.choice.flat.batch.remove.meter._case.FlatBatchRemoveMeter; -import org.opendaylight.yang.gen.v1.urn.opendaylight.flat.batch.service.rev160321.process.flat.batch.input.batch.batch.choice.flat.batch.remove.meter._case.FlatBatchRemoveMeterBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.flat.batch.service.rev160321.process.flat.batch.input.batch.batch.choice.flat.batch.update.meter._case.FlatBatchUpdateMeter; -import org.opendaylight.yang.gen.v1.urn.opendaylight.flat.batch.service.rev160321.process.flat.batch.input.batch.batch.choice.flat.batch.update.meter._case.FlatBatchUpdateMeterBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.flat.batch.service.rev160321.flat.batch.failure.ids.aug.FlatBatchFailureMeterIdCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.flat.batch.service.rev160321.flat.batch.failure.ids.aug.FlatBatchFailureMeterIdCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.flat.batch.service.rev160321.flat.batch.meter.crud._case.aug.flat.batch.add.meter._case.FlatBatchAddMeter; +import org.opendaylight.yang.gen.v1.urn.opendaylight.flat.batch.service.rev160321.flat.batch.meter.crud._case.aug.flat.batch.add.meter._case.FlatBatchAddMeterBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.flat.batch.service.rev160321.flat.batch.meter.crud._case.aug.flat.batch.remove.meter._case.FlatBatchRemoveMeter; +import org.opendaylight.yang.gen.v1.urn.opendaylight.flat.batch.service.rev160321.flat.batch.meter.crud._case.aug.flat.batch.remove.meter._case.FlatBatchRemoveMeterBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.flat.batch.service.rev160321.flat.batch.meter.crud._case.aug.flat.batch.update.meter._case.FlatBatchUpdateMeter; +import org.opendaylight.yang.gen.v1.urn.opendaylight.flat.batch.service.rev160321.flat.batch.meter.crud._case.aug.flat.batch.update.meter._case.FlatBatchUpdateMeterBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.flat.batch.service.rev160321.process.flat.batch.output.BatchFailure; import org.opendaylight.yang.gen.v1.urn.opendaylight.flat.batch.service.rev160321.process.flat.batch.output.BatchFailureBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.flat.batch.service.rev160321.process.flat.batch.output.batch.failure.batch.item.id.choice.FlatBatchFailureMeterIdCase; -import org.opendaylight.yang.gen.v1.urn.opendaylight.flat.batch.service.rev160321.process.flat.batch.output.batch.failure.batch.item.id.choice.FlatBatchFailureMeterIdCaseBuilder; 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.inventory.rev130819.Nodes; @@ -33,14 +33,19 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.meters.service.rev160316.Ad import org.opendaylight.yang.gen.v1.urn.opendaylight.meters.service.rev160316.BatchMeterOutputListGrouping; import org.opendaylight.yang.gen.v1.urn.opendaylight.meters.service.rev160316.RemoveMetersBatchInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.meters.service.rev160316.UpdateMetersBatchInput; +import org.opendaylight.yang.gen.v1.urn.opendaylight.meters.service.rev160316.add.meters.batch.input.BatchAddMeters; 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.batch.meter.output.list.grouping.BatchFailedMetersOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.meters.service.rev160316.remove.meters.batch.input.BatchRemoveMeters; 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.Uint32; /** * Test for {@link FlatBatchMeterAdapters}. @@ -53,34 +58,39 @@ public class FlatBatchMeterAdaptersTest { private static final NodeRef NODE_REF = new NodeRef(NODE_II); @Test - public void testAdaptFlatBatchAddMeter() throws Exception { + public void testAdaptFlatBatchAddMeter() { final BatchPlanStep planStep = new BatchPlanStep(BatchStepType.FLOW_ADD); planStep.setBarrierAfter(true); planStep.getTaskBag().addAll(Lists.newArrayList( - createAddMeterBatch(1L), - createAddMeterBatch(2L))); + createAddMeterBatch(Uint32.ONE), + createAddMeterBatch(Uint32.TWO))); + + final AddMetersBatchInput addMetersBatchInput = + FlatBatchMeterAdapters.adaptFlatBatchAddMeter(planStep, NODE_REF); - final AddMetersBatchInput addMetersBatchInput = FlatBatchMeterAdapters.adaptFlatBatchAddMeter(planStep, NODE_REF); + Assert.assertTrue(addMetersBatchInput.getBarrierAfter()); + Assert.assertEquals(2, addMetersBatchInput.nonnullBatchAddMeters().size()); + final Iterator it = addMetersBatchInput.nonnullBatchAddMeters().values().iterator(); - Assert.assertTrue(addMetersBatchInput.isBarrierAfter()); - Assert.assertEquals(2, addMetersBatchInput.getBatchAddMeters().size()); - Assert.assertEquals(1L, addMetersBatchInput.getBatchAddMeters().get(0).getMeterId().getValue().longValue()); - Assert.assertEquals(2L, addMetersBatchInput.getBatchAddMeters().get(1).getMeterId().getValue().longValue()); + Assert.assertEquals(1L, it.next().getMeterId().getValue().longValue()); + Assert.assertEquals(2L, it.next().getMeterId().getValue().longValue()); } - private FlatBatchAddMeter createAddMeterBatch(final long groupIdValue) { + private static FlatBatchAddMeter createAddMeterBatch(final Uint32 groupIdValue) { return new FlatBatchAddMeterBuilder() .setMeterId(new MeterId(groupIdValue)) + .setBatchOrder(groupIdValue.toUint16()) .build(); } - private FlatBatchRemoveMeter createRemoveMeterBatch(final long groupIdValue) { + private static FlatBatchRemoveMeter createRemoveMeterBatch(final Uint32 groupIdValue) { return new FlatBatchRemoveMeterBuilder() .setMeterId(new MeterId(groupIdValue)) + .setBatchOrder(groupIdValue.toUint16()) .build(); } - private FlatBatchUpdateMeter createUpdateMeterBatch(final long groupIdValue) { + private static FlatBatchUpdateMeter createUpdateMeterBatch(final Uint32 groupIdValue) { return new FlatBatchUpdateMeterBuilder() .setOriginalBatchedMeter(new OriginalBatchedMeterBuilder() .setMeterId(new MeterId(groupIdValue)) @@ -88,66 +98,75 @@ public class FlatBatchMeterAdaptersTest { .setUpdatedBatchedMeter(new UpdatedBatchedMeterBuilder() .setMeterId(new MeterId(groupIdValue)) .build()) + .setBatchOrder(groupIdValue.toUint16()) .build(); } @Test - public void testAdaptFlatBatchRemoveMeter() throws Exception { + public void testAdaptFlatBatchRemoveMeter() { final BatchPlanStep planStep = new BatchPlanStep(BatchStepType.FLOW_REMOVE); planStep.setBarrierAfter(true); planStep.getTaskBag().addAll(Lists.newArrayList( - createRemoveMeterBatch(1L), - createRemoveMeterBatch(2L))); + createRemoveMeterBatch(Uint32.ONE), + createRemoveMeterBatch(Uint32.TWO))); - final RemoveMetersBatchInput removeMetersBatchInput = FlatBatchMeterAdapters.adaptFlatBatchRemoveMeter(planStep, NODE_REF); + final RemoveMetersBatchInput removeMetersBatchInput = + FlatBatchMeterAdapters.adaptFlatBatchRemoveMeter(planStep, NODE_REF); + Iterator iterator = removeMetersBatchInput.nonnullBatchRemoveMeters().values().iterator(); - Assert.assertTrue(removeMetersBatchInput.isBarrierAfter()); - Assert.assertEquals(2, removeMetersBatchInput.getBatchRemoveMeters().size()); - Assert.assertEquals(1L, removeMetersBatchInput.getBatchRemoveMeters().get(0).getMeterId().getValue().longValue()); - Assert.assertEquals(2L, removeMetersBatchInput.getBatchRemoveMeters().get(1).getMeterId().getValue().longValue()); + Assert.assertTrue(removeMetersBatchInput.getBarrierAfter()); + Assert.assertEquals(2, removeMetersBatchInput.nonnullBatchRemoveMeters().size()); + Assert.assertEquals(1L, iterator.next().getMeterId().getValue().longValue()); + Assert.assertEquals(2L, iterator.next().getMeterId().getValue().longValue()); } @Test - public void testAdaptFlatBatchUpdateMeter() throws Exception { + public void testAdaptFlatBatchUpdateMeter() { final BatchPlanStep planStep = new BatchPlanStep(BatchStepType.FLOW_UPDATE); planStep.setBarrierAfter(true); planStep.getTaskBag().addAll(Lists.newArrayList( - createUpdateMeterBatch(1L), - createUpdateMeterBatch(2L))); + createUpdateMeterBatch(Uint32.ONE), + createUpdateMeterBatch(Uint32.TWO))); - final UpdateMetersBatchInput updateMetersBatchInput = FlatBatchMeterAdapters.adaptFlatBatchUpdateMeter(planStep, NODE_REF); + final UpdateMetersBatchInput updateMetersBatchInput = + FlatBatchMeterAdapters.adaptFlatBatchUpdateMeter(planStep, NODE_REF); - Assert.assertTrue(updateMetersBatchInput.isBarrierAfter()); + Assert.assertTrue(updateMetersBatchInput.getBarrierAfter()); Assert.assertEquals(2, updateMetersBatchInput.getBatchUpdateMeters().size()); - Assert.assertEquals(1L, updateMetersBatchInput.getBatchUpdateMeters().get(0).getUpdatedBatchedMeter().getMeterId().getValue().longValue()); - Assert.assertEquals(2L, updateMetersBatchInput.getBatchUpdateMeters().get(1).getUpdatedBatchedMeter().getMeterId().getValue().longValue()); + Assert.assertEquals(1L, updateMetersBatchInput.getBatchUpdateMeters().get(0) + .getUpdatedBatchedMeter().getMeterId().getValue().longValue()); + Assert.assertEquals(2L, updateMetersBatchInput.getBatchUpdateMeters().get(1) + .getUpdatedBatchedMeter().getMeterId().getValue().longValue()); } @Test - public void testCreateBatchMeterChainingFunction_failures() throws Exception { + public void testCreateBatchMeterChainingFunction_failures() { final RpcResult input = RpcResultBuilder.failed() - .withError(RpcError.ErrorType.APPLICATION, "ut-meterError") + .withError(ErrorType.APPLICATION, "ut-meterError") .withResult(new AddMetersBatchOutputBuilder() - .setBatchFailedMetersOutput(Lists.newArrayList( - createBatchFailedMetersOutput(0, 1L), - createBatchFailedMetersOutput(1, 2L) + .setBatchFailedMetersOutput(BindingMap.ordered( + createBatchFailedMetersOutput(Uint16.ZERO, Uint32.ONE), + createBatchFailedMetersOutput(Uint16.ONE, Uint32.TWO) )) .build()) .build(); final RpcResult rpcResult = FlatBatchMeterAdapters .convertBatchMeterResult(3).apply(input); + Iterator iterator = rpcResult.getResult().nonnullBatchFailure().values().iterator(); Assert.assertFalse(rpcResult.isSuccessful()); Assert.assertEquals(1, rpcResult.getErrors().size()); - Assert.assertEquals(2, rpcResult.getResult().getBatchFailure().size()); - Assert.assertEquals(3, rpcResult.getResult().getBatchFailure().get(0).getBatchOrder().intValue()); - Assert.assertEquals(4, rpcResult.getResult().getBatchFailure().get(1).getBatchOrder().intValue()); - Assert.assertEquals(2L, ((FlatBatchFailureMeterIdCase) rpcResult.getResult().getBatchFailure().get(1).getBatchItemIdChoice()).getMeterId().getValue().longValue()); + Assert.assertEquals(2, rpcResult.getResult().nonnullBatchFailure().size()); + Assert.assertEquals(3, iterator.next().getBatchOrder().intValue()); + BatchFailure secondBatchFailure = iterator.next(); + Assert.assertEquals(4, secondBatchFailure.getBatchOrder().intValue()); + Assert.assertEquals(2L, ((FlatBatchFailureMeterIdCase) secondBatchFailure + .getBatchItemIdChoice()).getMeterId().getValue().longValue()); } @Test - public void testCreateBatchMeterChainingFunction_successes() throws Exception { + public void testCreateBatchMeterChainingFunction_successes() { final RpcResult input = RpcResultBuilder .success(new AddMetersBatchOutputBuilder().build()) .build(); @@ -157,17 +176,18 @@ public class FlatBatchMeterAdaptersTest { Assert.assertTrue(rpcResult.isSuccessful()); Assert.assertEquals(0, rpcResult.getErrors().size()); - Assert.assertEquals(0, rpcResult.getResult().getBatchFailure().size()); + Assert.assertEquals(0, rpcResult.getResult().nonnullBatchFailure().size()); } - private BatchFailedMetersOutput createBatchFailedMetersOutput(final Integer batchOrder, final long groupIdValue) { + private static BatchFailedMetersOutput createBatchFailedMetersOutput(final Uint16 batchOrder, + final Uint32 groupIdValue) { return new BatchFailedMetersOutputBuilder() .setMeterId(new MeterId(groupIdValue)) .setBatchOrder(batchOrder) .build(); } - private BatchFailure createChainFailure(final int batchOrder, final long groupIdValue) { + private static BatchFailure createChainFailure(final Uint16 batchOrder, final Uint32 groupIdValue) { return new BatchFailureBuilder() .setBatchOrder(batchOrder) .setBatchItemIdChoice(new FlatBatchFailureMeterIdCaseBuilder()