Search in sources :

Example 1 with CEQueueStatus

use of org.sonar.ce.monitoring.CEQueueStatus in project sonarqube by SonarSource.

the class InternalCeQueueImplTest method remove_updates_queueStatus_failure_even_if_task_does_not_exist_in_DB.

@Test
public void remove_updates_queueStatus_failure_even_if_task_does_not_exist_in_DB() {
    CEQueueStatus queueStatusMock = 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, queueStatusMock, null);
    try {
        underTest.remove(task, CeActivityDto.Status.FAILED, null, null);
        fail("remove should have thrown a IllegalStateException");
    } catch (IllegalStateException e) {
        verify(queueStatusMock).addError(anyLong());
    }
}
Also used : CEQueueStatus(org.sonar.ce.monitoring.CEQueueStatus) CeTask(org.sonar.ce.task.CeTask) Test(org.junit.Test)

Example 2 with CEQueueStatus

use of org.sonar.ce.monitoring.CEQueueStatus 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)

Example 3 with CEQueueStatus

use of org.sonar.ce.monitoring.CEQueueStatus 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)

Aggregations

Test (org.junit.Test)3 CEQueueStatus (org.sonar.ce.monitoring.CEQueueStatus)3 CeTask (org.sonar.ce.task.CeTask)3