From: Simon Brandhof Date: Sun, 12 Jul 2015 13:31:55 +0000 (+0200) Subject: SONAR-6644 do not compute issue debt if SQALE characteristic is not set X-Git-Tag: 5.2-RC1~1138 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=aa5aedac205005477230665673a0f446d0cd3661;p=sonarqube.git SONAR-6644 do not compute issue debt if SQALE characteristic is not set --- diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/DebtCalculator.java b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/DebtCalculator.java index 0a7e5274809..6abdabd9d16 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/DebtCalculator.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/DebtCalculator.java @@ -42,7 +42,7 @@ public class DebtCalculator { public Duration calculate(DefaultIssue issue) { Rule rule = ruleRepository.getByKey(issue.ruleKey()); DebtRemediationFunction fn = rule.getRemediationFunction(); - if (fn != null) { + if (fn != null && rule.getSubCharacteristicId() != null) { verifyEffortToFix(issue, fn); Duration debt = Duration.create(0); diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/NewDebtCalculator.java b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/NewDebtCalculator.java index d67bc99e04e..428d3bb1900 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/NewDebtCalculator.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/NewDebtCalculator.java @@ -49,7 +49,6 @@ import static com.google.common.collect.FluentIterable.from; public class NewDebtCalculator { public long calculate(DefaultIssue issue, Collection debtChangelog, Period period) { - if (issue.creationDate().getTime() > period.getSnapshotDate() + 1000L) { return Objects.firstNonNull(issue.debtInMinutes(), 0L); } diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/issue/DebtCalculatorTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/issue/DebtCalculatorTest.java index d596d765bb8..078e56a4eb1 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/issue/DebtCalculatorTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/issue/DebtCalculatorTest.java @@ -33,7 +33,7 @@ import static org.mockito.Mockito.mock; public class DebtCalculatorTest { - DumbRule rule = new DumbRule(RuleTesting.XOO_X1); + DumbRule rule = new DumbRule(RuleTesting.XOO_X1).setSubCharacteristicId(123); DefaultIssue issue = new DefaultIssue().setRuleKey(rule.getKey()); @org.junit.Rule @@ -48,6 +48,16 @@ public class DebtCalculatorTest { assertThat(underTest.calculate(issue)).isNull(); } + @Test + public void no_debt_if_no_sqale_characteristic() { + rule.setSubCharacteristicId(null); + rule.setFunction(new DefaultDebtRemediationFunction(DebtRemediationFunction.Type.LINEAR, "2min", null)); + + DefaultIssue issue = new DefaultIssue().setRuleKey(rule.getKey()); + + assertThat(underTest.calculate(issue)).isNull(); + } + @Test public void default_effort_to_fix_is_one_for_linear_function() { int coefficient = 2;