GenericEntityOwnershipListener<TestInstanceIdentifier,
GenericEntityOwnershipChange<TestInstanceIdentifier, TestEntity>>>> singletonServiceGroup;
+ private ClusterSingletonServiceRegistration firstReg;
+ private ClusterSingletonServiceRegistration secondReg;
+
/**
* Initialization functionality for every Tests in this suite.
*
doReturn(SERVICE_GROUP_IDENT).when(mockClusterSingletonService).getIdentifier();
doReturn(SERVICE_GROUP_IDENT).when(mockClusterSingletonServiceSecond).getIdentifier();
+ firstReg = new AbstractClusterSingletonServiceRegistration(mockClusterSingletonService) {
+ @Override
+ protected void removeRegistration() {
+ // No-op
+ }
+ };
+ secondReg = new AbstractClusterSingletonServiceRegistration(mockClusterSingletonServiceSecond) {
+ @Override
+ protected void removeRegistration() {
+ // No-op
+ }
+ };
+
singletonServiceGroup = new ClusterSingletonServiceGroupImpl<>(SERVICE_IDENTIFIER, MAIN_ENTITY, CLOSE_ENTITY,
mockEosService);
}
public void initializationSlaveTest() throws CandidateAlreadyRegisteredException {
singletonServiceGroup.initialize();
verify(mockEosService).registerCandidate(MAIN_ENTITY);
- singletonServiceGroup.registerService(mockClusterSingletonService);
+ singletonServiceGroup.registerService(firstReg);
singletonServiceGroup.ownershipChanged(getEntityToSlave());
verify(mockClusterSingletonService, never()).instantiateServiceInstance();
verify(mockEosService, never()).registerCandidate(CLOSE_ENTITY);
public void initializationNoMasterTest() throws CandidateAlreadyRegisteredException {
singletonServiceGroup.initialize();
verify(mockEosService).registerCandidate(MAIN_ENTITY);
- singletonServiceGroup.registerService(mockClusterSingletonService);
+ singletonServiceGroup.registerService(firstReg);
singletonServiceGroup.ownershipChanged(getEntityToSlaveNoMaster());
verify(mockClusterSingletonService, never()).instantiateServiceInstance();
verify(mockEosService, never()).registerCandidate(CLOSE_ENTITY);
public void initializationInJeopardyTest() throws CandidateAlreadyRegisteredException {
singletonServiceGroup.initialize();
verify(mockEosService).registerCandidate(MAIN_ENTITY);
- singletonServiceGroup.registerService(mockClusterSingletonService);
+ singletonServiceGroup.registerService(firstReg);
singletonServiceGroup.ownershipChanged(getEntityToJeopardy());
verify(mockClusterSingletonService, never()).instantiateServiceInstance();
verify(mockEosService, never()).registerCandidate(CLOSE_ENTITY);
public void serviceRegistrationClusterSingletonServiceGroupTest() throws CandidateAlreadyRegisteredException {
singletonServiceGroup.initialize();
verify(mockEosService).registerCandidate(MAIN_ENTITY);
- singletonServiceGroup.registerService(mockClusterSingletonService);
+ singletonServiceGroup.registerService(firstReg);
}
/**
throws CandidateAlreadyRegisteredException {
singletonServiceGroup.initialize();
verify(mockEosService).registerCandidate(MAIN_ENTITY);
- singletonServiceGroup.registerService(mockClusterSingletonService);
- singletonServiceGroup.registerService(mockClusterSingletonServiceSecond);
+ singletonServiceGroup.registerService(firstReg);
+ singletonServiceGroup.registerService(secondReg);
}
/**
public void serviceUnregistrationClusterSingletonServiceGroupTest() throws CandidateAlreadyRegisteredException {
singletonServiceGroup.initialize();
verify(mockEosService).registerCandidate(MAIN_ENTITY);
- singletonServiceGroup.registerService(mockClusterSingletonService);
- assertTrue(singletonServiceGroup.unregisterService(mockClusterSingletonService));
+ singletonServiceGroup.registerService(firstReg);
+ assertTrue(singletonServiceGroup.unregisterService(firstReg));
verify(mockClusterSingletonService, never()).closeServiceInstance();
}
throws CandidateAlreadyRegisteredException {
singletonServiceGroup.initialize();
verify(mockEosService).registerCandidate(MAIN_ENTITY);
- singletonServiceGroup.registerService(mockClusterSingletonService);
- singletonServiceGroup.registerService(mockClusterSingletonServiceSecond);
- assertFalse(singletonServiceGroup.unregisterService(mockClusterSingletonService));
+ singletonServiceGroup.registerService(firstReg);
+ singletonServiceGroup.registerService(secondReg);
+ assertFalse(singletonServiceGroup.unregisterService(firstReg));
verify(mockClusterSingletonService, never()).closeServiceInstance();
}
public void getSlaveClusterSingletonServiceGroupTest() throws CandidateAlreadyRegisteredException {
singletonServiceGroup.initialize();
verify(mockEosService).registerCandidate(MAIN_ENTITY);
- singletonServiceGroup.registerService(mockClusterSingletonService);
+ singletonServiceGroup.registerService(firstReg);
singletonServiceGroup.ownershipChanged(getEntityToSlave());
verify(mockClusterSingletonService, never()).instantiateServiceInstance();
}
public void tryToTakeLeaderClusterSingletonServiceGroupTest() throws CandidateAlreadyRegisteredException {
singletonServiceGroup.initialize();
verify(mockEosService).registerCandidate(MAIN_ENTITY);
- singletonServiceGroup.registerService(mockClusterSingletonService);
+ singletonServiceGroup.registerService(firstReg);
singletonServiceGroup.ownershipChanged(getEntityToMaster());
verify(mockClusterSingletonService, never()).instantiateServiceInstance();
verify(mockEosService).registerCandidate(CLOSE_ENTITY);
public void takeMasterClusterSingletonServiceGroupTest() throws CandidateAlreadyRegisteredException {
singletonServiceGroup.initialize();
verify(mockEosService).registerCandidate(MAIN_ENTITY);
- singletonServiceGroup.registerService(mockClusterSingletonService);
+ singletonServiceGroup.registerService(firstReg);
singletonServiceGroup.ownershipChanged(getEntityToMaster());
verify(mockClusterSingletonService, never()).instantiateServiceInstance();
verify(mockEosService).registerCandidate(CLOSE_ENTITY);
public void waitToTakeMasterClusterSingletonServiceGroupTest() throws CandidateAlreadyRegisteredException {
singletonServiceGroup.initialize();
verify(mockEosService).registerCandidate(MAIN_ENTITY);
- singletonServiceGroup.registerService(mockClusterSingletonService);
+ singletonServiceGroup.registerService(firstReg);
singletonServiceGroup.ownershipChanged(getEntityToMaster());
verify(mockClusterSingletonService, never()).instantiateServiceInstance();
verify(mockEosService).registerCandidate(CLOSE_ENTITY);
public void inJeopardyInWaitPhaseClusterSingletonServiceGroupTest() throws CandidateAlreadyRegisteredException {
singletonServiceGroup.initialize();
verify(mockEosService).registerCandidate(MAIN_ENTITY);
- singletonServiceGroup.registerService(mockClusterSingletonService);
+ singletonServiceGroup.registerService(firstReg);
singletonServiceGroup.ownershipChanged(getEntityToMaster());
verify(mockClusterSingletonService, never()).instantiateServiceInstance();
verify(mockEosService).registerCandidate(CLOSE_ENTITY);
throws CandidateAlreadyRegisteredException {
singletonServiceGroup.initialize();
verify(mockEosService).registerCandidate(MAIN_ENTITY);
- singletonServiceGroup.registerService(mockClusterSingletonService);
- singletonServiceGroup.registerService(mockClusterSingletonServiceSecond);
+ singletonServiceGroup.registerService(firstReg);
+ singletonServiceGroup.registerService(secondReg);
singletonServiceGroup.ownershipChanged(getEntityToMaster());
verify(mockClusterSingletonService, never()).instantiateServiceInstance();
verify(mockEosService).registerCandidate(CLOSE_ENTITY);
public void inJeopardyLeaderClusterSingletonServiceGroupTest() throws CandidateAlreadyRegisteredException {
singletonServiceGroup.initialize();
verify(mockEosService).registerCandidate(MAIN_ENTITY);
- singletonServiceGroup.registerService(mockClusterSingletonService);
+ singletonServiceGroup.registerService(firstReg);
singletonServiceGroup.ownershipChanged(getEntityToMaster());
verify(mockClusterSingletonService, never()).instantiateServiceInstance();
verify(mockEosService).registerCandidate(CLOSE_ENTITY);
public void lostLeaderClusterSingletonServiceGroupTest() throws CandidateAlreadyRegisteredException {
singletonServiceGroup.initialize();
verify(mockEosService).registerCandidate(MAIN_ENTITY);
- singletonServiceGroup.registerService(mockClusterSingletonService);
+ singletonServiceGroup.registerService(firstReg);
singletonServiceGroup.ownershipChanged(getEntityToMaster());
verify(mockClusterSingletonService, never()).instantiateServiceInstance();
verify(mockEosService).registerCandidate(CLOSE_ENTITY);
*/
@Test(expected = RuntimeException.class)
public void tryToTakeLeaderForNotInitializedGroupTest() {
- singletonServiceGroup.registerService(mockClusterSingletonService);
+ singletonServiceGroup.registerService(firstReg);
}
/**
public void checkClosingRegistrationTest() throws CandidateAlreadyRegisteredException {
singletonServiceGroup.initialize();
verify(mockEosService).registerCandidate(MAIN_ENTITY);
- singletonServiceGroup.registerService(mockClusterSingletonService);
+ singletonServiceGroup.registerService(firstReg);
singletonServiceGroup.ownershipChanged(getEntityToMaster());
verify(mockClusterSingletonService, never()).instantiateServiceInstance();
verify(mockEosService).registerCandidate(CLOSE_ENTITY);
singletonServiceGroup.ownershipChanged(getDoubleEntityToMaster());
verify(mockClusterSingletonService).instantiateServiceInstance();
- assertTrue(singletonServiceGroup.unregisterService(mockClusterSingletonService));
+ assertTrue(singletonServiceGroup.unregisterService(firstReg));
verify(mockClusterSingletonService, never()).closeServiceInstance();
singletonServiceGroup.ownershipChanged(getEntityToSlaveNoMaster());
verify(mockClusterSingletonService).closeServiceInstance();
throws CandidateAlreadyRegisteredException {
singletonServiceGroup.initialize();
verify(mockEosService).registerCandidate(MAIN_ENTITY);
- singletonServiceGroup.registerService(mockClusterSingletonService);
+ singletonServiceGroup.registerService(firstReg);
singletonServiceGroup.ownershipChanged(getEntityToMaster());
verify(mockClusterSingletonService, never()).instantiateServiceInstance();
verify(mockEosService).registerCandidate(CLOSE_ENTITY);
throws CandidateAlreadyRegisteredException {
singletonServiceGroup.initialize();
verify(mockEosService).registerCandidate(MAIN_ENTITY);
- singletonServiceGroup.registerService(mockClusterSingletonService);
+ singletonServiceGroup.registerService(firstReg);
singletonServiceGroup.ownershipChanged(getEntityToSlave());
verify(mockClusterSingletonService, never()).instantiateServiceInstance();
verify(mockEosService, never()).registerCandidate(CLOSE_ENTITY);
ExecutionException {
initializeGroupAndStartService();
- assertTrue(singletonServiceGroup.unregisterService(mockClusterSingletonService));
+ assertTrue(singletonServiceGroup.unregisterService(firstReg));
verify(mockClusterSingletonService, never()).closeServiceInstance();
verify(mockEntityCandReg, never()).close();
private void initializeGroupAndStartService() throws CandidateAlreadyRegisteredException {
initialize();
- singletonServiceGroup.registerService(mockClusterSingletonService);
+ singletonServiceGroup.registerService(firstReg);
singletonServiceGroup.ownershipChanged(getEntityToMaster());
verify(mockEosService).registerCandidate(CLOSE_ENTITY);
singletonServiceGroup.ownershipChanged(getDoubleEntityToMaster());