Search in sources :

Example 81 with CeTask

use of org.sonar.ce.task.CeTask in project sonarqube by SonarSource.

the class InternalCeQueueImplTest method peek_is_paused_then_resumed.

@Test
public void peek_is_paused_then_resumed() {
    CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
    underTest.pauseWorkers();
    Optional<CeTask> peek = underTest.peek(WORKER_UUID_1, true);
    assertThat(peek).isEmpty();
    underTest.resumeWorkers();
    peek = underTest.peek(WORKER_UUID_1, true);
    assertThat(peek).isPresent();
    assertThat(peek.get().getUuid()).isEqualTo(task.getUuid());
}
Also used : CeTask(org.sonar.ce.task.CeTask) Test(org.junit.Test)

Example 82 with CeTask

use of org.sonar.ce.task.CeTask in project sonarqube by SonarSource.

the class InternalCeQueueImplTest method remove_saves_error_when_TypedMessageException_is_provided.

@Test
public void remove_saves_error_when_TypedMessageException_is_provided() {
    Throwable error = new TypedExceptionImpl("aType", "aMessage");
    CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
    Optional<CeTask> peek = underTest.peek(WORKER_UUID_1, true);
    underTest.remove(peek.get(), CeActivityDto.Status.FAILED, null, error);
    CeActivityDto activityDto = db.getDbClient().ceActivityDao().selectByUuid(session, task.getUuid()).get();
    assertThat(activityDto.getErrorType()).isEqualTo("aType");
    assertThat(activityDto.getErrorMessage()).isEqualTo("aMessage");
    assertThat(activityDto.getErrorStacktrace()).isEqualToIgnoringWhitespace(stacktraceToString(error));
}
Also used : CeActivityDto(org.sonar.db.ce.CeActivityDto) CeTask(org.sonar.ce.task.CeTask) Test(org.junit.Test)

Example 83 with CeTask

use of org.sonar.ce.task.CeTask in project sonarqube by SonarSource.

the class InternalCeQueueImplTest method remove_updates_queueStatus_success_even_if_task_does_not_exist_in_DB.

@Test
public void remove_updates_queueStatus_success_even_if_task_does_not_exist_in_DB() {
    CEQueueStatus queueStatus = mock(CEQueueStatus.class);
    CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
    db.getDbClient().ceQueueDao().deleteByUuid(db.getSession(), task.getUuid());
    db.commit();
    InternalCeQueueImpl underTest = new InternalCeQueueImpl(system2, db.getDbClient(), null, queueStatus, null);
    try {
        underTest.remove(task, CeActivityDto.Status.SUCCESS, null, null);
        fail("remove should have thrown a IllegalStateException");
    } catch (IllegalStateException e) {
        verify(queueStatus).addSuccess(anyLong());
    }
}
Also used : CEQueueStatus(org.sonar.ce.monitoring.CEQueueStatus) CeTask(org.sonar.ce.task.CeTask) Test(org.junit.Test)

Example 84 with CeTask

use of org.sonar.ce.task.CeTask in project sonarqube by SonarSource.

the class CeTaskInterrupterWorkerExecutionListenerTest method onEnd_delegates_to_ceTaskInterrupter_onEnd.

@Test
public void onEnd_delegates_to_ceTaskInterrupter_onEnd() {
    CeTask ceTask = mock(CeTask.class);
    CeActivityDto.Status randomStatus = CeActivityDto.Status.values()[new Random().nextInt(CeActivityDto.Status.values().length)];
    underTest.onEnd(ceTask, randomStatus, Duration.of(1, ChronoUnit.SECONDS), null, null);
    verify(ceTaskInterrupter).onEnd(same(ceTask));
}
Also used : CeActivityDto(org.sonar.db.ce.CeActivityDto) Random(java.util.Random) CeTask(org.sonar.ce.task.CeTask) Test(org.junit.Test)

Example 85 with CeTask

use of org.sonar.ce.task.CeTask in project sonarqube by SonarSource.

the class CeTaskInterrupterWorkerExecutionListenerTest method onStart_delegates_to_ceTaskInterrupter_onStart.

@Test
public void onStart_delegates_to_ceTaskInterrupter_onStart() {
    CeTask ceTask = mock(CeTask.class);
    underTest.onStart(ceTask);
    verify(ceTaskInterrupter).onStart(same(ceTask));
}
Also used : CeTask(org.sonar.ce.task.CeTask) Test(org.junit.Test)

Aggregations

CeTask (org.sonar.ce.task.CeTask)85 Test (org.junit.Test)75 CeQueueDto (org.sonar.db.ce.CeQueueDto)17 CeActivityDto (org.sonar.db.ce.CeActivityDto)16 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)12 ComponentDto (org.sonar.db.component.ComponentDto)12 UserDto (org.sonar.db.user.UserDto)10 MessageException (org.sonar.api.utils.MessageException)7 Optional (java.util.Optional)5 Random (java.util.Random)5 CheckForNull (javax.annotation.CheckForNull)5 System2 (org.sonar.api.utils.System2)5 DbSession (org.sonar.db.DbSession)5 List (java.util.List)4 Map (java.util.Map)4 CountDownLatch (java.util.concurrent.CountDownLatch)4 Nullable (javax.annotation.Nullable)4 Assertions.assertThat (org.assertj.core.api.Assertions.assertThat)4 Assertions.assertThatThrownBy (org.assertj.core.api.Assertions.assertThatThrownBy)4 Rule (org.junit.Rule)4