Search in sources :

Example 76 with CeTask

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

the class InternalCeQueueImplTest method massSubmit_populates_component_name_and_key_of_CeTask_if_component_exists.

@Test
public void massSubmit_populates_component_name_and_key_of_CeTask_if_component_exists() {
    ComponentDto componentDto1 = insertComponent(newProjectDto("PROJECT_1"));
    CeTaskSubmit taskSubmit1 = createTaskSubmit(CeTaskTypes.REPORT, componentDto1, null);
    CeTaskSubmit taskSubmit2 = createTaskSubmit("something", newProjectDto("non existing component uuid"), null);
    List<CeTask> tasks = underTest.massSubmit(asList(taskSubmit1, taskSubmit2));
    assertThat(tasks).hasSize(2);
    verifyCeTask(taskSubmit1, tasks.get(0), componentDto1, null);
    verifyCeTask(taskSubmit2, tasks.get(1), null, null);
}
Also used : ComponentDto(org.sonar.db.component.ComponentDto) CeTask(org.sonar.ce.task.CeTask) Test(org.junit.Test)

Example 77 with CeTask

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

the class InternalCeQueueImplTest method cancel_pending.

@Test
public void cancel_pending() {
    CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
    CeQueueDto queueDto = db.getDbClient().ceQueueDao().selectByUuid(db.getSession(), task.getUuid()).get();
    underTest.cancel(db.getSession(), queueDto);
    Optional<CeActivityDto> activity = db.getDbClient().ceActivityDao().selectByUuid(db.getSession(), task.getUuid());
    assertThat(activity).isPresent();
    assertThat(activity.get().getStatus()).isEqualTo(CeActivityDto.Status.CANCELED);
}
Also used : CeActivityDto(org.sonar.db.ce.CeActivityDto) CeQueueDto(org.sonar.db.ce.CeQueueDto) CeTask(org.sonar.ce.task.CeTask) Test(org.junit.Test)

Example 78 with CeTask

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

the class InternalCeQueueImplTest method fail_to_remove_if_not_in_queue.

@Test
public void fail_to_remove_if_not_in_queue() {
    CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
    underTest.remove(task, CeActivityDto.Status.SUCCESS, null, null);
    assertThatThrownBy(() -> underTest.remove(task, CeActivityDto.Status.SUCCESS, null, null)).isInstanceOf(IllegalStateException.class);
}
Also used : CeTask(org.sonar.ce.task.CeTask) Test(org.junit.Test)

Example 79 with CeTask

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

the class InternalCeQueueImplTest method fail_to_cancel_if_in_progress.

@Test
public void fail_to_cancel_if_in_progress() {
    CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
    underTest.peek(WORKER_UUID_2, true);
    CeQueueDto queueDto = db.getDbClient().ceQueueDao().selectByUuid(db.getSession(), task.getUuid()).get();
    assertThatThrownBy(() -> underTest.cancel(db.getSession(), queueDto)).isInstanceOf(IllegalStateException.class).hasMessageContaining("Task is in progress and can't be canceled");
}
Also used : CeQueueDto(org.sonar.db.ce.CeQueueDto) CeTask(org.sonar.ce.task.CeTask) Test(org.junit.Test)

Example 80 with CeTask

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

the class InternalCeQueueImplTest method cancelWornOuts_does_not_update_queueStatus.

@Test
public void cancelWornOuts_does_not_update_queueStatus() {
    CEQueueStatus queueStatusMock = mock(CEQueueStatus.class);
    CeTask task = submit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"));
    db.executeUpdateSql("update ce_queue set status = 'PENDING', started_at = 123 where uuid = '" + task.getUuid() + "'");
    db.commit();
    InternalCeQueueImpl underTest = new InternalCeQueueImpl(system2, db.getDbClient(), null, queueStatusMock, null);
    underTest.cancelWornOuts();
    assertThat(db.getDbClient().ceActivityDao().selectByUuid(db.getSession(), task.getUuid())).isPresent();
    verifyZeroInteractions(queueStatusMock);
}
Also used : CEQueueStatus(org.sonar.ce.monitoring.CEQueueStatus) 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