Skip to content

Commit

Permalink
SONAR-8093 set analysis date as early as possible
Browse files Browse the repository at this point in the history
  • Loading branch information
sns-seb committed Sep 19, 2016
1 parent a15a1d7 commit 032c107
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 2 deletions.
Expand Up @@ -61,12 +61,12 @@ public LoadReportAnalysisMetadataHolderStep(CeTask ceTask, BatchReportReader rep
@Override
public void execute() {
ScannerReport.Metadata reportMetadata = reportReader.readMetadata();
mutableAnalysisMetadataHolder.setAnalysisDate(reportMetadata.getAnalysisDate());

checkProjectKeyConsistency(reportMetadata);

mutableAnalysisMetadataHolder.setRootComponentRef(reportMetadata.getRootComponentRef());
mutableAnalysisMetadataHolder.setBranch(isNotEmpty(reportMetadata.getBranch()) ? reportMetadata.getBranch() : null);
mutableAnalysisMetadataHolder.setAnalysisDate(reportMetadata.getAnalysisDate());
mutableAnalysisMetadataHolder.setCrossProjectDuplicationEnabled(reportMetadata.getCrossProjectDuplicationActivated());
mutableAnalysisMetadataHolder.setQProfilesByLanguage(transformValues(reportMetadata.getQprofilesPerLanguage(), TO_COMPUTE_QPROFILE));
}
Expand Down
Expand Up @@ -23,10 +23,10 @@
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.sonar.api.utils.MessageException;
import org.sonar.ce.queue.CeTask;
import org.sonar.scanner.protocol.output.ScannerReport;
import org.sonar.server.computation.task.projectanalysis.analysis.MutableAnalysisMetadataHolderRule;
import org.sonar.server.computation.task.projectanalysis.batch.BatchReportReaderRule;
import org.sonar.ce.queue.CeTask;
import org.sonar.server.computation.task.step.ComputationStep;

import static org.assertj.core.api.Assertions.assertThat;
Expand Down Expand Up @@ -162,6 +162,21 @@ public void execute_fails_with_MessageException_when_projectKey_in_report_is_dif
underTest.execute();
}

@Test
public void execute_sets_analysis_date_even_if_MessageException_is_thrown_because_projectKey_is_different_from_componentKey_in_CE_task() {
reportReader.setMetadata(
ScannerReport.Metadata.newBuilder()
.setProjectKey("some other key")
.setAnalysisDate(ANALYSIS_DATE)
.build());

try {
underTest.execute();
} catch (MessageException e) {
assertThat(analysisMetadataHolder.getAnalysisDate()).isEqualTo(ANALYSIS_DATE);
}
}

private static ScannerReport.Metadata.Builder newBatchReportBuilder() {
return ScannerReport.Metadata.newBuilder()
.setProjectKey(PROJECT_KEY);
Expand Down

0 comments on commit 032c107

Please sign in to comment.