aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-batch-protocol
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@sonarsource.com>2015-04-01 15:26:31 +0200
committerJulien Lancelot <julien.lancelot@sonarsource.com>2015-04-01 15:26:49 +0200
commit235dd4e1c5b05fd1a7270aa8ad4f93288396bc21 (patch)
tree9dd3b7bb207b7b8de2d71cb1ccf6e92afed14dce /sonar-batch-protocol
parent8d7aafbe30e63d0289821b7891481a54071f6d47 (diff)
downloadsonarqube-235dd4e1c5b05fd1a7270aa8ad4f93288396bc21.tar.gz
sonarqube-235dd4e1c5b05fd1a7270aa8ad4f93288396bc21.zip
Restore some tests
Diffstat (limited to 'sonar-batch-protocol')
-rw-r--r--sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/BatchReportReaderTest.java207
1 files changed, 207 insertions, 0 deletions
diff --git a/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/BatchReportReaderTest.java b/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/BatchReportReaderTest.java
index 73c3efca35f..4aaebff9a48 100644
--- a/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/BatchReportReaderTest.java
+++ b/sonar-batch-protocol/src/test/java/org/sonar/batch/protocol/output/BatchReportReaderTest.java
@@ -23,9 +23,13 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
+import org.sonar.batch.protocol.Constants;
import java.io.File;
+import java.util.Arrays;
+import java.util.List;
+import static com.google.common.collect.Lists.newArrayList;
import static org.assertj.core.api.Assertions.assertThat;
public class BatchReportReaderTest {
@@ -43,6 +47,175 @@ public class BatchReportReaderTest {
sut = new BatchReportReader(dir);
}
+ @Test
+ public void create_dir_if_does_not_exist() throws Exception {
+ File dir = temp.newFolder();
+
+ initFiles(dir);
+
+ sut = new BatchReportReader(dir);
+ BatchReport.Metadata readMetadata = sut.readMetadata();
+ assertThat(readMetadata.getAnalysisDate()).isEqualTo(15000000L);
+ assertThat(readMetadata.getDeletedComponentsCount()).isEqualTo(1);
+ assertThat(sut.readComponentIssues(1)).hasSize(1);
+ assertThat(sut.readComponentIssues(200)).isEmpty();
+ assertThat(sut.readComponent(1).getUuid()).isEqualTo("UUID_A");
+ BatchReport.Issues deletedComponentIssues = sut.readDeletedComponentIssues(1);
+ assertThat(deletedComponentIssues.getComponentUuid()).isEqualTo("compUuid");
+ assertThat(deletedComponentIssues.getIssueList()).hasSize(1);
+ assertThat(sut.readComponentMeasures(1)).hasSize(1);
+ assertThat(sut.readComponentMeasures(1).get(0).getStringValue()).isEqualTo("value_a");
+ assertThat(sut.readComponentScm(1).getChangesetList()).hasSize(1);
+ assertThat(sut.readComponentScm(1).getChangeset(0).getDate()).isEqualTo(123_456_789L);
+ }
+
+ @Test
+ public void read_duplications() throws Exception {
+ File dir = temp.newFolder();
+ BatchReportWriter writer = new BatchReportWriter(dir);
+
+ writer.writeMetadata(BatchReport.Metadata.newBuilder()
+ .setRootComponentRef(1).build());
+
+ writer.writeComponent(BatchReport.Component.newBuilder()
+ .setRef(1).build());
+
+ BatchReport.Duplication duplication = BatchReport.Duplication.newBuilder()
+ .setOriginPosition(BatchReport.Range.newBuilder()
+ .setStartLine(1)
+ .setEndLine(5)
+ .build())
+ .addDuplicate(BatchReport.Duplicate.newBuilder()
+ .setOtherFileKey("COMPONENT_A")
+ .setOtherFileRef(2)
+ .setRange(BatchReport.Range.newBuilder()
+ .setStartLine(6)
+ .setEndLine(10)
+ .build())
+ .build())
+ .build();
+ writer.writeComponentDuplications(1, Arrays.asList(duplication));
+
+ BatchReportReader sut = new BatchReportReader(dir);
+ assertThat(sut.readComponentDuplications(1)).hasSize(1);
+ assertThat(sut.readComponentDuplications(1).get(0).getOriginPosition()).isNotNull();
+ assertThat(sut.readComponentDuplications(1).get(0).getDuplicateList()).hasSize(1);
+ }
+
+ @Test
+ public void read_syntax_highlighting() throws Exception {
+ File dir = temp.newFolder();
+ BatchReportWriter writer = new BatchReportWriter(dir);
+
+ writer.writeMetadata(BatchReport.Metadata.newBuilder()
+ .setRootComponentRef(1).build());
+
+ writer.writeComponent(BatchReport.Component.newBuilder()
+ .setRef(1).build());
+
+ BatchReport.SyntaxHighlighting.HighlightingRule highlightingRule = BatchReport.SyntaxHighlighting.HighlightingRule.newBuilder()
+ .setRange(BatchReport.Range.newBuilder()
+ .setStartLine(1)
+ .setEndLine(1)
+ .build())
+ .setType(Constants.HighlightingType.ANNOTATION)
+ .build();
+ writer.writeComponentSyntaxHighlighting(1, Arrays.asList(highlightingRule));
+
+ BatchReportReader sut = new BatchReportReader(dir);
+ assertThat(sut.readComponentSyntaxHighlighting(1)).hasSize(1);
+ assertThat(sut.readComponentSyntaxHighlighting(1).get(0).getRange()).isNotNull();
+ assertThat(sut.readComponentSyntaxHighlighting(1).get(0).getType()).isEqualTo(Constants.HighlightingType.ANNOTATION);
+ }
+
+ @Test
+ public void read_symbols() throws Exception {
+ File dir = temp.newFolder();
+ BatchReportWriter writer = new BatchReportWriter(dir);
+
+ writer.writeMetadata(BatchReport.Metadata.newBuilder()
+ .setRootComponentRef(1)
+ .build());
+
+ writer.writeComponent(BatchReport.Component.newBuilder()
+ .setRef(1).build());
+
+ writer.writeComponentSymbols(1, Arrays.asList(BatchReport.Symbols.Symbol.newBuilder()
+ .setDeclaration(BatchReport.Range.newBuilder()
+ .setStartLine(1)
+ .setStartOffset(3)
+ .setEndLine(1)
+ .setEndOffset(5)
+ .build())
+ .addReference(BatchReport.Range.newBuilder()
+ .setStartLine(10)
+ .setStartOffset(15)
+ .setEndLine(11)
+ .setEndOffset(2)
+ .build())
+ .build()));
+
+ sut = new BatchReportReader(dir);
+ assertThat(sut.readComponentSymbols(1)).hasSize(1);
+ assertThat(sut.readComponentSymbols(1).get(0).getDeclaration().getStartLine()).isEqualTo(1);
+ assertThat(sut.readComponentSymbols(1).get(0).getReference(0).getStartLine()).isEqualTo(10);
+ }
+
+ @Test
+ public void read_coverage() throws Exception {
+ File dir = temp.newFolder();
+ BatchReportWriter writer = new BatchReportWriter(dir);
+
+ writer.writeMetadata(BatchReport.Metadata.newBuilder()
+ .setRootComponentRef(1)
+ .build());
+
+ writer.writeComponent(BatchReport.Component.newBuilder()
+ .setRef(1).build());
+
+ writer.writeFileCoverage(1, Arrays.asList(
+ BatchReport.Coverage.newBuilder()
+ .setLine(1)
+ .setConditions(1)
+ .setUtHits(true)
+ .setItHits(false)
+ .setUtCoveredConditions(1)
+ .setItCoveredConditions(1)
+ .setOverallCoveredConditions(1)
+ .build(),
+ BatchReport.Coverage.newBuilder()
+ .setLine(2)
+ .setConditions(5)
+ .setUtHits(false)
+ .setItHits(false)
+ .setUtCoveredConditions(4)
+ .setItCoveredConditions(5)
+ .setOverallCoveredConditions(5)
+ .build()));
+
+ sut = new BatchReportReader(dir);
+ List<BatchReport.Coverage> coverageList = newArrayList(sut.readFileCoverage(1));
+ assertThat(coverageList).hasSize(2);
+
+ BatchReport.Coverage coverage = coverageList.get(0);
+ assertThat(coverage.getLine()).isEqualTo(1);
+ assertThat(coverage.getConditions()).isEqualTo(1);
+ assertThat(coverage.getUtHits()).isTrue();
+ assertThat(coverage.getItHits()).isFalse();
+ assertThat(coverage.getUtCoveredConditions()).isEqualTo(1);
+ assertThat(coverage.getItCoveredConditions()).isEqualTo(1);
+ assertThat(coverage.getOverallCoveredConditions()).isEqualTo(1);
+
+ coverage = coverageList.get(1);
+ assertThat(coverage.getLine()).isEqualTo(2);
+ assertThat(coverage.getConditions()).isEqualTo(5);
+ assertThat(coverage.getUtHits()).isFalse();
+ assertThat(coverage.getItHits()).isFalse();
+ assertThat(coverage.getUtCoveredConditions()).isEqualTo(4);
+ assertThat(coverage.getItCoveredConditions()).isEqualTo(5);
+ assertThat(coverage.getOverallCoveredConditions()).isEqualTo(5);
+ }
+
@Test(expected = IllegalStateException.class)
public void fail_if_missing_metadata_file() throws Exception {
sut.readMetadata();
@@ -101,4 +274,38 @@ public class BatchReportReaderTest {
assertThat(sut.readComponentIssues(666)).isEmpty();
}
+ private void initFiles(File dir) {
+ BatchReportWriter writer = new BatchReportWriter(dir);
+
+ BatchReport.Metadata.Builder metadata = BatchReport.Metadata.newBuilder()
+ .setAnalysisDate(15000000L)
+ .setProjectKey("PROJECT_A")
+ .setRootComponentRef(1)
+ .setDeletedComponentsCount(1);
+ writer.writeMetadata(metadata.build());
+
+ BatchReport.Component.Builder component = BatchReport.Component.newBuilder()
+ .setRef(1)
+ .setUuid("UUID_A");
+ writer.writeComponent(component.build());
+
+ BatchReport.Issue issue = BatchReport.Issue.newBuilder()
+ .setUuid("ISSUE_A")
+ .setLine(50)
+ .build();
+
+ writer.writeComponentIssues(1, Arrays.asList(issue));
+
+ writer.writeDeletedComponentIssues(1, "compUuid", Arrays.asList(issue));
+
+ BatchReport.Measure.Builder measure = BatchReport.Measure.newBuilder()
+ .setStringValue("value_a");
+ writer.writeComponentMeasures(1, Arrays.asList(measure.build()));
+
+ BatchReport.Scm.Builder scm = BatchReport.Scm.newBuilder()
+ .setComponentRef(1)
+ .addChangeset(BatchReport.Scm.Changeset.newBuilder().setDate(123_456_789).setAuthor("jack.daniels").setRevision("123-456-789"));
+ writer.writeComponentScm(scm.build());
+ }
+
}