@Test
public void submit_populates_component_name_and_key_of_CeTask_if_component_exists() {
ComponentDto componentDto = insertComponent(ComponentTesting.newPrivateProjectDto("PROJECT_1"));
- CeTaskSubmit taskSubmit = createTaskSubmit(CeTaskTypes.REPORT, Component.fromDto(componentDto), null);
+ CeTaskSubmit taskSubmit = createTaskSubmit(CeTaskTypes.REPORT, Component.fromDto(componentDto.uuid(), componentDto.uuid()), null);
CeTask task = underTest.submit(taskSubmit);
@Test
public void massSubmit_populates_component_name_and_key_of_CeTask_if_project_exists() {
ComponentDto componentDto1 = insertComponent(ComponentTesting.newPrivateProjectDto("PROJECT_1"));
- CeTaskSubmit taskSubmit1 = createTaskSubmit(CeTaskTypes.REPORT, Component.fromDto(componentDto1), null);
+ CeTaskSubmit taskSubmit1 = createTaskSubmit(CeTaskTypes.REPORT, Component.fromDto(componentDto1.uuid(), componentDto1.uuid()), null);
CeTaskSubmit taskSubmit2 = createTaskSubmit("something", newComponent(randomAlphabetic(12)), null);
List<CeTask> tasks = underTest.massSubmit(asList(taskSubmit1, taskSubmit2));
ComponentDto project = insertComponent(ComponentTesting.newPrivateProjectDto("PROJECT_1"));
ComponentDto branch1 = db.components().insertProjectBranch(project);
ComponentDto branch2 = db.components().insertProjectBranch(project);
- CeTaskSubmit taskSubmit1 = createTaskSubmit(CeTaskTypes.REPORT, Component.fromDto(branch1), null);
- CeTaskSubmit taskSubmit2 = createTaskSubmit("something", Component.fromDto(branch2), null);
+ CeTaskSubmit taskSubmit1 = createTaskSubmit(CeTaskTypes.REPORT, Component.fromDto(branch1.uuid(), project.uuid()), null);
+ CeTaskSubmit taskSubmit2 = createTaskSubmit("something", Component.fromDto(branch2.uuid(), project.uuid()), null);
List<CeTask> tasks = underTest.massSubmit(asList(taskSubmit1, taskSubmit2));
this.mainComponentUuid = requireNonNull(nullToEmpty(mainComponentUuid), "mainComponentUuid can't be null");
}
- public static Component fromDto(ComponentDto dto) {
- String uuid = dto.uuid();
- return new Component(uuid, firstNonNull(dto.getMainBranchProjectUuid(), uuid));
+ public static Component fromDto(String componentUuid, String mainComponentUuid) {
+ return new Component(componentUuid, mainComponentUuid);
}
public static Component fromDto(ProjectDto dto) {
@Test
public void submit_returns_task_populated_from_CeTaskSubmit_and_creates_CeQueue_row() {
- CeTaskSubmit taskSubmit = createTaskSubmit(CeTaskTypes.REPORT, newProjectDto("PROJECT_1"), "rob");
+ ComponentDto project1 = newProjectDto("PROJECT_1");
+ CeTaskSubmit taskSubmit = createTaskSubmit(CeTaskTypes.REPORT, project1, project1, "rob");
CeTask task = underTest.submit(taskSubmit);
UserDto userDto = db.getDbClient().userDao().selectByUuid(db.getSession(), taskSubmit.getSubmitterUuid());
verifyCeTask(taskSubmit, task, null, userDto);
@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);
+ CeTaskSubmit taskSubmit = createTaskSubmit(CeTaskTypes.REPORT, componentDto, componentDto, null);
CeTask task = underTest.submit(taskSubmit);
@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");
+ ComponentDto project1 = newProjectDto("PROJECT_1");
+ CeTaskSubmit taskSubmit1 = createTaskSubmit(CeTaskTypes.REPORT, project1, project1, "rob");
CeTaskSubmit taskSubmit2 = createTaskSubmit("some type");
List<CeTask> tasks = underTest.massSubmit(asList(taskSubmit1, taskSubmit2));
@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);
+ CeTaskSubmit taskSubmit1 = createTaskSubmit(CeTaskTypes.REPORT, componentDto1, componentDto1, null);
+ ComponentDto nonExistingComponent = newProjectDto("non existing component uuid");
+ CeTaskSubmit taskSubmit2 = createTaskSubmit("something", nonExistingComponent, nonExistingComponent, null);
List<CeTask> tasks = underTest.massSubmit(asList(taskSubmit1, taskSubmit2));
public void peek_populates_name_and_key_for_existing_component_and_main_component() {
ComponentDto project = db.components().insertPrivateProject();
ComponentDto branch = db.components().insertProjectBranch(project);
- CeTask task = submit(CeTaskTypes.REPORT, branch);
+ CeTask task = submit(CeTaskTypes.REPORT, project, branch);
Optional<CeTask> peek = underTest.peek(WORKER_UUID_1, true);
assertThat(peek).isPresent();
return ComponentTesting.newPublicProjectDto(uuid).setName("name_" + uuid).setKey("key_" + uuid);
}
- private CeTask submit(String reportType, ComponentDto componentDto) {
- return underTest.submit(createTaskSubmit(reportType, componentDto, null));
+ private CeTask submit(String reportType, ComponentDto mainBranchComponent) {
+ return underTest.submit(createTaskSubmit(reportType, mainBranchComponent, mainBranchComponent, null));
+ }
+
+ private CeTask submit(String reportType, ComponentDto mainBranchComponent, ComponentDto branchComponent) {
+ return underTest.submit(createTaskSubmit(reportType, mainBranchComponent, branchComponent, null));
}
private CeTaskSubmit createTaskSubmit(String type) {
- return createTaskSubmit(type, null, null);
+ return createTaskSubmit(type, null, null, null);
}
- private CeTaskSubmit createTaskSubmit(String type, @Nullable ComponentDto componentDto, @Nullable String submitterUuid) {
+ private CeTaskSubmit createTaskSubmit(String type, @Nullable ComponentDto mainBranchComponentDto, @Nullable ComponentDto componentDto,
+ @Nullable String submitterUuid) {
CeTaskSubmit.Builder builder = underTest.prepareSubmit()
.setType(type)
.setSubmitterUuid(submitterUuid)
.setCharacteristics(emptyMap());
- if (componentDto != null) {
- builder.setComponent(CeTaskSubmit.Component.fromDto(componentDto));
+ if (componentDto != null && mainBranchComponentDto != null) {
+ builder.setComponent(CeTaskSubmit.Component.fromDto(componentDto.uuid(), mainBranchComponentDto.uuid()));
}
return builder.build();
}
userSession.logIn().setSystemAdministrator();
}
- private CeQueueDto createTaskSubmit(@Nullable ComponentDto componentDto) {
+ private CeQueueDto createTaskSubmit(@Nullable ComponentDto mainBranchComponent) {
CeTaskSubmit.Builder submission = queue.prepareSubmit()
.setType(CeTaskTypes.REPORT)
.setSubmitterUuid(null)
.setCharacteristics(emptyMap());
- if (componentDto != null) {
- submission.setComponent(CeTaskSubmit.Component.fromDto(componentDto));
+ if (mainBranchComponent != null) {
+ submission.setComponent(CeTaskSubmit.Component.fromDto(mainBranchComponent.uuid(), mainBranchComponent.uuid()));
}
CeTask task = queue.submit(submission.build());
return db.getDbClient().ceQueueDao().selectByUuid(db.getSession(), task.getUuid()).get();
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);
+ Optional<ComponentDto> mainBranch = dbClient.componentDao().selectByKey(dbSession, projectKey);
+ checkArgument(mainBranch.isPresent(), "Project with key [%s] does not exist", projectKey);
CeTaskSubmit submit = ceQueue.prepareSubmit()
- .setComponent(fromDto(project.get()))
+ .setComponent(fromDto(mainBranch.get().uuid(), mainBranch.get().uuid()))
.setType(CeTaskTypes.PROJECT_EXPORT)
.setSubmitterUuid(submitterUuid)
.setCharacteristics(emptyMap())
}
checkScanPermission(branchComponent);
- return submitReport(dbSession, reportInput, branchComponent, characteristics);
+ return submitReport(dbSession, reportInput, branchComponent, mainBranch, characteristics);
}
}
return projectDefaultVisibility.get(dbSession);
}
- private CeTask submitReport(DbSession dbSession, InputStream reportInput, ComponentDto project, Map<String, String> characteristics) {
+ private CeTask submitReport(DbSession dbSession, InputStream reportInput, ComponentDto branch, BranchDto mainBranch, Map<String, String> characteristics) {
CeTaskSubmit.Builder submit = queue.prepareSubmit();
// the report file must be saved before submitting the task
dbClient.ceTaskInputDao().insert(dbSession, submit.getUuid(), reportInput);
dbSession.commit();
-
submit.setType(CeTaskTypes.REPORT);
- submit.setComponent(CeTaskSubmit.Component.fromDto(project));
+ submit.setComponent(CeTaskSubmit.Component.fromDto(branch.uuid(), mainBranch.getUuid()));
submit.setSubmitterUuid(userSession.getUuid());
submit.setCharacteristics(characteristics);
return queue.submit(submit.build());