Merge "Bug 6110: Fixed bugs in statistics manager due to race condition." into stable...
[openflowplugin.git] / openflowplugin-impl / src / test / java / org / opendaylight / openflowplugin / impl / OpenFlowPluginProviderImplTest.java
index c32fdc8aab54cbde124a6d2ebcc4ab98e5743007..c6fbf45dcca0e02fcf701511a34fb58850f739c9 100644 (file)
@@ -10,9 +10,9 @@ package org.opendaylight.openflowplugin.impl;
 
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
+
 import com.google.common.collect.Lists;
 import com.google.common.util.concurrent.Futures;
 import org.junit.After;
@@ -28,6 +28,7 @@ import org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipL
 import org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipService;
 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
 import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
+import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider;
 import org.opendaylight.openflowjava.protocol.spi.connection.SwitchConnectionProvider;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.openflowplugin.sm.control.rev150812.StatisticsManagerControlService;
 
@@ -58,8 +59,14 @@ public class OpenFlowPluginProviderImplTest {
     @Mock
     SwitchConnectionProvider switchConnectionProvider;
 
+    @Mock
+    ClusterSingletonServiceProvider clusterSingletonServiceProvider;
+
     private static final long RPC_REQUESTS_QUOTA = 500;
     private static final long GLOBAL_NOTIFICATION_QUOTA = 131072;
+    private static final int THREAD_POOL_MIN_THREADS = 1;
+    private static final int THREAD_POOL_MAX_THREADS = 32000;
+    private static final long THREAD_POOL_TIMEOUT = 60;
 
     private OpenFlowPluginProviderImpl provider;
 
@@ -71,12 +78,19 @@ public class OpenFlowPluginProviderImplTest {
         when(rpcProviderRegistry.addRpcImplementation(eq(StatisticsManagerControlService.class), any())).thenReturn(controlServiceRegistration);
         when(switchConnectionProvider.startup()).thenReturn(Futures.immediateCheckedFuture(null));
 
-        provider = new OpenFlowPluginProviderImpl(RPC_REQUESTS_QUOTA, GLOBAL_NOTIFICATION_QUOTA);
+        provider = new OpenFlowPluginProviderImpl(
+                RPC_REQUESTS_QUOTA,
+                GLOBAL_NOTIFICATION_QUOTA,
+                THREAD_POOL_MIN_THREADS,
+                THREAD_POOL_MAX_THREADS,
+                THREAD_POOL_TIMEOUT);
+
         provider.setDataBroker(dataBroker);
         provider.setRpcProviderRegistry(rpcProviderRegistry);
         provider.setNotificationProviderService(notificationService);
-        provider.setEntityOwnershipService(entityOwnershipService);
         provider.setSwitchConnectionProviders(Lists.newArrayList(switchConnectionProvider));
+        provider.setClusteringSingletonServicesProvider(clusterSingletonServiceProvider);
+        provider.setEntityOwnershipServiceProvider(entityOwnershipService);
     }
 
     @After
@@ -88,8 +102,5 @@ public class OpenFlowPluginProviderImplTest {
     public void testInitializeAndClose() throws Exception {
         provider.initialize();
         verify(switchConnectionProvider).startup();
-
-        provider.close();
-        verify(entityOwnershipListenerRegistration, times(2)).close();
     }
 }
\ No newline at end of file