Search in sources :

Example 71 with CeTask

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

the class CeWorkerImplTest method fail_to_process_task.

@Test
public void fail_to_process_task() throws Exception {
    CeTask task = createCeTask(null);
    when(queue.peek(anyString(), anyBoolean())).thenReturn(Optional.of(task));
    taskProcessorRepository.setProcessorForTask(task.getType(), taskProcessor);
    Throwable error = makeTaskProcessorFail(task);
    assertThat(underTest.call()).isEqualTo(TASK_PROCESSED);
    verifyWorkerUuid();
    inOrder.verify(executionListener1).onStart(task);
    inOrder.verify(executionListener2).onStart(task);
    inOrder.verify(taskProcessor).process(task);
    inOrder.verify(queue).remove(task, CeActivityDto.Status.FAILED, null, error);
    inOrder.verify(executionListener1).onEnd(eq(task), eq(CeActivityDto.Status.FAILED), any(), isNull(), eq(error));
    inOrder.verify(executionListener2).onEnd(eq(task), eq(CeActivityDto.Status.FAILED), any(), isNull(), eq(error));
}
Also used : CeTask(org.sonar.ce.task.CeTask) Test(org.junit.Test)

Example 72 with CeTask

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

the class ReportAnalysisFailureNotificationExecutionListenerTest method onStart_has_no_effect.

@Test
public void onStart_has_no_effect() {
    CeTask mockedCeTask = mock(CeTask.class);
    fullMockedUnderTest.onStart(mockedCeTask);
    verifyZeroInteractions(mockedCeTask, notificationService, dbClientMock, serializer, system2);
}
Also used : CeTask(org.sonar.ce.task.CeTask) Test(org.junit.Test)

Example 73 with CeTask

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

the class InternalCeQueueImplTest method remove_sets_analysisUuid_in_CeActivity_when_CeTaskResult_has_analysis_uuid.

@Test
public void remove_sets_analysisUuid_in_CeActivity_when_CeTaskResult_has_analysis_uuid() {
    CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
    Optional<CeTask> peek = underTest.peek(WORKER_UUID_2, true);
    underTest.remove(peek.get(), CeActivityDto.Status.SUCCESS, newTaskResult(AN_ANALYSIS_UUID), null);
    // available in history
    Optional<CeActivityDto> history = db.getDbClient().ceActivityDao().selectByUuid(db.getSession(), task.getUuid());
    assertThat(history).isPresent();
    assertThat(history.get().getAnalysisUuid()).isEqualTo("U1");
}
Also used : CeActivityDto(org.sonar.db.ce.CeActivityDto) CeTask(org.sonar.ce.task.CeTask) Test(org.junit.Test)

Example 74 with CeTask

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

the class InternalCeQueueImplTest method massSubmit_returns_tasks_for_each_CeTaskSubmit_populated_from_CeTaskSubmit_and_creates_CeQueue_row_for_each.

@Test
public void massSubmit_returns_tasks_for_each_CeTaskSubmit_populated_from_CeTaskSubmit_and_creates_CeQueue_row_for_each() {
    CeTaskSubmit taskSubmit1 = createTaskSubmit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"), "rob");
    CeTaskSubmit taskSubmit2 = createTaskSubmit("some type");
    List<CeTask> tasks = underTest.massSubmit(asList(taskSubmit1, taskSubmit2));
    UserDto userDto1 = db.getDbClient().userDao().selectByUuid(db.getSession(), taskSubmit1.getSubmitterUuid());
    assertThat(tasks).hasSize(2);
    verifyCeTask(taskSubmit1, tasks.get(0), null, userDto1);
    verifyCeTask(taskSubmit2, tasks.get(1), null, null);
    verifyCeQueueDtoForTaskSubmit(taskSubmit1);
    verifyCeQueueDtoForTaskSubmit(taskSubmit2);
}
Also used : UserDto(org.sonar.db.user.UserDto) CeTask(org.sonar.ce.task.CeTask) Test(org.junit.Test)

Example 75 with CeTask

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

the class InternalCeQueueImplTest method submit_populates_component_name_and_key_of_CeTask_if_component_exists.

@Test
public void submit_populates_component_name_and_key_of_CeTask_if_component_exists() {
    ComponentDto componentDto = insertComponent(newProjectDto("PROJECT_1"));
    CeTaskSubmit taskSubmit = createTaskSubmit(CeTaskTypes.REPORT, componentDto, null);
    CeTask task = underTest.submit(taskSubmit);
    verifyCeTask(taskSubmit, task, componentDto, null);
}
Also used : ComponentDto(org.sonar.db.component.ComponentDto) 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