Search in sources :

Example 1 with CeTaskSubmit

use of org.sonar.ce.queue.CeTaskSubmit in project sonarqube by SonarSource.

the class InternalCeQueueImplTest method submit_returns_task_populated_from_CeTaskSubmit_and_creates_CeQueue_row.

@Test
public void submit_returns_task_populated_from_CeTaskSubmit_and_creates_CeQueue_row() {
    CeTaskSubmit taskSubmit = createTaskSubmit(CeTaskTypes.REPORT, "PROJECT_1", "rob");
    CeTask task = underTest.submit(taskSubmit);
    verifyCeTask(taskSubmit, task, null);
    verifyCeQueueDtoForTaskSubmit(taskSubmit);
}
Also used : CeTaskSubmit(org.sonar.ce.queue.CeTaskSubmit) CeTask(org.sonar.ce.queue.CeTask) Test(org.junit.Test)

Example 2 with CeTaskSubmit

use of org.sonar.ce.queue.CeTaskSubmit 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(newComponentDto("PROJECT_1"));
    CeTaskSubmit taskSubmit = createTaskSubmit(CeTaskTypes.REPORT, componentDto.uuid(), null);
    CeTask task = underTest.submit(taskSubmit);
    verifyCeTask(taskSubmit, task, componentDto);
}
Also used : ComponentDto(org.sonar.db.component.ComponentDto) CeTaskSubmit(org.sonar.ce.queue.CeTaskSubmit) CeTask(org.sonar.ce.queue.CeTask) Test(org.junit.Test)

Example 3 with CeTaskSubmit

use of org.sonar.ce.queue.CeTaskSubmit 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, "PROJECT_1", "rob");
    CeTaskSubmit taskSubmit2 = createTaskSubmit("some type");
    List<CeTask> tasks = underTest.massSubmit(asList(taskSubmit1, taskSubmit2));
    assertThat(tasks).hasSize(2);
    verifyCeTask(taskSubmit1, tasks.get(0), null);
    verifyCeTask(taskSubmit2, tasks.get(1), null);
    verifyCeQueueDtoForTaskSubmit(taskSubmit1);
    verifyCeQueueDtoForTaskSubmit(taskSubmit2);
}
Also used : CeTaskSubmit(org.sonar.ce.queue.CeTaskSubmit) CeTask(org.sonar.ce.queue.CeTask) Test(org.junit.Test)

Example 4 with CeTaskSubmit

use of org.sonar.ce.queue.CeTaskSubmit in project sonarqube by SonarSource.

the class AsyncIssueIndexingImplTest method characteristics_are_defined.

@Test
public void characteristics_are_defined() {
    BranchDto dto = new BranchDto().setBranchType(BRANCH).setKey("branch_1").setUuid("branch_uuid1").setProjectUuid("project_uuid1");
    dbClient.branchDao().insert(dbTester.getSession(), dto);
    dbTester.commit();
    insertSnapshot("analysis_1", "project_uuid1", 1);
    BranchDto dto2 = new BranchDto().setBranchType(PULL_REQUEST).setKey("pr_1").setUuid("pr_uuid_1").setProjectUuid("project_uuid2");
    dbClient.branchDao().insert(dbTester.getSession(), dto2);
    dbTester.commit();
    insertSnapshot("analysis_2", "project_uuid2", 2);
    underTest.triggerOnIndexCreation();
    ArgumentCaptor<Collection<CeTaskSubmit>> captor = ArgumentCaptor.forClass(Collection.class);
    verify(ceQueue, times(1)).massSubmit(captor.capture());
    List<Collection<CeTaskSubmit>> captures = captor.getAllValues();
    assertThat(captures).hasSize(1);
    Collection<CeTaskSubmit> tasks = captures.get(0);
    assertThat(tasks).hasSize(2);
    assertThat(tasks).extracting(p -> p.getCharacteristics().get(BRANCH_TYPE_KEY), p -> p.getCharacteristics().get(CeTaskCharacteristicDto.BRANCH_KEY), p -> p.getCharacteristics().get(CeTaskCharacteristicDto.PULL_REQUEST)).containsExactlyInAnyOrder(tuple("BRANCH", "branch_1", null), tuple("PULL_REQUEST", null, "pr_1"));
}
Also used : BranchDto(org.sonar.db.component.BranchDto) Arrays(java.util.Arrays) BRANCH_TYPE_KEY(org.sonar.db.ce.CeTaskCharacteristicDto.BRANCH_TYPE_KEY) STATUS_PROCESSED(org.sonar.db.component.SnapshotDto.STATUS_PROCESSED) REPORT(org.sonar.db.ce.CeTaskTypes.REPORT) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) HashMap(java.util.HashMap) PULL_REQUEST(org.sonar.db.component.BranchType.PULL_REQUEST) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) CeActivityDto(org.sonar.db.ce.CeActivityDto) ArgumentCaptor(org.mockito.ArgumentCaptor) Map(java.util.Map) BRANCH_ISSUE_SYNC(org.sonar.db.ce.CeTaskTypes.BRANCH_ISSUE_SYNC) CeTaskCharacteristicDto(org.sonar.db.ce.CeTaskCharacteristicDto) Before(org.junit.Before) DbTester(org.sonar.db.DbTester) System2(org.sonar.api.utils.System2) Assertions.tuple(org.assertj.core.api.Assertions.tuple) Collection(java.util.Collection) UuidFactory(org.sonar.core.util.UuidFactory) Test(org.junit.Test) Mockito.times(org.mockito.Mockito.times) Mockito.when(org.mockito.Mockito.when) BRANCH(org.sonar.db.component.BranchType.BRANCH) SequenceUuidFactory(org.sonar.core.util.SequenceUuidFactory) Mockito.verify(org.mockito.Mockito.verify) DbClient(org.sonar.db.DbClient) ArgumentMatchers.anyCollection(org.mockito.ArgumentMatchers.anyCollection) List(java.util.List) Rule(org.junit.Rule) LogTester(org.sonar.api.utils.log.LogTester) CeTaskSubmit(org.sonar.ce.queue.CeTaskSubmit) CeQueueDto(org.sonar.db.ce.CeQueueDto) Optional(java.util.Optional) Status(org.sonar.db.ce.CeActivityDto.Status) SnapshotDto(org.sonar.db.component.SnapshotDto) Assertions.assertThatCode(org.assertj.core.api.Assertions.assertThatCode) LoggerLevel(org.sonar.api.utils.log.LoggerLevel) CeQueue(org.sonar.ce.queue.CeQueue) Mockito.mock(org.mockito.Mockito.mock) BranchDto(org.sonar.db.component.BranchDto) Collection(java.util.Collection) ArgumentMatchers.anyCollection(org.mockito.ArgumentMatchers.anyCollection) CeTaskSubmit(org.sonar.ce.queue.CeTaskSubmit) Test(org.junit.Test)

Example 5 with CeTaskSubmit

use of org.sonar.ce.queue.CeTaskSubmit in project sonarqube by SonarSource.

the class ExportSubmitterImpl method submitProjectExport.

@Override
public CeTask submitProjectExport(String projectKey, @Nullable String submitterUuid) {
    requireNonNull(projectKey, "Project key can not be null");
    try (DbSession dbSession = dbClient.openSession(false)) {
        Optional<ComponentDto> project = dbClient.componentDao().selectByKey(dbSession, projectKey);
        checkArgument(project.isPresent(), "Project with key [%s] does not exist", projectKey);
        CeTaskSubmit submit = ceQueue.prepareSubmit().setComponent(fromDto(project.get())).setType(CeTaskTypes.PROJECT_EXPORT).setSubmitterUuid(submitterUuid).setCharacteristics(emptyMap()).build();
        return ceQueue.submit(submit);
    }
}
Also used : DbSession(org.sonar.db.DbSession) ComponentDto(org.sonar.db.component.ComponentDto) CeTaskSubmit(org.sonar.ce.queue.CeTaskSubmit)

Aggregations

CeTaskSubmit (org.sonar.ce.queue.CeTaskSubmit)11 Test (org.junit.Test)9 CeTask (org.sonar.ce.queue.CeTask)5 ComponentDto (org.sonar.db.component.ComponentDto)5 ArrayList (java.util.ArrayList)3 List (java.util.List)3 DbSession (org.sonar.db.DbSession)3 BranchDto (org.sonar.db.component.BranchDto)3 Arrays (java.util.Arrays)2 Collection (java.util.Collection)2 HashMap (java.util.HashMap)2 HashSet (java.util.HashSet)2 Map (java.util.Map)2 Optional (java.util.Optional)2 Assertions.assertThat (org.assertj.core.api.Assertions.assertThat)2 Assertions.assertThatCode (org.assertj.core.api.Assertions.assertThatCode)2 Assertions.tuple (org.assertj.core.api.Assertions.tuple)2 Description (org.hamcrest.Description)2 TypeSafeMatcher (org.hamcrest.TypeSafeMatcher)2 Before (org.junit.Before)2