]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-11209 remove space in ad hoc rule names
authorJulien HENRY <julien.henry@sonarsource.com>
Fri, 21 Sep 2018 17:05:15 +0000 (19:05 +0200)
committerSonarTech <sonartech@sonarsource.com>
Mon, 24 Sep 2018 18:20:58 +0000 (20:20 +0200)
server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/issue/AdHocRuleCreator.java
server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/issue/AdHocRuleCreatorTest.java
server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/step/PersistAdHocRulesStepTest.java
sonar-plugin-api/src/test/java/org/sonar/api/batch/sensor/rule/internal/DefaultAdHocRuleTest.java
sonar-scanner-protocol/src/main/java/org/sonar/scanner/protocol/output/ScannerReportWriter.java
sonar-scanner-protocol/src/test/java/org/sonar/scanner/protocol/output/ScannerReportReaderTest.java
sonar-scanner-protocol/src/test/java/org/sonar/scanner/protocol/output/ScannerReportWriterTest.java

index 432961896e140e4fbd66d40a43644dea27bdaf8e..948130d91bfb3de7a2089df62333f71292f57bd3 100644 (file)
@@ -63,7 +63,7 @@ public class AdHocRuleCreator {
         .setRuleKey(adHoc.getKey())
         .setIsExternal(true)
         .setIsAdHoc(true)
-        .setName(adHoc.getEngineId() + ": " + adHoc.getRuleId())
+        .setName(adHoc.getEngineId() + ":" + adHoc.getRuleId())
         .setScope(ALL)
         .setStatus(READY)
         .setCreatedAt(now)
index 295cf953716f280c5fc1ef9ec197a8f147487bf2..7e3029400869399cd3108237791750010cf99697 100644 (file)
@@ -60,7 +60,7 @@ public class AdHocRuleCreatorTest {
     assertThat(rule.isAdHoc()).isTrue();
     assertThat(rule.getId()).isGreaterThan(0);
     assertThat(rule.getKey()).isEqualTo(RuleKey.of("external_eslint", "no-cond-assign"));
-    assertThat(rule.getName()).isEqualTo("eslint: no-cond-assign");
+    assertThat(rule.getName()).isEqualTo("eslint:no-cond-assign");
     assertThat(rule.getDescription()).isNull();
     assertThat(rule.getSeverity()).isNull();
     assertThat(rule.getType()).isEqualTo(0);
@@ -89,7 +89,7 @@ public class AdHocRuleCreatorTest {
     assertThat(rule.isAdHoc()).isTrue();
     assertThat(rule.getId()).isGreaterThan(0);
     assertThat(rule.getKey()).isEqualTo(RuleKey.of("external_eslint", "no-cond-assign"));
-    assertThat(rule.getName()).isEqualTo("eslint: no-cond-assign");
+    assertThat(rule.getName()).isEqualTo("eslint:no-cond-assign");
     assertThat(rule.getDescription()).isNull();
     assertThat(rule.getSeverity()).isNull();
     assertThat(rule.getType()).isEqualTo(0);
@@ -128,7 +128,7 @@ public class AdHocRuleCreatorTest {
     assertThat(ruleUpdated.isAdHoc()).isTrue();
     assertThat(ruleUpdated.getId()).isGreaterThan(0);
     assertThat(ruleUpdated.getKey()).isEqualTo(RuleKey.of("external_eslint", "no-cond-assign"));
-    assertThat(ruleUpdated.getName()).isEqualTo("eslint: no-cond-assign");
+    assertThat(ruleUpdated.getName()).isEqualTo("eslint:no-cond-assign");
     assertThat(ruleUpdated.getDescription()).isNull();
     assertThat(ruleUpdated.getSeverity()).isNull();
     assertThat(ruleUpdated.getType()).isEqualTo(0);
index 98ccf035b7adc1c489c8ef63de418092747ebafc..921a48a1e9518075895ddcb118dcc43dbf3f221a 100644 (file)
@@ -92,7 +92,7 @@ public class PersistAdHocRulesStepTest extends BaseStepTest {
     assertThat(reloaded.isAdHoc()).isTrue();
     assertThat(reloaded.getType()).isEqualTo(0);
     assertThat(reloaded.getSeverity()).isNull();
-    assertThat(reloaded.getName()).isEqualTo("eslint: no-cond-assign");
+    assertThat(reloaded.getName()).isEqualTo("eslint:no-cond-assign");
 
     assertThat(es.countDocuments(RuleIndexDefinition.INDEX_TYPE_RULE)).isEqualTo(1l);
     assertThat(es.getDocuments(RuleIndexDefinition.INDEX_TYPE_RULE).iterator().next().getId()).isEqualTo(Integer.toString(reloaded.getId()));
index 241ae701379a8ae4d0f3ea1461a28894ec092f77..f815d22cfabf6d1ddbd68bea0b483d775db7c9cd 100644 (file)
@@ -27,6 +27,7 @@ import org.sonar.api.batch.sensor.internal.SensorStorage;
 import org.sonar.api.batch.sensor.rule.NewAdHocRule;
 import org.sonar.api.rules.RuleType;
 
+import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
@@ -39,14 +40,21 @@ public class DefaultAdHocRuleTest {
   @Test
   public void store() {
     SensorStorage storage = mock(SensorStorage.class);
-    new DefaultAdHocRule(storage)
+    DefaultAdHocRule rule = new DefaultAdHocRule(storage)
       .engineId("engine")
       .ruleId("ruleId")
       .name("name")
       .description("desc")
       .severity(Severity.BLOCKER)
-      .type(RuleType.CODE_SMELL)
-      .save();
+      .type(RuleType.CODE_SMELL);
+      rule.save();
+
+    assertThat(rule.engineId()).isEqualTo("engine");
+    assertThat(rule.ruleId()).isEqualTo("ruleId");
+    assertThat(rule.name()).isEqualTo("name");
+    assertThat(rule.description()).isEqualTo("desc");
+    assertThat(rule.severity()).isEqualTo(Severity.BLOCKER);
+    assertThat(rule.type()).isEqualTo(RuleType.CODE_SMELL);
 
     verify(storage).store(any(DefaultAdHocRule.class));
   }
index 5fa8915168924952510506a2718085ff449d4089..30e86e986f54f83c6f9bdad45dd8fb51e174fa84 100644 (file)
@@ -88,12 +88,6 @@ public class ScannerReportWriter {
     }
   }
 
-  public File writeComponentExternalIssues(int componentRef, Iterable<ScannerReport.ExternalIssue> issues) {
-    File file = fileStructure.fileFor(FileStructure.Domain.EXTERNAL_ISSUES, componentRef);
-    Protobuf.writeStream(issues, file, false);
-    return file;
-  }
-
   public File writeComponentChangedLines(int componentRef, ScannerReport.ChangedLines changedLines) {
     File file = fileStructure.fileFor(FileStructure.Domain.CHANGED_LINES, componentRef);
     Protobuf.write(changedLines, file);
index 6791f83a5f463154a860b8465832d8dc8898547f..cd92d2af88bdd6c8c1290e39dae01e6992bda631 100644 (file)
@@ -109,7 +109,7 @@ public class ScannerReportReaderTest {
     ScannerReportWriter writer = new ScannerReportWriter(dir);
     ScannerReport.ExternalIssue issue = ScannerReport.ExternalIssue.newBuilder()
       .build();
-    writer.writeComponentExternalIssues(1, asList(issue));
+    writer.appendComponentExternalIssue(1, issue);
 
     assertThat(underTest.readComponentExternalIssues(1)).hasSize(1);
     assertThat(underTest.readComponentExternalIssues(200)).isEmpty();
index ffcd97aaa8f88e026055cdad4662a7d6b1412885..0b426b0092ed9be5a3d7b7950939ad5c489341fc 100644 (file)
@@ -28,6 +28,7 @@ import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 import org.sonar.core.util.CloseableIterator;
 import org.sonar.core.util.Protobuf;
+import org.sonar.scanner.protocol.Constants;
 import org.sonar.scanner.protocol.output.ScannerReport.Component.ComponentType;
 import org.sonar.scanner.protocol.output.ScannerReport.Measure.DoubleValue;
 import org.sonar.scanner.protocol.output.ScannerReport.SyntaxHighlightingRule.HighlightingType;
@@ -126,7 +127,7 @@ public class ScannerReportWriterTest {
       .setMsg("the message")
       .build();
 
-    underTest.writeComponentExternalIssues(1, asList(issue));
+    underTest.appendComponentExternalIssue(1, issue);
 
     assertThat(underTest.hasComponentData(FileStructure.Domain.EXTERNAL_ISSUES, 1)).isTrue();
     File file = underTest.getFileStructure().fileFor(FileStructure.Domain.EXTERNAL_ISSUES, 1);
@@ -136,6 +137,27 @@ public class ScannerReportWriterTest {
     }
   }
 
+  @Test
+  public void write_adhoc_rule() {
+
+    // write data
+    ScannerReport.AdHocRule rule = ScannerReport.AdHocRule.newBuilder()
+            .setEngineId("eslint")
+            .setRuleId("123")
+            .setName("Foo")
+            .setDescription("Description")
+            .setSeverity(Constants.Severity.BLOCKER)
+            .setType(ScannerReport.IssueType.BUG)
+            .build();
+    underTest.appendAdHocRule(rule);
+
+    File file = underTest.getFileStructure().adHocRules();
+    assertThat(file).exists().isFile();
+    try (CloseableIterator<ScannerReport.AdHocRule> read = Protobuf.readStream(file, ScannerReport.AdHocRule.parser())) {
+      assertThat(Iterators.size(read)).isEqualTo(1);
+    }
+  }
+
   @Test
   public void write_changed_lines() {
     assertThat(underTest.hasComponentData(FileStructure.Domain.CHANGED_LINES, 1)).isFalse();