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;
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;
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)
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)
@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());
checkWorkModeChangeOutcome(workMode);
verify(itemLifeCycleRegistry).getLifeCycleSources();
- verify(statisticContext).getPollTimeout();
+ verify(statisticContext).stopGatheringData();
}
private static void checkWorkModeChangeOutcome(Future<RpcResult<Void>> workMode) throws InterruptedException, ExecutionException {
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));
checkWorkModeChangeOutcome(workMode);
verify(itemLifeCycleRegistry).getLifeCycleSources();
- verify(statisticContext).getPollTimeout();
- verify(pollTimeout).cancel();
+ verify(statisticContext).stopGatheringData();
verify(itemLifecycleSource).setItemLifecycleListener(Matchers.<ItemLifecycleListener>any());
}
.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(
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());