X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflowplugin-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fopenflowplugin%2Fimpl%2Futil%2FMeterUtilTest.java;h=2008329b5fe7628899b7f76398f15b84d7f2648c;hb=777c94332871b8c34f56f7f2010de1536cb759ba;hp=869f0bb456b1811ca5c80ce791f481c321c15f2c;hpb=e2c1cba548652d138e61afd1a845378060d104aa;p=openflowplugin.git diff --git a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/util/MeterUtilTest.java b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/util/MeterUtilTest.java index 869f0bb456..2008329b5f 100644 --- a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/util/MeterUtilTest.java +++ b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/util/MeterUtilTest.java @@ -5,18 +5,19 @@ * 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.util; import com.google.common.base.Function; import com.google.common.collect.Lists; import java.util.Collections; import java.util.List; +import java.util.Map; import org.apache.commons.lang3.tuple.Pair; import org.junit.Assert; import org.junit.Test; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.meters.Meter; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.meters.MeterBuilder; +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.Nodes; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node; @@ -28,10 +29,14 @@ 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.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.batch.meter.output.list.grouping.BatchFailedMetersOutputKey; 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 MeterUtil}. @@ -39,11 +44,11 @@ import org.opendaylight.yangtools.yang.common.RpcResultBuilder; public class MeterUtilTest { public static final NodeId DUMMY_NODE_ID = new NodeId("dummyNodeId"); - private static final MeterId DUMMY_METER_ID = new MeterId(42L); - private static final MeterId DUMMY_METER_ID_2 = new MeterId(43L); + private static final MeterId DUMMY_METER_ID = new MeterId(Uint32.valueOf(42)); + private static final MeterId DUMMY_METER_ID_2 = new MeterId(Uint32.valueOf(43)); @Test - public void testBuildGroupPath() throws Exception { + public void testBuildGroupPath() { final InstanceIdentifier nodePath = InstanceIdentifier .create(Nodes.class) .child(Node.class, new NodeKey(DUMMY_NODE_ID)); @@ -55,7 +60,7 @@ public class MeterUtilTest { } @Test - public void testCreateCumulatingFunction() throws Exception { + public void testCreateCumulatingFunction() { final Function>, RpcResult>> function = MeterUtil.createCumulativeFunction(Lists.newArrayList( createBatchMeter(DUMMY_METER_ID), @@ -64,7 +69,7 @@ public class MeterUtilTest { final RpcResult> output = function.apply(Lists.newArrayList( RpcResultBuilder.success("a").build(), RpcResultBuilder.failed() - .withError(RpcError.ErrorType.APPLICATION, "ut-meter-error") + .withError(ErrorType.APPLICATION, "ut-meter-error") .build())); Assert.assertFalse(output.isSuccessful()); @@ -73,100 +78,109 @@ public class MeterUtilTest { Assert.assertEquals(1, output.getResult().get(0).getBatchOrder().intValue()); } - private org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.Meter createBatchMeter(final MeterId meterId) { + private static org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.Meter createBatchMeter( + final MeterId meterId) { return new MeterBuilder() .setMeterId(meterId) .build(); } @Test - public void testMETER_ADD_TRANSFORM__failure() throws Exception { + public void testMeterAddTransformFailure() { final RpcResult> input = createBatchOutcomeWithError(); checkBatchErrorOutcomeTransformation(MeterUtil.METER_ADD_TRANSFORM.apply(input)); } @Test - public void testMETER_ADD_TRANSFORM__success() throws Exception { + public void testMeterAddTransformSuccess() { final RpcResult> input = createEmptyBatchOutcome(); checkBatchSuccessOutcomeTransformation(MeterUtil.METER_ADD_TRANSFORM.apply(input)); } @Test - public void testMETER_REMOVE_TRANSFORM__failure() throws Exception { + public void testMeterRemoveTransformFailure() { final RpcResult> input = createBatchOutcomeWithError(); checkBatchErrorOutcomeTransformation(MeterUtil.METER_REMOVE_TRANSFORM.apply(input)); } @Test - public void testFLOW_REMOVE_TRANSFORM__success() throws Exception { + public void testFlowRemoveTransformSuccess() { final RpcResult> input = createEmptyBatchOutcome(); checkBatchSuccessOutcomeTransformation(MeterUtil.METER_REMOVE_TRANSFORM.apply(input)); } @Test - public void testFLOW_UPDATE_TRANSFORM__failure() throws Exception { + public void testFlowUpdateTransformFailure() { final RpcResult> input = createBatchOutcomeWithError(); checkBatchErrorOutcomeTransformation(MeterUtil.METER_UPDATE_TRANSFORM.apply(input)); } @Test - public void testFLOW_UPDATE_TRANSFORM__success() throws Exception { + public void testFlowUpdateTransformSuccess() { final RpcResult> input = createEmptyBatchOutcome(); checkBatchSuccessOutcomeTransformation(MeterUtil.METER_UPDATE_TRANSFORM.apply(input)); } - private void checkBatchSuccessOutcomeTransformation(final RpcResult output) { + private static void checkBatchSuccessOutcomeTransformation( + final RpcResult output) { Assert.assertTrue(output.isSuccessful()); - Assert.assertEquals(0, output.getResult().getBatchFailedMetersOutput().size()); + Assert.assertEquals(0, output.getResult().nonnullBatchFailedMetersOutput().size()); Assert.assertEquals(0, output.getErrors().size()); } - private RpcResult> createEmptyBatchOutcome() { + private static RpcResult> createEmptyBatchOutcome() { return RpcResultBuilder - .>success(Collections.emptyList()) + .success(Collections.emptyList()) .build(); } - private RpcResult> createBatchOutcomeWithError() { + private static RpcResult> createBatchOutcomeWithError() { return RpcResultBuilder.>failed() - .withError(RpcError.ErrorType.APPLICATION, "ut-flowAddFail") - .withResult(Collections.singletonList(new BatchFailedMetersOutputBuilder() + .withError(ErrorType.APPLICATION, "ut-flowAddFail") + .withResult(List.of(new BatchFailedMetersOutputBuilder() + .setBatchOrder(Uint16.ZERO) .setMeterId(DUMMY_METER_ID) .build())) .build(); } - private void checkBatchErrorOutcomeTransformation(final RpcResult output) { + private static void checkBatchErrorOutcomeTransformation( + final RpcResult output) { Assert.assertFalse(output.isSuccessful()); - Assert.assertEquals(1, output.getResult().getBatchFailedMetersOutput().size()); - Assert.assertEquals(DUMMY_METER_ID, output.getResult().getBatchFailedMetersOutput().get(0).getMeterId()); + Assert.assertEquals(1, output.getResult().nonnullBatchFailedMetersOutput().size()); + Assert.assertEquals(DUMMY_METER_ID, + output.getResult().nonnullBatchFailedMetersOutput().values().iterator().next().getMeterId()); Assert.assertEquals(1, output.getErrors().size()); } @Test - public void testCreateComposingFunction_success_success() throws Exception { - final Function, RpcResult>, RpcResult> compositeFunction = - MeterUtil.createComposingFunction(); + public void testCreateComposingFunction_success_success() { + final Function, RpcResult>, + RpcResult> compositeFunction = MeterUtil.createComposingFunction(); final RpcResult addGroupBatchOutput = createAddMetersBatchSuccessOutput(); - final RpcResult barrierOutput = RpcResultBuilder.success().build(); - final Pair, RpcResult> input = Pair.of(addGroupBatchOutput, barrierOutput); + final RpcResult barrierOutput = RpcResultBuilder.success().build(); + final Pair, RpcResult> input = + Pair.of(addGroupBatchOutput, barrierOutput); final RpcResult composite = compositeFunction.apply(input); Assert.assertTrue(composite.isSuccessful()); Assert.assertEquals(0, composite.getErrors().size()); - Assert.assertEquals(0, composite.getResult().getBatchFailedMetersOutput().size()); + Map failedMeters + = composite.getResult().nonnullBatchFailedMetersOutput(); + Assert.assertEquals(0, failedMeters.size()); } @Test - public void testCreateComposingFunction_failure_success() throws Exception { - final Function, RpcResult>, RpcResult> compositeFunction = - MeterUtil.createComposingFunction(); + public void testCreateComposingFunction_failure_success() { + final Function, RpcResult>, + RpcResult> compositeFunction = MeterUtil.createComposingFunction(); final RpcResult addGroupBatchOutput = createAddMetersBatchFailureOutcome(); - final RpcResult barrierOutput = RpcResultBuilder.success().build(); - final Pair, RpcResult> input = Pair.of(addGroupBatchOutput, barrierOutput); + final RpcResult barrierOutput = RpcResultBuilder.success().build(); + final Pair, RpcResult> input = + Pair.of(addGroupBatchOutput, barrierOutput); final RpcResult composite = compositeFunction.apply(input); Assert.assertFalse(composite.isSuccessful()); @@ -175,28 +189,32 @@ public class MeterUtilTest { } @Test - public void testCreateComposingFunction_success_failure() throws Exception { - final Function, RpcResult>, RpcResult> compositeFunction = - MeterUtil.createComposingFunction(); + public void testCreateComposingFunction_success_failure() { + final Function, RpcResult>, + RpcResult> compositeFunction = MeterUtil.createComposingFunction(); final RpcResult addGroupBatchOutput = createAddMetersBatchSuccessOutput(); - final RpcResult barrierOutput = createBarrierFailureOutcome(); - final Pair, RpcResult> input = Pair.of(addGroupBatchOutput, barrierOutput); + final RpcResult barrierOutput = createBarrierFailureOutcome(); + final Pair, RpcResult> input = + Pair.of(addGroupBatchOutput, barrierOutput); final RpcResult composite = compositeFunction.apply(input); Assert.assertFalse(composite.isSuccessful()); Assert.assertEquals(1, composite.getErrors().size()); - Assert.assertEquals(0, composite.getResult().getBatchFailedMetersOutput().size()); + Map failedMeters + = composite.getResult().nonnullBatchFailedMetersOutput(); + Assert.assertEquals(0, failedMeters.size()); } @Test - public void testCreateComposingFunction_failure_failure() throws Exception { - final Function, RpcResult>, RpcResult> compositeFunction = - MeterUtil.createComposingFunction(); + public void testCreateComposingFunction_failure_failure() { + final Function, RpcResult>, + RpcResult> compositeFunction = MeterUtil.createComposingFunction(); final RpcResult addGroupBatchOutput = createAddMetersBatchFailureOutcome(); - final RpcResult barrierOutput = createBarrierFailureOutcome(); - final Pair, RpcResult> input = Pair.of(addGroupBatchOutput, barrierOutput); + final RpcResult barrierOutput = createBarrierFailureOutcome(); + final Pair, RpcResult> input = + Pair.of(addGroupBatchOutput, barrierOutput); final RpcResult composite = compositeFunction.apply(input); Assert.assertFalse(composite.isSuccessful()); @@ -204,27 +222,27 @@ public class MeterUtilTest { Assert.assertEquals(1, composite.getResult().getBatchFailedMetersOutput().size()); } - private RpcResult createBarrierFailureOutcome() { - return RpcResultBuilder.failed() - .withError(RpcError.ErrorType.APPLICATION, "ut-barrier-error") + private static RpcResult createBarrierFailureOutcome() { + return RpcResultBuilder.failed() + .withError(ErrorType.APPLICATION, "ut-barrier-error") .build(); } - private RpcResult createAddMetersBatchSuccessOutput() { + private static RpcResult createAddMetersBatchSuccessOutput() { return RpcResultBuilder .success(new AddMetersBatchOutputBuilder() - .setBatchFailedMetersOutput(Collections.emptyList()) + .setBatchFailedMetersOutput(Map.of()) .build()) .build(); } - private RpcResult createAddMetersBatchFailureOutcome() { + private static RpcResult createAddMetersBatchFailureOutcome() { final RpcResult> batchOutcomeWithError = createBatchOutcomeWithError(); return RpcResultBuilder.failed() .withResult(new AddMetersBatchOutputBuilder() - .setBatchFailedMetersOutput(batchOutcomeWithError.getResult()) + .setBatchFailedMetersOutput(BindingMap.ordered(batchOutcomeWithError.getResult())) .build()) .withRpcErrors(batchOutcomeWithError.getErrors()) .build(); } -} \ No newline at end of file +}