use of org.sonar.db.component.SnapshotDto in project sonarqube by SonarSource.
the class ProjectMeasuresIndexerTest method indexOnStartup_indexes_all_projects.
@Test
public void indexOnStartup_indexes_all_projects() {
SnapshotDto project1 = db.components().insertProjectAndSnapshot(newPrivateProjectDto());
SnapshotDto project2 = db.components().insertProjectAndSnapshot(newPrivateProjectDto());
SnapshotDto project3 = db.components().insertProjectAndSnapshot(newPrivateProjectDto());
underTest.indexOnStartup(emptySet());
assertThatIndexContainsOnly(project1, project2, project3);
assertThatQualifierIs("TRK", project1, project2, project3);
}
use of org.sonar.db.component.SnapshotDto in project sonarqube by SonarSource.
the class AsyncIssueIndexingImplTest method insertSnapshot.
private SnapshotDto insertSnapshot(String analysisUuid, String projectUuid, long createdAt) {
SnapshotDto snapshot = new SnapshotDto().setUuid(analysisUuid).setComponentUuid(projectUuid).setStatus(STATUS_PROCESSED).setCreatedAt(createdAt).setLast(true);
dbTester.getDbClient().snapshotDao().insert(dbTester.getSession(), snapshot);
dbTester.commit();
return snapshot;
}
use of org.sonar.db.component.SnapshotDto in project sonarqube by SonarSource.
the class WebhookQGChangeEventListener method buildWebHookPayload.
private WebhookPayload buildWebHookPayload(DbSession dbSession, QGChangeEvent event, @Nullable EvaluatedQualityGate evaluatedQualityGate) {
ProjectDto project = event.getProject();
BranchDto branch = event.getBranch();
SnapshotDto analysis = event.getAnalysis();
Map<String, String> analysisProperties = dbClient.analysisPropertiesDao().selectByAnalysisUuid(dbSession, analysis.getUuid()).stream().collect(Collectors.toMap(AnalysisPropertyDto::getKey, AnalysisPropertyDto::getValue));
ProjectAnalysis projectAnalysis = new ProjectAnalysis(new Project(project.getUuid(), project.getKey(), project.getName()), null, new Analysis(analysis.getUuid(), analysis.getCreatedAt(), analysis.getRevision()), new Branch(branch.isMain(), branch.getKey(), Type.valueOf(branch.getBranchType().name())), evaluatedQualityGate, null, analysisProperties);
return webhookPayloadFactory.create(projectAnalysis);
}
use of org.sonar.db.component.SnapshotDto in project sonarqube by SonarSource.
the class IssueQueryFactoryTest method application_search_project_issues_on_leak.
@Test
public void application_search_project_issues_on_leak() {
Date now = new Date();
when(clock.millis()).thenReturn(now.getTime());
ComponentDto project1 = db.components().insertPublicProject();
SnapshotDto analysis1 = db.components().insertSnapshot(project1, s -> s.setPeriodDate(addDays(now, -14).getTime()));
ComponentDto project2 = db.components().insertPublicProject();
db.components().insertSnapshot(project2, s -> s.setPeriodDate(null));
ComponentDto project3 = db.components().insertPublicProject();
ComponentDto project4 = db.components().insertPublicProject();
SnapshotDto analysis2 = db.components().insertSnapshot(project4, s -> s.setPeriodMode(REFERENCE_BRANCH.name()).setPeriodParam("master"));
ComponentDto application = db.components().insertPublicApplication();
db.components().insertComponents(newProjectCopy("PC1", project1, application));
db.components().insertComponents(newProjectCopy("PC2", project2, application));
db.components().insertComponents(newProjectCopy("PC3", project3, application));
db.components().insertComponents(newProjectCopy("PC4", project4, application));
userSession.registerApplication(application, project1, project2, project3, project4);
IssueQuery result = underTest.create(new SearchRequest().setComponentUuids(singletonList(application.uuid())).setSinceLeakPeriod(true));
assertThat(result.createdAfterByProjectUuids()).hasSize(1);
assertThat(result.createdAfterByProjectUuids().entrySet()).extracting(Map.Entry::getKey, e -> e.getValue().date(), e -> e.getValue().inclusive()).containsOnly(tuple(project1.uuid(), new Date(analysis1.getPeriodDate()), false));
assertThat(result.newCodeOnReferenceByProjectUuids()).hasSize(1);
assertThat(result.newCodeOnReferenceByProjectUuids()).containsOnly(project4.uuid());
assertThat(result.viewUuids()).containsExactlyInAnyOrder(application.uuid());
}
use of org.sonar.db.component.SnapshotDto in project sonarqube by SonarSource.
the class IssueQueryFactoryTest method in_new_code_period_start_date_is_exclusive.
@Test
public void in_new_code_period_start_date_is_exclusive() {
long newCodePeriodStart = addDays(new Date(), -14).getTime();
ComponentDto project = db.components().insertPublicProject();
ComponentDto file = db.components().insertComponent(newFileDto(project));
SnapshotDto analysis = db.components().insertSnapshot(project, s -> s.setPeriodDate(newCodePeriodStart));
SearchRequest request = new SearchRequest().setComponentUuids(Collections.singletonList(file.uuid())).setOnComponentOnly(true).setInNewCodePeriod(true);
IssueQuery query = underTest.create(request);
assertThat(query.componentUuids()).containsOnly(file.uuid());
assertThat(query.createdAfter().date()).isEqualTo(new Date(newCodePeriodStart));
assertThat(query.createdAfter().inclusive()).isFalse();
assertThat(query.newCodeOnReference()).isNull();
}
Aggregations