X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflowplugin-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fopenflowplugin%2Fimpl%2Fstatistics%2FStatisticsContextImplParamTest.java;h=aee1e8c0b2cf7c266ce2119b3b6a8beba39a161d;hb=a69004dee78ec69bc90d763ab5a353c7a6d2d189;hp=5b7c3743505aedcdb3f7643a06d6ac7688fb176a;hpb=28890d32f1501ebb82b03746bce770c1c76dc456;p=openflowplugin.git diff --git a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/StatisticsContextImplParamTest.java b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/StatisticsContextImplParamTest.java index 5b7c374350..aee1e8c0b2 100644 --- a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/StatisticsContextImplParamTest.java +++ b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/StatisticsContextImplParamTest.java @@ -5,37 +5,47 @@ * 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.statistics; import static com.google.common.util.concurrent.Futures.immediateFuture; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import com.google.common.util.concurrent.ListenableFuture; +import com.google.common.util.concurrent.MoreExecutors; import java.util.Arrays; import java.util.Collections; import java.util.List; -import java.util.concurrent.ExecutionException; +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; +import org.mockito.Mock; +import org.mockito.Mockito; import org.opendaylight.openflowplugin.api.openflow.statistics.ofpspecific.EventIdentifier; +import org.opendaylight.openflowplugin.impl.datastore.MultipartWriterProviderFactory; 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.openflow.common.types.rev130731.MultipartType; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartReply; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.openflow.provider.config.rev160510.NonZeroUint32Type; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.openflow.provider.config.rev160510.OpenflowProviderConfig; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; +import org.opendaylight.yangtools.yang.common.Uint32; @RunWith(Parameterized.class) public class StatisticsContextImplParamTest extends StatisticsContextImpMockInitiation { + @Mock + private final OpenflowProviderConfig config = mock(OpenflowProviderConfig.class); - public StatisticsContextImplParamTest(final boolean isTable, final boolean isFlow, final boolean isGroup, final boolean isMeter, final boolean isPort, - final boolean isQueue) { + public StatisticsContextImplParamTest(final boolean isTable, final boolean isFlow, + final boolean isGroup, final boolean isMeter, + final boolean isPort, final boolean isQueue) { super(); this.isTable = isTable; this.isFlow = isFlow; @@ -57,35 +67,54 @@ public class StatisticsContextImplParamTest extends StatisticsContextImpMockInit }); } - - + @Before + public void setUp() { + Mockito.when(config.getIsTableStatisticsPollingOn()).thenReturn(true); + Mockito.when(config.getIsFlowStatisticsPollingOn()).thenReturn(true); + Mockito.when(config.getIsGroupStatisticsPollingOn()).thenReturn(true); + Mockito.when(config.getIsMeterStatisticsPollingOn()).thenReturn(true); + Mockito.when(config.getIsPortStatisticsPollingOn()).thenReturn(true); + Mockito.when(config.getIsQueueStatisticsPollingOn()).thenReturn(true); + Mockito.when(config.getBasicTimerDelay()).thenReturn(new NonZeroUint32Type(Uint32.valueOf(3000))); + Mockito.when(config.getMaximumTimerDelay()).thenReturn(new NonZeroUint32Type(Uint32.valueOf(50000))); + } @Test public void gatherDynamicDataTest() { - when(lifecycleService.getDeviceContext()).thenReturn(mockedDeviceContext); + when(mockedDeviceState.isTableStatisticsAvailable()).thenReturn(Boolean.TRUE); + when(mockedDeviceState.isFlowStatisticsAvailable()).thenReturn(Boolean.TRUE); + when(mockedDeviceState.isGroupAvailable()).thenReturn(Boolean.TRUE); + when(mockedDeviceState.isMetersAvailable()).thenReturn(Boolean.TRUE); + when(mockedDeviceState.isPortStatisticsAvailable()).thenReturn(Boolean.TRUE); + when(mockedDeviceState.isQueueStatisticsAvailable()).thenReturn(Boolean.TRUE); when(mockedDeviceContext.getDeviceState()).thenReturn(mockedDeviceState); final ConvertorManager convertorManager = ConvertorManagerFactory.createDefaultManager(); - final StatisticsContextImpl statisticsContext = new StatisticsContextImpl(mockedDeviceInfo, false, lifecycleService ,convertorManager, mockedStatisticsManager); - - final ListenableFuture>> rpcResult = immediateFuture(RpcResultBuilder.success(Collections.emptyList()).build()); + final StatisticsContextImpl statisticsContext = new StatisticsContextImpl<>( + mockedDeviceContext, convertorManager, + MultipartWriterProviderFactory.createDefaultProvider(mockedDeviceContext), + MoreExecutors.newDirectExecutorService(), + config, + true, + false); + + final ListenableFuture>> rpcResult = immediateFuture(RpcResultBuilder + .success(Collections.emptyList()).build()); when(mockedStatisticsGatheringService.getStatisticsOfType(any(EventIdentifier.class), any(MultipartType .class))).thenReturn(rpcResult); when(mockedStatisticsOnFlyGatheringService.getStatisticsOfType(any(EventIdentifier.class), any(MultipartType .class))).thenReturn(rpcResult); + statisticsContext.registerMastershipWatcher(mockedMastershipWatcher); statisticsContext.setStatisticsGatheringService(mockedStatisticsGatheringService); statisticsContext.setStatisticsGatheringOnTheFlyService(mockedStatisticsOnFlyGatheringService); + statisticsContext.initializeDevice(); - final ListenableFuture futureResult = statisticsContext.gatherDynamicData(); - - try { - assertTrue(futureResult.get()); - } catch (InterruptedException | ExecutionException e) { - fail("Exception wasn't expected."); - } - + verify(mockedStatisticsGatheringService, times(7)) + .getStatisticsOfType(any(EventIdentifier.class), any(MultipartType.class)); + verify(mockedStatisticsOnFlyGatheringService) + .getStatisticsOfType(any(EventIdentifier.class), any(MultipartType.class)); } }