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);
}
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);
}
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);
}
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");
}
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);
}
Aggregations