Search in sources :

Example 61 with BranchDto

use of org.sonar.db.component.BranchDto in project sonarqube by SonarSource.

the class ComponentActionTest method quality_gate_for_a_branch.

@Test
public void quality_gate_for_a_branch() {
    db.qualityGates().createDefaultQualityGate();
    ProjectDto project = db.components().insertPrivateProjectDto();
    BranchDto branch = db.components().insertProjectBranch(project, b -> b.setBranchType(BranchType.BRANCH));
    QualityGateDto qualityGateDto = db.qualityGates().insertQualityGate(qg -> qg.setName("Sonar way"));
    db.qualityGates().associateProjectToQualityGate(project, qualityGateDto);
    userSession.addProjectPermission(UserRole.USER, project);
    init();
    String json = ws.newRequest().setParam("component", project.getKey()).setParam("branch", branch.getKey()).execute().getInput();
    verify(json, "return_quality_gate.json");
}
Also used : ProjectDto(org.sonar.db.project.ProjectDto) ComponentTesting.newPrivateProjectDto(org.sonar.db.component.ComponentTesting.newPrivateProjectDto) ComponentDbTester.toProjectDto(org.sonar.db.component.ComponentDbTester.toProjectDto) BranchDto(org.sonar.db.component.BranchDto) QualityGateDto(org.sonar.db.qualitygate.QualityGateDto) Test(org.junit.Test)

Example 62 with BranchDto

use of org.sonar.db.component.BranchDto in project sonarqube by SonarSource.

the class PurgeDao method deleteProject.

public void deleteProject(DbSession session, String uuid, String qualifier, String name, String key) {
    PurgeProfiler profiler = new PurgeProfiler();
    PurgeMapper purgeMapper = mapper(session);
    PurgeCommands purgeCommands = new PurgeCommands(session, profiler, system2);
    long start = System2.INSTANCE.now();
    List<String> branchUuids = session.getMapper(BranchMapper.class).selectByProjectUuid(uuid).stream().map(BranchDto::getUuid).filter(branchUuid -> !uuid.equals(branchUuid)).collect(Collectors.toList());
    branchUuids.forEach(id -> deleteRootComponent(id, purgeMapper, purgeCommands));
    deleteRootComponent(uuid, purgeMapper, purgeCommands);
    auditPersister.deleteComponent(session, new ComponentNewValue(uuid, name, key, qualifier));
    logProfiling(profiler, start);
}
Also used : BranchDto(org.sonar.db.component.BranchDto) Date(java.util.Date) DbSession(org.sonar.db.DbSession) TimeUtils(org.sonar.api.utils.TimeUtils) Loggers(org.sonar.api.utils.log.Loggers) DateUtils.dateToLong(org.sonar.api.utils.DateUtils.dateToLong) DateUtils(org.sonar.api.utils.DateUtils) MoreCollectors(org.sonar.core.util.stream.MoreCollectors) Nullable(javax.annotation.Nullable) Logger(org.sonar.api.utils.log.Logger) ImmutableSet(com.google.common.collect.ImmutableSet) Dao(org.sonar.db.Dao) System2(org.sonar.api.utils.System2) Predicate(java.util.function.Predicate) Collections.emptyList(java.util.Collections.emptyList) Optional.ofNullable(java.util.Optional.ofNullable) Collection(java.util.Collection) Set(java.util.Set) Collectors(java.util.stream.Collectors) ComponentNewValue(org.sonar.db.audit.model.ComponentNewValue) BranchMapper(org.sonar.db.component.BranchMapper) List(java.util.List) AuditPersister(org.sonar.db.audit.AuditPersister) ComponentDto(org.sonar.db.component.ComponentDto) DatabaseUtils.executeLargeInputs(org.sonar.db.DatabaseUtils.executeLargeInputs) Optional(java.util.Optional) BranchDto(org.sonar.db.component.BranchDto) ComponentNewValue(org.sonar.db.audit.model.ComponentNewValue) BranchMapper(org.sonar.db.component.BranchMapper)

Example 63 with BranchDto

use of org.sonar.db.component.BranchDto in project sonarqube by SonarSource.

the class IssuesChangesNotificationBuilderTesting method projectBranchOf.

public static Project projectBranchOf(DbTester db, ComponentDto branch) {
    BranchDto branchDto = db.getDbClient().branchDao().selectByUuid(db.getSession(), branch.uuid()).get();
    checkArgument(!branchDto.isMain(), "should be a branch");
    return new Project.Builder(branch.uuid()).setKey(branch.getKey()).setProjectName(branch.name()).setBranchName(branchDto.getKey()).build();
}
Also used : BranchDto(org.sonar.db.component.BranchDto)

Example 64 with BranchDto

use of org.sonar.db.component.BranchDto in project sonarqube by SonarSource.

the class AsyncIssueIndexingImplTest method order_by_last_analysis_date.

@Test
public void order_by_last_analysis_date() {
    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(BRANCH).setKey("branch_2").setUuid("branch_uuid2").setProjectUuid("project_uuid2");
    dbClient.branchDao().insert(dbTester.getSession(), dto2);
    dbTester.commit();
    insertSnapshot("analysis_2", "project_uuid2", 2);
    underTest.triggerOnIndexCreation();
    verify(ceQueue, times(2)).prepareSubmit();
    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.getComponent().get().getUuid()).containsExactly("branch_uuid2", "branch_uuid1");
    assertThat(logTester.logs(LoggerLevel.INFO)).contains("2 projects found in need of issue sync.");
}
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 65 with BranchDto

use of org.sonar.db.component.BranchDto in project sonarqube by SonarSource.

the class AsyncIssueIndexingImplTest method triggerOnIndexCreation.

@Test
public void triggerOnIndexCreation() {
    BranchDto dto = new BranchDto().setBranchType(BRANCH).setKey("branchName").setUuid("branch_uuid").setProjectUuid("project_uuid");
    dbClient.branchDao().insert(dbTester.getSession(), dto);
    dbTester.commit();
    underTest.triggerOnIndexCreation();
    Optional<BranchDto> branch = dbClient.branchDao().selectByUuid(dbTester.getSession(), "branch_uuid");
    assertThat(branch).isPresent();
    assertThat(branch.get().isNeedIssueSync()).isTrue();
    verify(ceQueue, times(1)).prepareSubmit();
    verify(ceQueue, times(1)).massSubmit(anyCollection());
    assertThat(logTester.logs(LoggerLevel.INFO)).contains("1 branch found in need of issue sync.");
}
Also used : BranchDto(org.sonar.db.component.BranchDto) Test(org.junit.Test)

Aggregations

BranchDto (org.sonar.db.component.BranchDto)111 Test (org.junit.Test)62 ComponentDto (org.sonar.db.component.ComponentDto)52 ProjectDto (org.sonar.db.project.ProjectDto)42 DbSession (org.sonar.db.DbSession)31 SnapshotDto (org.sonar.db.component.SnapshotDto)22 List (java.util.List)15 ComponentTesting.newBranchDto (org.sonar.db.component.ComponentTesting.newBranchDto)13 DbClient (org.sonar.db.DbClient)12 MetricDto (org.sonar.db.metric.MetricDto)12 Map (java.util.Map)9 Optional (java.util.Optional)9 Nullable (javax.annotation.Nullable)9 WebService (org.sonar.api.server.ws.WebService)9 System2 (org.sonar.api.utils.System2)9 NotFoundException (org.sonar.server.exceptions.NotFoundException)9 Collection (java.util.Collection)8 Assertions.assertThat (org.assertj.core.api.Assertions.assertThat)8 Rule (org.junit.Rule)8 Request (org.sonar.api.server.ws.Request)8