/**
- * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
+ * Copyright (c) 2016 Pantheon Technologies s.r.o. 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,
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.runners.MockitoJUnitRunner;
+import org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipListenerRegistration;
+import org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipService;
import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider;
+import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceRegistration;
import org.opendaylight.mdsal.singleton.common.api.ServiceGroupIdentifier;
import org.opendaylight.openflowplugin.api.openflow.connection.ConnectionContext;
import org.opendaylight.openflowplugin.api.openflow.device.DeviceContext;
import org.opendaylight.openflowplugin.api.openflow.device.DeviceInfo;
import org.opendaylight.openflowplugin.api.openflow.lifecycle.LifecycleService;
import org.opendaylight.openflowplugin.api.openflow.registry.flow.DeviceFlowRegistry;
-import org.opendaylight.openflowplugin.api.openflow.role.RoleContext;
import org.opendaylight.openflowplugin.api.openflow.rpc.RpcContext;
import org.opendaylight.openflowplugin.api.openflow.statistics.StatisticsContext;
@Mock
private RpcContext rpcContext;
@Mock
- private RoleContext roleContext;
- @Mock
private StatisticsContext statContext;
@Mock
private ConnectionContext connectionContext;
private DeviceFlowRegistry deviceFlowRegistry;
@Mock
private ClusterSingletonServiceProvider clusterSingletonServiceProvider;
+ @Mock
+ private ClusterSingletonServiceRegistration clusterSingletonServiceRegistration;
+ @Mock
+ EntityOwnershipListenerRegistration entityOwnershipListenerRegistration;
private LifecycleService lifecycleService;
@Before
public void setUp() {
- lifecycleService = new LifecycleServiceImpl();
- lifecycleService.setDeviceContext(deviceContext);
- lifecycleService.setRpcContext(rpcContext);
- lifecycleService.setRoleContext(roleContext);
- lifecycleService.setStatContext(statContext);
Mockito.when(deviceContext.getDeviceInfo()).thenReturn(deviceInfo);
Mockito.when(deviceContext.getPrimaryConnectionContext()).thenReturn(connectionContext);
Mockito.when(deviceContext.getDeviceFlowRegistry()).thenReturn(deviceFlowRegistry);
Mockito.when(deviceFlowRegistry.fill()).thenReturn(Futures.immediateFuture(null));
Mockito.when(connectionContext.getConnectionState()).thenReturn(ConnectionContext.CONNECTION_STATE.WORKING);
Mockito.when(deviceInfo.getLOGValue()).thenReturn(TEST_NODE);
+ Mockito.when(clusterSingletonServiceProvider.registerClusterSingletonService(Mockito.any()))
+ .thenReturn(clusterSingletonServiceRegistration);
+
+ Mockito.when(deviceContext.stopClusterServices()).thenReturn(Futures.immediateFuture(null));
+ Mockito.when(statContext.stopClusterServices()).thenReturn(Futures.immediateFuture(null));
+ Mockito.when(rpcContext.stopClusterServices()).thenReturn(Futures.immediateFuture(null));
+
+ lifecycleService = new LifecycleServiceImpl();
+ lifecycleService.setDeviceContext(deviceContext);
+ lifecycleService.setRpcContext(rpcContext);
+ lifecycleService.setStatContext(statContext);
+ lifecycleService.registerService(clusterSingletonServiceProvider);
}
@Test
public void instantiateServiceInstance() throws Exception {
lifecycleService.instantiateServiceInstance();
- Mockito.verify(deviceContext).startupClusterServices();
- Mockito.verify(statContext).startupClusterServices();
- Mockito.verify(deviceContext).initialSubmitTransaction();
- Mockito.verify(rpcContext).startupClusterServices();
- Mockito.verify(roleContext).startupClusterServices();
+ Mockito.verify(deviceContext).setLifecycleInitializationPhaseHandler(Mockito.any());
+ Mockito.verify(statContext).setLifecycleInitializationPhaseHandler(Mockito.any());
+ Mockito.verify(statContext).setInitialSubmitHandler(Mockito.any());
+ Mockito.verify(rpcContext).setLifecycleInitializationPhaseHandler(Mockito.any());
}
@Test
public void closeServiceInstance() throws Exception {
- lifecycleService.closeServiceInstance();
- Mockito.verify(statContext).stopClusterServices(false);
- Mockito.verify(deviceContext).stopClusterServices(false);
- Mockito.verify(rpcContext).stopClusterServices(false);
- Mockito.verify(roleContext).stopClusterServices(false);
+ lifecycleService.closeServiceInstance().get();
+ Mockito.verify(statContext).stopClusterServices();
+ Mockito.verify(deviceContext).stopClusterServices();
+ Mockito.verify(rpcContext).stopClusterServices();
}
@Test
Mockito.verify(deviceContext).shutdownConnection();
}
-}
\ No newline at end of file
+}