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 3b6f0086ea80fba8467ee7f80f4089ba72718d1b..c6fbf45dcca0e02fcf701511a34fb58850f739c9 100644 (file)
@@ -8,8 +8,10 @@
 
 package org.opendaylight.openflowplugin.impl;
 
-import static org.mockito.Mockito.*;
-import static org.junit.Assert.*;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.eq;
+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;
@@ -23,9 +25,10 @@ import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.NotificationService;
 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipListenerRegistration;
+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.controller.md.sal.common.api.clustering.EntityOwnershipService;
+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;
 
@@ -56,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;
 
@@ -69,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
@@ -86,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