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=17672c9efeb845bb20ad91e5603842d803047081;hb=b4f4b4b702e2ccd8a7c62fd2a5c184c5b1cbe665;hp=31e74a8b3fcda53964d772d6cd393f1b0b3d7085;hpb=1061cc9d6929e8bb2052f4562bedd7fdce5034ac;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 31e74a8b3f..17672c9efe 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 @@ -1,41 +1,51 @@ /* + * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. * - * * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. - * * - * * This program and the accompanying materials are made available under the - * * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * * and is available at http://www.eclipse.org/legal/epl-v10.html - * - * + * This program and the accompanying materials are made available under the + * 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; @RunWith(Parameterized.class) public class StatisticsContextImplParamTest extends StatisticsContextImpMockInitiation { + @Mock + private 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,32 +67,54 @@ public class StatisticsContextImplParamTest extends StatisticsContextImpMockInit }); } - - + @Before + public void setUp() { + Mockito.when(config.isIsTableStatisticsPollingOn()).thenReturn(true); + Mockito.when(config.isIsFlowStatisticsPollingOn()).thenReturn(true); + Mockito.when(config.isIsGroupStatisticsPollingOn()).thenReturn(true); + Mockito.when(config.isIsMeterStatisticsPollingOn()).thenReturn(true); + Mockito.when(config.isIsPortStatisticsPollingOn()).thenReturn(true); + Mockito.when(config.isIsQueueStatisticsPollingOn()).thenReturn(true); + Mockito.when(config.getBasicTimerDelay()).thenReturn(new NonZeroUint32Type(3000L)); + Mockito.when(config.getMaximumTimerDelay()).thenReturn(new NonZeroUint32Type(50000L)); + } @Test - public void gatherDynamicDataTest() { - - - final StatisticsContextImpl statisticsContext = new StatisticsContextImpl(mockedDeviceContext.getDeviceState().getNodeId(), false, mockConductor); - - final ListenableFuture>> rpcResult = immediateFuture(RpcResultBuilder.success(Collections.emptyList()).build()); + public void gatherDynamicDataTest() throws InterruptedException { + + 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<>( + 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.instantiateServiceInstance(); - 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)); } }