]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-10543 Fix external issues effort
authorDuarte Meneses <duarte.meneses@sonarsource.com>
Tue, 24 Apr 2018 07:19:12 +0000 (09:19 +0200)
committerSonarTech <sonartech@sonarsource.com>
Thu, 26 Apr 2018 18:20:53 +0000 (20:20 +0200)
sonar-scanner-engine/src/main/java/org/sonar/scanner/externalissue/ExternalIssueImporter.java
sonar-scanner-engine/src/test/java/org/sonar/scanner/externalissue/ReportParserTest.java
sonar-scanner-engine/src/test/java/org/sonar/scanner/mediumtest/issues/ExternalIssuesMediumTest.java
sonar-scanner-engine/src/test/resources/mediumtest/xoo/sample/externalIssues.json
sonar-scanner-engine/src/test/resources/org/sonar/scanner/externalissue/report.json
tests/src/test/java/org/sonarqube/tests/issue/ExternalIssueTest.java

index 99100318b688e02efb289138249b07ccab918410..74cf2e6434d64a0593fa6ce724a7cde5045c1603 100644 (file)
@@ -72,9 +72,12 @@ public class ExternalIssueImporter {
     NewExternalIssue externalIssue = context.newExternalIssue()
       .forRule(RuleKey.of(issue.engineId, issue.ruleId))
       .severity(Severity.valueOf(issue.severity))
-      .remediationEffortMinutes(20L)
       .type(RuleType.valueOf(issue.type));
 
+    if (issue.effortMinutes != null) {
+      externalIssue.remediationEffortMinutes(Long.valueOf(issue.effortMinutes));
+    }
+
     NewIssueLocation primary = fillLocation(context, externalIssue.newLocation(), issue.primaryLocation);
     if (primary != null) {
       knownFiles.add(issue.primaryLocation.filePath);
index add4404b2a9f50c1ba7f22bf7e10b8fcbe6d503b..5c67ec7707ef47c7a74ff14960c62b322887c544 100644 (file)
@@ -43,7 +43,7 @@ public class ReportParserTest {
     assertThat(report.issues[0].engineId).isEqualTo("eslint");
     assertThat(report.issues[0].ruleId).isEqualTo("rule1");
     assertThat(report.issues[0].severity).isEqualTo("MAJOR");
-    assertThat(report.issues[0].effortMinutes).isEqualTo(20);
+    assertThat(report.issues[0].effortMinutes).isEqualTo(40);
     assertThat(report.issues[0].type).isEqualTo("CODE_SMELL");
     assertThat(report.issues[0].primaryLocation.filePath).isEqualTo("file1.js");
     assertThat(report.issues[0].primaryLocation.message).isEqualTo("fix the issue here");
index 92e01b6491df2258935a0e0b21afad211f326dd4..dddb88040ffd77fd723ed2abd60477d79ff7d347 100644 (file)
@@ -92,6 +92,7 @@ public class ExternalIssuesMediumTest {
     assertThat(issue.getMsg()).isEqualTo("fix the issue here");
     assertThat(issue.getRuleKey()).isEqualTo("rule1");
     assertThat(issue.getSeverity()).isEqualTo(Severity.MAJOR);
+    assertThat(issue.getEffort()).isEqualTo(50l);
     assertThat(issue.getType()).isEqualTo(IssueType.CODE_SMELL);
     assertThat(issue.getTextRange().getStartLine()).isEqualTo(5);
     assertThat(issue.getTextRange().getEndLine()).isEqualTo(5);
@@ -105,6 +106,7 @@ public class ExternalIssuesMediumTest {
     assertThat(issue.getRuleKey()).isEqualTo("rule2");
     assertThat(issue.getSeverity()).isEqualTo(Severity.CRITICAL);
     assertThat(issue.getType()).isEqualTo(IssueType.BUG);
+    assertThat(issue.getEffort()).isZero();
     assertThat(issue.getTextRange().getStartLine()).isEqualTo(3);
     assertThat(issue.getTextRange().getEndLine()).isEqualTo(3);
     assertThat(issue.getTextRange().getStartOffset()).isEqualTo(0);
index 539533af78f8333095a82d6f310408860d755951..8ad6dd2c9ec9dcb6a0bdda8415b16a601fe8f24c 100644 (file)
@@ -5,6 +5,7 @@
     "ruleId": "rule1",
     "severity": "MAJOR",
     "type": "CODE_SMELL",
+    "effortMinutes": 50,
     "primaryLocation": {
       "message": "fix the issue here",
       "filePath": "xources/hello/HelloJava.xoo",
index b951311436bdbec2d0aaea8d0aa5763e0c4013e2..1009cfe4eb8a5cbec4bd896103c73a37a850f26b 100644 (file)
@@ -5,7 +5,7 @@
     "ruleId": "rule1",
     "severity": "MAJOR",
     "type": "CODE_SMELL",
-    "effortMinutes": 20,
+    "effortMinutes": 40,
     "primaryLocation": {
       "message": "fix the issue here",
       "filePath": "file1.js",
index 834f44ec1ffef2cddd6f391a5e66f5ab4e215ffe..4639acc353a7194d300caff9282b7e05a0925dcb 100644 (file)
@@ -101,7 +101,7 @@ public class ExternalIssueTest {
     assertThat(issuesList.get(0).getType()).isEqualTo(RuleType.CODE_SMELL);
     assertThat(issuesList.get(0).getComponent()).isEqualTo("sample:src/main/xoo/sample/Sample.xoo");
     assertThat(issuesList.get(0).getStatus()).isEqualTo("OPEN");
-    assertThat(issuesList.get(0).getEffort()).isEqualTo("20min");
+    assertThat(issuesList.get(0).getEffort()).isEqualTo("50min");
     assertThat(issuesList.get(0).getExternalRuleEngine()).isEqualTo("externalXoo");
 
     issuesList = tester.wsClient().issues().search(new SearchRequest()