use of org.sonar.ce.configuration.CeConfiguration in project sonarqube by SonarSource.
the class CeCleaningSchedulerImplTest method startScheduling_calls_cleaning_methods_of_internalCeQueue_at_fixed_rate_with_value_from_CeConfiguration.
@Test
public void startScheduling_calls_cleaning_methods_of_internalCeQueue_at_fixed_rate_with_value_from_CeConfiguration() {
InternalCeQueue mockedInternalCeQueue = mock(InternalCeQueue.class);
long wornOutInitialDelay = 10L;
long wornOutDelay = 20L;
long unknownWorkerInitialDelay = 11L;
long unknownWorkerDelay = 21L;
CeConfiguration mockedCeConfiguration = mockCeConfiguration(wornOutInitialDelay, wornOutDelay);
CeCleaningAdapter executorService = new CeCleaningAdapter() {
@Override
public ScheduledFuture<?> scheduleWithFixedDelay(Runnable command, long initDelay, long period, TimeUnit unit) {
schedulerCounter++;
switch(schedulerCounter) {
case 1:
assertThat(initDelay).isEqualTo(wornOutInitialDelay);
assertThat(period).isEqualTo(wornOutDelay);
assertThat(unit).isEqualTo(TimeUnit.MINUTES);
break;
case 2:
assertThat(initDelay).isEqualTo(unknownWorkerInitialDelay);
assertThat(period).isEqualTo(unknownWorkerDelay);
assertThat(unit).isEqualTo(TimeUnit.MINUTES);
break;
default:
fail("Unknwon call of scheduleWithFixedDelay");
}
// synchronously execute command
command.run();
return null;
}
};
CeCleaningSchedulerImpl underTest = new CeCleaningSchedulerImpl(executorService, mockedCeConfiguration, mockedInternalCeQueue, mockCeDistributedInformation(jobLock));
underTest.startScheduling();
assertThat(executorService.schedulerCounter).isOne();
}
use of org.sonar.ce.configuration.CeConfiguration in project sonarqube by SonarSource.
the class CeCleaningSchedulerImplTest method mockCeConfiguration.
private CeConfiguration mockCeConfiguration(long cleanCeTasksInitialDelay, long cleanCeTasksDelay) {
CeConfiguration mockedCeConfiguration = mock(CeConfiguration.class);
when(mockedCeConfiguration.getCleanTasksInitialDelay()).thenReturn(cleanCeTasksInitialDelay);
when(mockedCeConfiguration.getCleanTasksDelay()).thenReturn(cleanCeTasksDelay);
return mockedCeConfiguration;
}
Aggregations