Exctract onDevicePrepared to interface
[openflowplugin.git] / openflowplugin-impl / src / test / java / org / opendaylight / openflowplugin / impl / statistics / StatisticsManagerImplTest.java
index 8d15f27b3d882f6a85019d1029624952ed024e26..ebf9396c3d310e048f6b527038db8a286c2d5208 100644 (file)
@@ -12,12 +12,13 @@ import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import com.google.common.util.concurrent.Futures;
+import io.netty.util.HashedWheelTimer;
+import io.netty.util.Timeout;
 import java.lang.reflect.Field;
 import java.math.BigInteger;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
-import java.util.Optional;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 import org.junit.Assert;
@@ -56,6 +57,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.N
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.FeaturesReply;
 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.OpenflowProviderConfigBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.openflowplugin.sm.control.rev150812.ChangeStatisticsWorkModeInputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.openflowplugin.sm.control.rev150812.GetStatisticsWorkModeOutput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.openflowplugin.sm.control.rev150812.StatisticsManagerControlService;
@@ -64,8 +67,6 @@ import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import io.netty.util.HashedWheelTimer;
-import io.netty.util.Timeout;
 
 
 @RunWith(MockitoJUnitRunner.class)
@@ -152,8 +153,14 @@ public class StatisticsManagerImplTest {
         final ConvertorManager convertorManager = ConvertorManagerFactory.createDefaultManager();
         final long basicTimerDelay = 3000L;
         final long maximumTimerDelay = 900000L;
-        statisticsManager = new StatisticsManagerImpl(rpcProviderRegistry, false, new HashedWheelTimer(),
-                convertorManager, basicTimerDelay, maximumTimerDelay);
+
+        statisticsManager = new StatisticsManagerImpl(
+                new OpenflowProviderConfigBuilder()
+                        .setBasicTimerDelay(new NonZeroUint32Type(basicTimerDelay))
+                        .setMaximumTimerDelay(new NonZeroUint32Type(maximumTimerDelay))
+                        .setIsStatisticsPollingOn(false)
+                        .build(), rpcProviderRegistry, new HashedWheelTimer(),
+                convertorManager);
     }
 
     private static Map<DeviceInfo, StatisticsContext> getContextsMap(final StatisticsManagerImpl statisticsManager)
@@ -182,8 +189,6 @@ public class StatisticsManagerImplTest {
     @Test
     public void testChangeStatisticsWorkMode1() throws Exception {
         final StatisticsContext statisticContext = Mockito.mock(StatisticsContext.class);
-        when(statisticContext.getPollTimeout()).thenReturn(
-                Optional.<Timeout>empty());
         when(itemLifeCycleRegistry.getLifeCycleSources()).thenReturn(
                 Collections.<ItemLifeCycleSource>emptyList());
 
@@ -201,7 +206,7 @@ public class StatisticsManagerImplTest {
 
         checkWorkModeChangeOutcome(workMode);
         verify(itemLifeCycleRegistry).getLifeCycleSources();
-        verify(statisticContext).getPollTimeout();
+        verify(statisticContext).stopGatheringData();
     }
 
     private static void checkWorkModeChangeOutcome(Future<RpcResult<Void>> workMode) throws InterruptedException, ExecutionException {
@@ -220,8 +225,6 @@ public class StatisticsManagerImplTest {
         final Timeout pollTimeout = Mockito.mock(Timeout.class);
         final ItemLifeCycleSource itemLifecycleSource = Mockito.mock(ItemLifeCycleSource.class);
         final StatisticsContext statisticContext = Mockito.mock(StatisticsContext.class);
-        when(statisticContext.getPollTimeout()).thenReturn(
-                Optional.of(pollTimeout));
         when(itemLifeCycleRegistry.getLifeCycleSources()).thenReturn(
                 Collections.singletonList(itemLifecycleSource));
 
@@ -239,8 +242,7 @@ public class StatisticsManagerImplTest {
         checkWorkModeChangeOutcome(workMode);
 
         verify(itemLifeCycleRegistry).getLifeCycleSources();
-        verify(statisticContext).getPollTimeout();
-        verify(pollTimeout).cancel();
+        verify(statisticContext).stopGatheringData();
         verify(itemLifecycleSource).setItemLifecycleListener(Matchers.<ItemLifecycleListener>any());
     }
 
@@ -258,8 +260,6 @@ public class StatisticsManagerImplTest {
                 .setItemLifecycleListener(itemLifeCycleListenerCapt.capture());
 
         final StatisticsContext statisticContext = Mockito.mock(StatisticsContext.class);
-        when(statisticContext.getPollTimeout()).thenReturn(
-                Optional.of(pollTimeout));
         when(statisticContext.getItemLifeCycleListener()).thenReturn(
                 Mockito.mock(ItemLifecycleListener.class));
         when(itemLifeCycleRegistry.getLifeCycleSources()).thenReturn(
@@ -286,8 +286,7 @@ public class StatisticsManagerImplTest {
         checkWorkModeChangeOutcome(workMode);
 
         verify(itemLifeCycleRegistry, times(2)).getLifeCycleSources();
-        verify(statisticContext).getPollTimeout();
-        verify(pollTimeout).cancel();
+        verify(statisticContext).stopGatheringData();
 
         final List<ItemLifecycleListener> itemLifeCycleListenerValues = itemLifeCycleListenerCapt.getAllValues();
         Assert.assertEquals(2, itemLifeCycleListenerValues.size());