Decompose RPC implementation classes
[openflowplugin.git] / openflowplugin-impl / src / test / java / org / opendaylight / openflowplugin / impl / statistics / services / OpendaylightMeterStatisticsServiceImplTest.java
index 9529aa0253f0b10aea1741d6233d1605c469516e..0c2ef404b639b96b02be3a8a8ab88d8e5d845126 100644 (file)
@@ -7,31 +7,27 @@
  */
 package org.opendaylight.openflowplugin.impl.statistics.services;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.verify;
 
 import com.google.common.util.concurrent.FutureCallback;
-import java.util.Collections;
-import java.util.concurrent.Future;
+import java.util.List;
 import java.util.concurrent.atomic.AtomicLong;
 import org.junit.After;
-import org.junit.Assert;
 import org.junit.Test;
 import org.mockito.ArgumentCaptor;
 import org.mockito.ArgumentMatchers;
 import org.mockito.Captor;
-import org.mockito.Mockito;
 import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
-import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManager;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManagerFactory;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterConfigStatisticsInputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterConfigStatisticsOutput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterStatisticsInputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterStatisticsOutput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterFeaturesInputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterFeaturesOutput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterStatisticsInputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterStatisticsOutput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandTypeBitmap;
@@ -60,29 +56,40 @@ import org.opendaylight.yangtools.yang.common.Uint8;
 /**
  * Test for {@link OpendaylightMeterStatisticsServiceImpl}.
  */
+@Deprecated
 public class OpendaylightMeterStatisticsServiceImplTest extends AbstractSingleStatsServiceTest {
-
     private static final org.opendaylight.yang.gen.v1.urn
                 .opendaylight.openflow.common.types.rev130731.MeterId METER_ID = new org.opendaylight.yang.gen.v1.urn
                     .opendaylight.openflow.common.types.rev130731.MeterId(Uint32.valueOf(123));
     @Captor
     private ArgumentCaptor<MultipartRequestInput> requestInput;
 
-    private OpendaylightMeterStatisticsServiceImpl meterStatisticsService;
+    private GetAllMeterStatisticsImpl getAllMeterStatistics;
+    private GetMeterStatisticsImpl getMeterStatistics;
+    private GetAllMeterConfigStatisticsImpl getAllMeterConfigStatistics;
+    private GetMeterFeaturesImpl getMeterFeatures;
 
     @Override
     public void setUp() {
-        final ConvertorManager convertorManager = ConvertorManagerFactory.createDefaultManager();
-        meterStatisticsService = new OpendaylightMeterStatisticsServiceImpl(rqContextStack, deviceContext,
-                new AtomicLong(), notificationPublishService, convertorManager);
-
-        Mockito.doAnswer(answerVoidToCallback).when(outboundQueueProvider)
+        final var xid = new AtomicLong();
+        final var convertorManager = ConvertorManagerFactory.createDefaultManager();
+
+        getAllMeterStatistics = new GetAllMeterStatisticsImpl(rqContextStack, deviceContext, xid,
+            notificationPublishService, convertorManager);
+        getMeterStatistics = new GetMeterStatisticsImpl(rqContextStack, deviceContext, xid,
+            notificationPublishService, convertorManager);
+        getAllMeterConfigStatistics = new GetAllMeterConfigStatisticsImpl(rqContextStack, deviceContext, xid,
+            notificationPublishService, convertorManager);
+        getMeterFeatures = new GetMeterFeaturesImpl(rqContextStack, deviceContext, xid,
+            notificationPublishService, convertorManager);
+
+        doAnswer(answerVoidToCallback).when(outboundQueueProvider)
                 .commitEntry(eq(Uint32.valueOf(42)), requestInput.capture(), any(FutureCallback.class));
     }
 
     @After
     public void tearDown() {
-        Mockito.verify(notificationPublishService).offerNotification(ArgumentMatchers.any());
+        verify(notificationPublishService).offerNotification(ArgumentMatchers.any());
     }
 
     @Test
@@ -90,15 +97,15 @@ public class OpendaylightMeterStatisticsServiceImplTest extends AbstractSingleSt
         GetAllMeterConfigStatisticsInputBuilder input = new GetAllMeterConfigStatisticsInputBuilder()
                 .setNode(createNodeRef("unitProt:123"));
 
-        rpcResult = RpcResultBuilder.<Object>success(Collections.singletonList(
+        rpcResult = RpcResultBuilder.<Object>success(List.of(
                 new MultipartReplyMessageBuilder()
                         .setVersion(EncodeConstants.OF_VERSION_1_3)
                         .setMultipartReplyBody(new MultipartReplyMeterConfigCaseBuilder()
                                 .setMultipartReplyMeterConfig(new MultipartReplyMeterConfigBuilder()
-                                        .setMeterConfig(Collections.singletonList(new MeterConfigBuilder()
+                                        .setMeterConfig(List.of(new MeterConfigBuilder()
                                                 .setFlags(new MeterFlags(true, false, false, false))
                                                 .setMeterId(METER_ID)
-                                                .setBands(Collections.singletonList(new BandsBuilder()
+                                                .setBands(List.of(new BandsBuilder()
                                                         .setMeterBand(new MeterBandDropCaseBuilder()
                                                                 .setMeterBandDrop(new MeterBandDropBuilder()
                                                                         .setBurstSize(Uint32.valueOf(61))
@@ -113,13 +120,12 @@ public class OpendaylightMeterStatisticsServiceImplTest extends AbstractSingleSt
                         .build()
         )).build();
 
-        final Future<RpcResult<GetAllMeterConfigStatisticsOutput>> resultFuture
-                = meterStatisticsService.getAllMeterConfigStatistics(input.build());
+        final var resultFuture = getAllMeterConfigStatistics.invoke(input.build());
 
-        Assert.assertTrue(resultFuture.isDone());
-        final RpcResult<GetAllMeterConfigStatisticsOutput> rpcResult = resultFuture.get();
-        Assert.assertTrue(rpcResult.isSuccessful());
-        Assert.assertEquals(MultipartType.OFPMPMETERCONFIG, requestInput.getValue().getType());
+        assertTrue(resultFuture.isDone());
+        final var rpcResult = resultFuture.get();
+        assertTrue(rpcResult.isSuccessful());
+        assertEquals(MultipartType.OFPMPMETERCONFIG, requestInput.getValue().getType());
     }
 
     @Test
@@ -129,13 +135,12 @@ public class OpendaylightMeterStatisticsServiceImplTest extends AbstractSingleSt
 
         rpcResult = buildMeterStatisticsReply();
 
-        final Future<RpcResult<GetAllMeterStatisticsOutput>> resultFuture
-                = meterStatisticsService.getAllMeterStatistics(input.build());
+        final var resultFuture = getAllMeterStatistics.invoke(input.build());
 
-        Assert.assertTrue(resultFuture.isDone());
-        final RpcResult<GetAllMeterStatisticsOutput> rpcResult = resultFuture.get();
-        Assert.assertTrue(rpcResult.isSuccessful());
-        Assert.assertEquals(MultipartType.OFPMPMETER, requestInput.getValue().getType());
+        assertTrue(resultFuture.isDone());
+        final var rpcResult = resultFuture.get();
+        assertTrue(rpcResult.isSuccessful());
+        assertEquals(MultipartType.OFPMPMETER, requestInput.getValue().getType());
     }
 
     @Test
@@ -143,7 +148,7 @@ public class OpendaylightMeterStatisticsServiceImplTest extends AbstractSingleSt
         GetMeterFeaturesInputBuilder input = new GetMeterFeaturesInputBuilder()
                 .setNode(createNodeRef("unitProt:123"));
 
-        rpcResult = RpcResultBuilder.<Object>success(Collections.singletonList(
+        rpcResult = RpcResultBuilder.<Object>success(List.of(
                 new MultipartReplyMessageBuilder()
                         .setVersion(EncodeConstants.OF_VERSION_1_3)
                         .setMultipartReplyBody(new MultipartReplyMeterFeaturesCaseBuilder()
@@ -158,13 +163,12 @@ public class OpendaylightMeterStatisticsServiceImplTest extends AbstractSingleSt
                         .build()
         )).build();
 
-        final Future<RpcResult<GetMeterFeaturesOutput>> resultFuture
-                = meterStatisticsService.getMeterFeatures(input.build());
+        final var resultFuture = getMeterFeatures.invoke(input.build());
 
-        Assert.assertTrue(resultFuture.isDone());
-        final RpcResult<GetMeterFeaturesOutput> rpcResult = resultFuture.get();
-        Assert.assertTrue(rpcResult.isSuccessful());
-        Assert.assertEquals(MultipartType.OFPMPMETERFEATURES, requestInput.getValue().getType());
+        assertTrue(resultFuture.isDone());
+        final var rpcResult = resultFuture.get();
+        assertTrue(rpcResult.isSuccessful());
+        assertEquals(MultipartType.OFPMPMETERFEATURES, requestInput.getValue().getType());
     }
 
     @Test
@@ -175,29 +179,28 @@ public class OpendaylightMeterStatisticsServiceImplTest extends AbstractSingleSt
 
         rpcResult = buildMeterStatisticsReply();
 
-        final Future<RpcResult<GetMeterStatisticsOutput>> resultFuture
-                = meterStatisticsService.getMeterStatistics(input.build());
+        final var resultFuture = getMeterStatistics.invoke(input.build());
 
-        Assert.assertTrue(resultFuture.isDone());
-        final RpcResult<GetMeterStatisticsOutput> rpcResult = resultFuture.get();
-        Assert.assertTrue(rpcResult.isSuccessful());
-        Assert.assertEquals(MultipartType.OFPMPMETER, requestInput.getValue().getType());
+        assertTrue(resultFuture.isDone());
+        final var rpcResult = resultFuture.get();
+        assertTrue(rpcResult.isSuccessful());
+        assertEquals(MultipartType.OFPMPMETER, requestInput.getValue().getType());
     }
 
     protected RpcResult<Object> buildMeterStatisticsReply() {
-        return RpcResultBuilder.<Object>success(Collections.singletonList(
+        return RpcResultBuilder.<Object>success(List.of(
                 new MultipartReplyMessageBuilder()
                         .setVersion(EncodeConstants.OF_VERSION_1_3)
                         .setMultipartReplyBody(new MultipartReplyMeterCaseBuilder()
                                 .setMultipartReplyMeter(new MultipartReplyMeterBuilder()
-                                        .setMeterStats(Collections.singletonList(new MeterStatsBuilder()
+                                        .setMeterStats(List.of(new MeterStatsBuilder()
                                                 .setMeterId(METER_ID)
                                                 .setByteInCount(Uint64.valueOf(81))
                                                 .setDurationSec(Uint32.valueOf(82))
                                                 .setDurationNsec(Uint32.valueOf(83))
                                                 .setFlowCount(Uint32.valueOf(84))
                                                 .setPacketInCount(Uint64.valueOf(85))
-                                                .setMeterBandStats(Collections.singletonList(new MeterBandStatsBuilder()
+                                                .setMeterBandStats(List.of(new MeterBandStatsBuilder()
                                                         .setByteBandCount(Uint64.valueOf(86))
                                                         .setPacketBandCount(Uint64.valueOf(87))
                                                         .build()))