Search in sources :

Example 1 with CeConfiguration

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();
}
Also used : TimeUnit(java.util.concurrent.TimeUnit) CeConfiguration(org.sonar.ce.configuration.CeConfiguration) InternalCeQueue(org.sonar.ce.queue.InternalCeQueue) Test(org.junit.Test)

Example 2 with CeConfiguration

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;
}
Also used : CeConfiguration(org.sonar.ce.configuration.CeConfiguration)

Aggregations

CeConfiguration (org.sonar.ce.configuration.CeConfiguration)2 TimeUnit (java.util.concurrent.TimeUnit)1 Test (org.junit.Test)1 InternalCeQueue (org.sonar.ce.queue.InternalCeQueue)1