From 2db601adc43cecad034b8097644a5a260e65aa61 Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=A9bastien=20Lesaint?= Date: Wed, 31 Jan 2018 16:55:00 +0100 Subject: [PATCH] SONAR-10313 remove ruleKey from RuleActivation --- .../BuiltInQProfileUpdateImpl.java | 2 +- .../qualityprofile/QProfileBackuperImpl.java | 2 +- .../qualityprofile/QProfileExporters.java | 2 +- .../qualityprofile/QProfileRulesImpl.java | 2 +- .../qualityprofile/QProfileTreeImpl.java | 2 +- .../server/qualityprofile/RuleActivation.java | 21 +-- .../server/qualityprofile/RuleActivator.java | 2 +- .../qualityprofile/ws/ActivateRuleAction.java | 4 +- .../QProfileBackuperImplTest.java | 4 +- .../QProfileComparisonTest.java | 22 +-- .../qualityprofile/QProfileExportersTest.java | 2 +- .../qualityprofile/QProfileResetImplTest.java | 14 +- .../qualityprofile/QProfileRuleImplTest.java | 141 ++++++++---------- .../qualityprofile/QProfileTreeImplTest.java | 18 +-- ...gisterQualityProfilesNotificationTest.java | 2 +- .../ws/ActivateRuleActionTest.java | 6 +- .../ws/InheritanceActionTest.java | 2 +- .../server/rule/ws/SearchActionTest.java | 8 +- 18 files changed, 119 insertions(+), 137 deletions(-) diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/BuiltInQProfileUpdateImpl.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/BuiltInQProfileUpdateImpl.java index 64325cb7001..955974d7b0a 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/BuiltInQProfileUpdateImpl.java +++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/BuiltInQProfileUpdateImpl.java @@ -82,7 +82,7 @@ public class BuiltInQProfileUpdateImpl implements BuiltInQProfileUpdate { private static RuleActivation convert(BuiltInQProfile.ActiveRule ar) { Map params = ar.getBuiltIn().overriddenParams().stream() .collect(MoreCollectors.uniqueIndex(BuiltInQualityProfilesDefinition.OverriddenParam::key, BuiltInQualityProfilesDefinition.OverriddenParam::overriddenValue)); - return RuleActivation.create(ar.getRuleId(), ar.getRuleKey(), ar.getBuiltIn().overriddenSeverity(), params); + return RuleActivation.create(ar.getRuleId(), ar.getBuiltIn().overriddenSeverity(), params); } } diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileBackuperImpl.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileBackuperImpl.java index 14e80f6812d..9e5267d49e5 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileBackuperImpl.java +++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileBackuperImpl.java @@ -189,7 +189,7 @@ public class QProfileBackuperImpl implements QProfileBackuper { if (ruleDefinition == null) { return null; } - return RuleActivation.create(ruleDefinition.getId(), ruleDefinition.getKey(), r.severity, r.parameters); + return RuleActivation.create(ruleDefinition.getId(), r.severity, r.parameters); }) .filter(Objects::nonNull) .collect(MoreCollectors.toList(rules.size())); diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileExporters.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileExporters.java index 11ccb29d71f..64d4cd9f708 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileExporters.java +++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileExporters.java @@ -195,7 +195,7 @@ public class QProfileExporters { String severity = activeRule.getSeverity().name(); Map params = activeRule.getActiveRuleParams().stream() .collect(MoreCollectors.uniqueIndex(ActiveRuleParam::getKey, ActiveRuleParam::getValue)); - return RuleActivation.create(ruleDefinition.getId(), ruleKey, severity, params); + return RuleActivation.create(ruleDefinition.getId(), severity, params); } } diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileRulesImpl.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileRulesImpl.java index 15bc8a1e266..28a0a60b839 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileRulesImpl.java +++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileRulesImpl.java @@ -71,7 +71,7 @@ public class QProfileRulesImpl implements QProfileRules { public BulkChangeResult bulkActivateAndCommit(DbSession dbSession, QProfileDto profile, RuleQuery ruleQuery, @Nullable String severity) { verifyNotBuiltIn(profile); return doBulk(dbSession, profile, ruleQuery, (context, ruleDefinition) -> { - RuleActivation activation = RuleActivation.create(ruleDefinition.getId(), ruleDefinition.getKey(), severity, null); + RuleActivation activation = RuleActivation.create(ruleDefinition.getId(), severity, null); return ruleActivator.activate(dbSession, activation, context); }); } diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileTreeImpl.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileTreeImpl.java index 30199da15ff..b4c30a654af 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileTreeImpl.java +++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileTreeImpl.java @@ -85,7 +85,7 @@ public class QProfileTreeImpl implements QProfileTree { for (ActiveRuleDto parentActiveRule : parentActiveRules) { try { - RuleActivation activation = RuleActivation.create(parentActiveRule.getRuleId(), parentActiveRule.getRuleKey(), null, null); + RuleActivation activation = RuleActivation.create(parentActiveRule.getRuleId(), null, null); changes.addAll(ruleActivator.activate(dbSession, activation, context)); } catch (BadRequestException e) { // for example because rule status is REMOVED diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivation.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivation.java index fba67f21db7..1f2447fb4c3 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivation.java +++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivation.java @@ -25,7 +25,6 @@ import java.util.Map; import javax.annotation.CheckForNull; import javax.annotation.Nullable; import javax.annotation.concurrent.Immutable; -import org.sonar.api.rule.RuleKey; import org.sonar.api.rule.Severity; /** @@ -34,15 +33,13 @@ import org.sonar.api.rule.Severity; @Immutable public class RuleActivation { - private final RuleKey ruleKey; private final int ruleId; private final boolean reset; private final String severity; private final Map parameters = new HashMap<>(); - private RuleActivation(int ruleId, RuleKey ruleKey, boolean reset, @Nullable String severity, @Nullable Map parameters) { + private RuleActivation(int ruleId, boolean reset, @Nullable String severity, @Nullable Map parameters) { this.ruleId = ruleId; - this.ruleKey = ruleKey; this.reset = reset; this.severity = severity; if (severity != null && !Severity.ALL.contains(severity)) { @@ -55,16 +52,16 @@ public class RuleActivation { } } - public static RuleActivation createReset(int ruleId, RuleKey ruleKey) { - return new RuleActivation(ruleId, ruleKey, true, null, null); + public static RuleActivation createReset(int ruleId) { + return new RuleActivation(ruleId, true, null, null); } - public static RuleActivation create(int ruleId, RuleKey ruleKey, @Nullable String severity, @Nullable Map parameters) { - return new RuleActivation(ruleId, ruleKey, false, severity, parameters); + public static RuleActivation create(int ruleId, @Nullable String severity, @Nullable Map parameters) { + return new RuleActivation(ruleId, false, severity, parameters); } - public static RuleActivation create(int ruleId, RuleKey ruleKey) { - return create(ruleId, ruleKey, null, null); + public static RuleActivation create(int ruleId) { + return create(ruleId, null, null); } /** @@ -79,10 +76,6 @@ public class RuleActivation { return ruleId; } - public RuleKey getRuleKey() { - return ruleKey; - } - @CheckForNull public String getParameter(String key) { return parameters.get(key); diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivator.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivator.java index 949ac1965aa..0088bbe3474 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivator.java +++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivator.java @@ -72,7 +72,7 @@ public class RuleActivator { } public List activate(DbSession dbSession, RuleActivation activation, RuleActivationContext context) { - context.reset(activation.getRuleKey()); + context.reset(activation.getRuleId()); return doActivate(dbSession, activation, context); } diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ActivateRuleAction.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ActivateRuleAction.java index 85028f242ef..6710bd63893 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ActivateRuleAction.java +++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ActivateRuleAction.java @@ -118,7 +118,7 @@ public class ActivateRuleAction implements QProfileWsAction { .orElseThrow(() -> new IllegalArgumentException(format("Rule '%s' not found", ruleKey))); boolean reset = Boolean.TRUE.equals(request.paramAsBoolean(PARAM_RESET)); if (reset) { - return RuleActivation.createReset(ruleDefinition.getId(), ruleKey); + return RuleActivation.createReset(ruleDefinition.getId()); } String severity = request.param(PARAM_SEVERITY); Map params = null; @@ -126,7 +126,7 @@ public class ActivateRuleAction implements QProfileWsAction { if (paramsAsString != null) { params = KeyValueFormat.parse(paramsAsString); } - return RuleActivation.create(ruleDefinition.getId(), ruleKey, severity, params); + return RuleActivation.create(ruleDefinition.getId(), severity, params); } } diff --git a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileBackuperImplTest.java b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileBackuperImplTest.java index 3e51539b2f7..9dacf34b11b 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileBackuperImplTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileBackuperImplTest.java @@ -156,7 +156,7 @@ public class QProfileBackuperImplTest { @Test public void restore_resets_the_activated_rules() { - db.rules().insert(RuleKey.of("sonarjs", "s001")); + Integer ruleId = db.rules().insert(RuleKey.of("sonarjs", "s001")).getId(); OrganizationDto organization = db.organizations().insert(); Reader backup = new StringReader("" + "foo" + @@ -178,7 +178,7 @@ public class QProfileBackuperImplTest { assertThat(reset.calledActivations).hasSize(1); RuleActivation activation = reset.calledActivations.get(0); assertThat(activation.getSeverity()).isEqualTo("BLOCKER"); - assertThat(activation.getRuleKey()).isEqualTo(RuleKey.of("sonarjs", "s001")); + assertThat(activation.getRuleId()).isEqualTo(ruleId); assertThat(activation.getParameter("bar")).isEqualTo("baz"); } diff --git a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileComparisonTest.java b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileComparisonTest.java index e87872afc4b..fadb2a400a9 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileComparisonTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileComparisonTest.java @@ -115,7 +115,7 @@ public class QProfileComparisonTest { @Test public void compare_same() { - RuleActivation commonActivation = RuleActivation.create(xooRule1.getId(), xooRule1.getKey(), Severity.CRITICAL, + RuleActivation commonActivation = RuleActivation.create(xooRule1.getId(), Severity.CRITICAL, ImmutableMap.of("min", "7", "max", "42")); qProfileRules.activateAndCommit(dbSession, left, singleton(commonActivation)); qProfileRules.activateAndCommit(dbSession, right, singleton(commonActivation)); @@ -132,7 +132,7 @@ public class QProfileComparisonTest { @Test public void compare_only_left() { - RuleActivation activation = RuleActivation.create(xooRule1.getId(), xooRule1.getKey()); + RuleActivation activation = RuleActivation.create(xooRule1.getId()); qProfileRules.activateAndCommit(dbSession, left, singleton(activation)); QProfileComparisonResult result = comparison.compare(dbSession, left, right); @@ -147,7 +147,7 @@ public class QProfileComparisonTest { @Test public void compare_only_right() { - qProfileRules.activateAndCommit(dbSession, right, singleton(RuleActivation.create(xooRule1.getId(), xooRule1.getKey()))); + qProfileRules.activateAndCommit(dbSession, right, singleton(RuleActivation.create(xooRule1.getId()))); QProfileComparisonResult result = comparison.compare(dbSession, left, right); assertThat(result.left().getKee()).isEqualTo(left.getKee()); @@ -161,8 +161,8 @@ public class QProfileComparisonTest { @Test public void compare_disjoint() { - qProfileRules.activateAndCommit(dbSession, left, singleton(RuleActivation.create(xooRule1.getId(), xooRule1.getKey()))); - qProfileRules.activateAndCommit(dbSession, right, singleton(RuleActivation.create(xooRule2.getId(), xooRule2.getKey()))); + qProfileRules.activateAndCommit(dbSession, left, singleton(RuleActivation.create(xooRule1.getId()))); + qProfileRules.activateAndCommit(dbSession, right, singleton(RuleActivation.create(xooRule2.getId()))); QProfileComparisonResult result = comparison.compare(dbSession, left, right); assertThat(result.left().getKee()).isEqualTo(left.getKee()); @@ -176,8 +176,8 @@ public class QProfileComparisonTest { @Test public void compare_modified_severity() { - qProfileRules.activateAndCommit(dbSession, left, singleton(RuleActivation.create(xooRule1.getId(), xooRule1.getKey(), Severity.CRITICAL, null))); - qProfileRules.activateAndCommit(dbSession, right, singleton(RuleActivation.create(xooRule1.getId(), xooRule1.getKey(), Severity.BLOCKER, null))); + qProfileRules.activateAndCommit(dbSession, left, singleton(RuleActivation.create(xooRule1.getId(), Severity.CRITICAL, null))); + qProfileRules.activateAndCommit(dbSession, right, singleton(RuleActivation.create(xooRule1.getId(), Severity.BLOCKER, null))); QProfileComparisonResult result = comparison.compare(dbSession, left, right); assertThat(result.left().getKee()).isEqualTo(left.getKee()); @@ -196,8 +196,8 @@ public class QProfileComparisonTest { @Test public void compare_modified_param() { - qProfileRules.activateAndCommit(dbSession, left, singleton(RuleActivation.create(xooRule1.getId(), xooRule1.getKey(), null, ImmutableMap.of("max", "20")))); - qProfileRules.activateAndCommit(dbSession, right, singleton(RuleActivation.create(xooRule1.getId(), xooRule1.getKey(), null, ImmutableMap.of("max", "30")))); + qProfileRules.activateAndCommit(dbSession, left, singleton(RuleActivation.create(xooRule1.getId(), null, ImmutableMap.of("max", "20")))); + qProfileRules.activateAndCommit(dbSession, right, singleton(RuleActivation.create(xooRule1.getId(), null, ImmutableMap.of("max", "30")))); QProfileComparisonResult result = comparison.compare(dbSession, left, right); assertThat(result.left().getKee()).isEqualTo(left.getKee()); @@ -219,8 +219,8 @@ public class QProfileComparisonTest { @Test public void compare_different_params() { - qProfileRules.activateAndCommit(dbSession, left, singleton(RuleActivation.create(xooRule1.getId(), xooRule1.getKey(), null, ImmutableMap.of("max", "20")))); - qProfileRules.activateAndCommit(dbSession, right, singleton(RuleActivation.create(xooRule1.getId(), xooRule1.getKey(), null, ImmutableMap.of("min", "5")))); + qProfileRules.activateAndCommit(dbSession, left, singleton(RuleActivation.create(xooRule1.getId(), null, ImmutableMap.of("max", "20")))); + qProfileRules.activateAndCommit(dbSession, right, singleton(RuleActivation.create(xooRule1.getId(), null, ImmutableMap.of("min", "5")))); QProfileComparisonResult result = comparison.compare(dbSession, left, right); assertThat(result.left().getKee()).isEqualTo(left.getKee()); diff --git a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileExportersTest.java b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileExportersTest.java index 83059192909..f53da79afaa 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileExportersTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileExportersTest.java @@ -114,7 +114,7 @@ public class QProfileExportersTest { Collection activations = activationCapture.getValue(); assertThat(activations).hasSize(1); RuleActivation activation = activations.iterator().next(); - assertThat(activation.getRuleKey()).isEqualTo(rule.getKey()); + assertThat(activation.getRuleId()).isEqualTo(rule.getId()); assertThat(activation.getSeverity()).isEqualTo("CRITICAL"); } diff --git a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileResetImplTest.java b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileResetImplTest.java index 677c7e7c921..bdcf20d5f79 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileResetImplTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileResetImplTest.java @@ -67,10 +67,10 @@ public class QProfileResetImplTest { public void reset() { QProfileDto profile = db.qualityProfiles().insert(db.getDefaultOrganization(), p -> p.setLanguage(LANGUAGE)); RuleDefinitionDto existingRule = db.rules().insert(r -> r.setLanguage(LANGUAGE)); - qProfileRules.activateAndCommit(db.getSession(), profile, singleton(RuleActivation.create(existingRule.getId(), existingRule.getKey()))); + qProfileRules.activateAndCommit(db.getSession(), profile, singleton(RuleActivation.create(existingRule.getId()))); RuleDefinitionDto newRule = db.rules().insert(r -> r.setLanguage(LANGUAGE)); - BulkChangeResult result = underTest.reset(db.getSession(), profile, singletonList(RuleActivation.create(newRule.getId(), newRule.getKey()))); + BulkChangeResult result = underTest.reset(db.getSession(), profile, singletonList(RuleActivation.create(newRule.getId()))); assertThat(db.getDbClient().activeRuleDao().selectByProfile(db.getSession(), profile)) .extracting(OrgActiveRuleDto::getRuleKey) @@ -87,11 +87,11 @@ public class QProfileResetImplTest { QProfileDto childProfile = db.qualityProfiles().insert(db.getDefaultOrganization(), p -> p.setLanguage(LANGUAGE)); qProfileTree.setParentAndCommit(db.getSession(), childProfile, parentProfile); RuleDefinitionDto existingRule = db.rules().insert(r -> r.setLanguage(LANGUAGE)); - qProfileRules.activateAndCommit(db.getSession(), parentProfile, singleton(RuleActivation.create(existingRule.getId(), existingRule.getKey()))); - qProfileRules.activateAndCommit(db.getSession(), childProfile, singleton(RuleActivation.create(existingRule.getId(), existingRule.getKey()))); + qProfileRules.activateAndCommit(db.getSession(), parentProfile, singleton(RuleActivation.create(existingRule.getId()))); + qProfileRules.activateAndCommit(db.getSession(), childProfile, singleton(RuleActivation.create(existingRule.getId()))); RuleDefinitionDto newRule = db.rules().insert(r -> r.setLanguage(LANGUAGE)); - underTest.reset(db.getSession(), childProfile, singletonList(RuleActivation.create(newRule.getId(), newRule.getKey()))); + underTest.reset(db.getSession(), childProfile, singletonList(RuleActivation.create(newRule.getId()))); assertThat(db.getDbClient().activeRuleDao().selectByProfile(db.getSession(), childProfile)) .extracting(OrgActiveRuleDto::getRuleKey) @@ -106,7 +106,7 @@ public class QProfileResetImplTest { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage(String.format("Operation forbidden for built-in Quality Profile '%s'", profile.getKee())); - underTest.reset(db.getSession(), profile, singletonList(RuleActivation.create(defaultRule.getId(), defaultRule.getKey()))); + underTest.reset(db.getSession(), profile, singletonList(RuleActivation.create(defaultRule.getId()))); } @Test @@ -117,6 +117,6 @@ public class QProfileResetImplTest { expectedException.expect(NullPointerException.class); expectedException.expectMessage("Quality profile must be persisted"); - underTest.reset(db.getSession(), profile, singletonList(RuleActivation.create(defaultRule.getId(), defaultRule.getKey()))); + underTest.reset(db.getSession(), profile, singletonList(RuleActivation.create(defaultRule.getId()))); } } diff --git a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileRuleImplTest.java b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileRuleImplTest.java index a283ef5024f..2e2e742fef8 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileRuleImplTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileRuleImplTest.java @@ -31,7 +31,6 @@ import org.junit.Test; import org.junit.rules.ExpectedException; import org.sonar.api.PropertyType; import org.sonar.api.config.internal.MapSettings; -import org.sonar.api.rule.RuleKey; import org.sonar.api.rule.RuleStatus; import org.sonar.api.rule.Severity; import org.sonar.api.utils.System2; @@ -95,7 +94,7 @@ public class QProfileRuleImplTest { public void system_activates_rule_without_parameters() { RuleDefinitionDto rule = createRule(); QProfileDto profile = createProfile(rule); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), BLOCKER, null); + RuleActivation activation = RuleActivation.create(rule.getId(), BLOCKER, null); List changes = activate(profile, activation); assertThatRuleIsActivated(profile, rule, changes, BLOCKER, null, emptyMap()); @@ -107,7 +106,7 @@ public class QProfileRuleImplTest { userSession.logIn(); RuleDefinitionDto rule = createRule(); QProfileDto profile = createProfile(rule); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), BLOCKER, null); + RuleActivation activation = RuleActivation.create(rule.getId(), BLOCKER, null); List changes = activate(profile, activation); assertThatRuleIsActivated(profile, rule, changes, BLOCKER, null, emptyMap()); @@ -120,7 +119,7 @@ public class QProfileRuleImplTest { RuleParamDto ruleParam = db.rules().insertRuleParam(rule, p -> p.setName("min").setDefaultValue("10")); QProfileDto profile = createProfile(rule); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey()); + RuleActivation activation = RuleActivation.create(rule.getId()); List changes = activate(profile, activation); assertThatRuleIsActivated(profile, rule, changes, rule.getSeverityString(), null, of("min", "10")); @@ -133,7 +132,7 @@ public class QProfileRuleImplTest { RuleParamDto ruleParam = db.rules().insertRuleParam(rule, p -> p.setName("min").setDefaultValue("10")); QProfileDto profile = createProfile(rule); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), null, of(ruleParam.getName(), "15")); + RuleActivation activation = RuleActivation.create(rule.getId(), null, of(ruleParam.getName(), "15")); List changes = activate(profile, activation); assertThatRuleIsActivated(profile, rule, changes, rule.getSeverityString(), null, of("min", "15")); @@ -145,7 +144,7 @@ public class QProfileRuleImplTest { RuleDefinitionDto rule = createRule(); QProfileDto profile = createProfile(rule); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey()); + RuleActivation activation = RuleActivation.create(rule.getId()); List changes = activate(profile, activation); assertThatRuleIsActivated(profile, rule, changes, rule.getSeverityString(), null, emptyMap()); @@ -161,7 +160,7 @@ public class QProfileRuleImplTest { RuleParamDto ruleParam = db.rules().insertRuleParam(rule, p -> p.setName("min").setDefaultValue("10")); QProfileDto profile = createProfile(rule); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), null, of("min", "")); + RuleActivation activation = RuleActivation.create(rule.getId(), null, of("min", "")); List changes = activate(profile, activation); assertThatRuleIsActivated(profile, rule, changes, rule.getSeverityString(), null, of("min", "10")); @@ -178,7 +177,7 @@ public class QProfileRuleImplTest { RuleParamDto paramWithDefault = db.rules().insertRuleParam(rule, p -> p.setName("max").setDefaultValue("10")); QProfileDto profile = createProfile(rule); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), null, of(paramWithoutDefault.getName(), "-10")); + RuleActivation activation = RuleActivation.create(rule.getId(), null, of(paramWithoutDefault.getName(), "-10")); List changes = activate(profile, activation); assertThatRuleIsActivated(profile, rule, changes, rule.getSeverityString(), null, @@ -192,7 +191,7 @@ public class QProfileRuleImplTest { RuleParamDto param = db.rules().insertRuleParam(rule, p -> p.setName("max").setDefaultValue("10")); QProfileDto profile = createProfile(rule); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), null, of("xxx", "yyy")); + RuleActivation activation = RuleActivation.create(rule.getId(), null, of("xxx", "yyy")); List changes = activate(profile, activation); assertThatRuleIsActivated(profile, rule, changes, rule.getSeverityString(), null, of(param.getName(), param.getDefaultValue())); @@ -206,11 +205,11 @@ public class QProfileRuleImplTest { QProfileDto profile = createProfile(rule); // initial activation - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), MAJOR, null); + RuleActivation activation = RuleActivation.create(rule.getId(), MAJOR, null); activate(profile, activation); // update - RuleActivation updateActivation = RuleActivation.create(rule.getId(), rule.getKey(), CRITICAL, of(param.getName(), "20")); + RuleActivation updateActivation = RuleActivation.create(rule.getId(), CRITICAL, of(param.getName(), "20")); List changes = activate(profile, updateActivation); assertThatRuleIsUpdated(profile, rule, CRITICAL, null, of(param.getName(), "20")); @@ -225,11 +224,11 @@ public class QProfileRuleImplTest { QProfileDto profile = createProfile(rule); // initial activation -> param "max" has a default value - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey()); + RuleActivation activation = RuleActivation.create(rule.getId()); activate(profile, activation); // update param "min", which has no default value - RuleActivation updateActivation = RuleActivation.create(rule.getId(), rule.getKey(), MAJOR, of(paramWithoutDefault.getName(), "3")); + RuleActivation updateActivation = RuleActivation.create(rule.getId(), MAJOR, of(paramWithoutDefault.getName(), "3")); List changes = activate(profile, updateActivation); assertThatRuleIsUpdated(profile, rule, MAJOR, null, of(paramWithDefault.getName(), "10", paramWithoutDefault.getName(), "3")); @@ -243,11 +242,11 @@ public class QProfileRuleImplTest { QProfileDto profile = createProfile(rule); // initial activation -> param "max" has a default value - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), null, of(paramWithDefault.getName(), "20")); + RuleActivation activation = RuleActivation.create(rule.getId(), null, of(paramWithDefault.getName(), "20")); activate(profile, activation); // reset to default_value - RuleActivation updateActivation = RuleActivation.create(rule.getId(), rule.getKey(), null, of(paramWithDefault.getName(), "")); + RuleActivation updateActivation = RuleActivation.create(rule.getId(), null, of(paramWithDefault.getName(), "")); List changes = activate(profile, updateActivation); assertThatRuleIsUpdated(profile, rule, rule.getSeverityString(), null, of(paramWithDefault.getName(), "10")); @@ -262,11 +261,11 @@ public class QProfileRuleImplTest { QProfileDto profile = createProfile(rule); // initial activation -> param "max" has a default value - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), null, of(paramWithoutDefault.getName(), "20")); + RuleActivation activation = RuleActivation.create(rule.getId(), null, of(paramWithoutDefault.getName(), "20")); activate(profile, activation); // remove parameter - RuleActivation updateActivation = RuleActivation.create(rule.getId(), rule.getKey(), null, of(paramWithoutDefault.getName(), "")); + RuleActivation updateActivation = RuleActivation.create(rule.getId(), null, of(paramWithoutDefault.getName(), "")); List changes = activate(profile, updateActivation); assertThatRuleIsUpdated(profile, rule, rule.getSeverityString(), null, of(paramWithDefault.getName(), paramWithDefault.getDefaultValue())); @@ -280,13 +279,13 @@ public class QProfileRuleImplTest { QProfileDto profile = createProfile(rule); // initial activation -> param "max" has a default value - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey()); + RuleActivation activation = RuleActivation.create(rule.getId()); List changes = activate(profile, activation); db.getDbClient().activeRuleDao().deleteParametersByRuleProfileUuids(db.getSession(), asList(profile.getRulesProfileUuid())); assertThatRuleIsActivated(profile, rule, changes, rule.getSeverityString(), null, emptyMap()); // contrary to activerule, the param is supposed to be inserted but not updated - RuleActivation updateActivation = RuleActivation.create(rule.getId(), rule.getKey(), null, of(param.getName(), "")); + RuleActivation updateActivation = RuleActivation.create(rule.getId(), null, of(param.getName(), "")); changes = activate(profile, updateActivation); assertThatRuleIsUpdated(profile, rule, rule.getSeverityString(), null, of(param.getName(), param.getDefaultValue())); @@ -299,11 +298,11 @@ public class QProfileRuleImplTest { QProfileDto profile = createProfile(rule); // initial activation - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey()); + RuleActivation activation = RuleActivation.create(rule.getId()); activate(profile, activation); // update with exactly the same severity and params - activation = RuleActivation.create(rule.getId(), rule.getKey()); + activation = RuleActivation.create(rule.getId()); List changes = activate(profile, activation); assertThat(changes).isEmpty(); @@ -316,31 +315,21 @@ public class QProfileRuleImplTest { QProfileDto profile = createProfile(rule); // initial activation -> param "max" has a default value - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), BLOCKER, of(param.getName(), "20")); + RuleActivation activation = RuleActivation.create(rule.getId(), BLOCKER, of(param.getName(), "20")); activate(profile, activation); // update without any severity or params => keep - RuleActivation update = RuleActivation.create(rule.getId(), rule.getKey()); + RuleActivation update = RuleActivation.create(rule.getId()); List changes = activate(profile, update); assertThat(changes).isEmpty(); } - @Test - public void activation_fails_if_rule_does_not_exist() { - RuleDefinitionDto rule = createRule(); - QProfileDto profile = createProfile(rule); - RuleKey ruleKey = RuleKey.parse("unknown:xxx"); - RuleActivation activation = RuleActivation.create(rule.getId(), ruleKey); - - expectFailure("Rule not found: " + ruleKey, () -> activate(profile, activation)); - } - @Test public void fail_to_activate_rule_if_profile_is_on_different_languages() { RuleDefinitionDto rule = createJavaRule(); QProfileDto profile = db.qualityProfiles().insert(db.getDefaultOrganization(), p -> p.setLanguage("js")); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey()); + RuleActivation activation = RuleActivation.create(rule.getId()); expectFailure("java rule " + rule.getKey() + " cannot be activated on js profile " + profile.getKee(), () -> activate(profile, activation)); } @@ -349,7 +338,7 @@ public class QProfileRuleImplTest { public void fail_to_activate_rule_if_rule_has_REMOVED_status() { RuleDefinitionDto rule = db.rules().insert(r -> r.setStatus(RuleStatus.REMOVED)); QProfileDto profile = createProfile(rule); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey()); + RuleActivation activation = RuleActivation.create(rule.getId()); expectFailure("Rule was removed: " + rule.getKey(), () -> activate(profile, activation)); } @@ -358,7 +347,7 @@ public class QProfileRuleImplTest { public void fail_to_activate_if_template() { RuleDefinitionDto rule = db.rules().insert(r -> r.setIsTemplate(true)); QProfileDto profile = createProfile(rule); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey()); + RuleActivation activation = RuleActivation.create(rule.getId()); expectFailure("Rule template can't be activated on a Quality profile: " + rule.getKey(), () -> activate(profile, activation)); } @@ -369,7 +358,7 @@ public class QProfileRuleImplTest { RuleParamDto param = db.rules().insertRuleParam(rule, p -> p.setName("max").setDefaultValue("10").setType(PropertyType.INTEGER.name())); QProfileDto profile = createProfile(rule); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), null, of(param.getName(), "foo")); + RuleActivation activation = RuleActivation.create(rule.getId(), null, of(param.getName(), "foo")); expectFailure("Value 'foo' must be an integer.", () -> activate(profile, activation)); } @@ -382,12 +371,12 @@ public class QProfileRuleImplTest { QProfileDto profile = createProfile(customRule); // initial activation - RuleActivation activation = RuleActivation.create(customRule.getId(), customRule.getKey(), MAJOR, emptyMap()); + RuleActivation activation = RuleActivation.create(customRule.getId(), MAJOR, emptyMap()); activate(profile, activation); assertThatRuleIsActivated(profile, customRule, null, MAJOR, null, of("format", "txt")); // update -> parameter is not changed - RuleActivation updateActivation = RuleActivation.create(customRule.getId(), customRule.getKey(), BLOCKER, of("format", "xml")); + RuleActivation updateActivation = RuleActivation.create(customRule.getId(), BLOCKER, of("format", "xml")); activate(profile, updateActivation); assertThatRuleIsActivated(profile, customRule, null, BLOCKER, null, of("format", "txt")); } @@ -397,7 +386,7 @@ public class QProfileRuleImplTest { userSession.logIn(); RuleDefinitionDto rule = createRule(); QProfileDto profile = createProfile(rule); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey()); + RuleActivation activation = RuleActivation.create(rule.getId()); activate(profile, activation); List changes = deactivate(profile, rule); @@ -411,7 +400,7 @@ public class QProfileRuleImplTest { public void system_deactivates_a_rule() { RuleDefinitionDto rule = createRule(); QProfileDto profile = createProfile(rule); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey()); + RuleActivation activation = RuleActivation.create(rule.getId()); activate(profile, activation); List changes = deactivate(profile, rule); @@ -441,7 +430,7 @@ public class QProfileRuleImplTest { public void deactivate_rule_that_has_REMOVED_status() { RuleDefinitionDto rule = createRule(); QProfileDto profile = createProfile(rule); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey()); + RuleActivation activation = RuleActivation.create(rule.getId()); activate(profile, activation); rule.setStatus(RuleStatus.REMOVED); @@ -459,7 +448,7 @@ public class QProfileRuleImplTest { QProfileDto childProfile = createChildProfile(parentProfile); QProfileDto grandChildProfile = createChildProfile(childProfile); - List changes = activate(childProfile, RuleActivation.create(rule.getId(), rule.getKey())); + List changes = activate(childProfile, RuleActivation.create(rule.getId())); assertThatProfileHasNoActiveRules(parentProfile); assertThatRuleIsActivated(childProfile, rule, changes, rule.getSeverityString(), null, emptyMap()); assertThatRuleIsActivated(grandChildProfile, rule, changes, rule.getSeverityString(), INHERITED, emptyMap()); @@ -473,10 +462,10 @@ public class QProfileRuleImplTest { QProfileDto childProfile = createChildProfile(parentProfile); QProfileDto grandChildProfile = createChildProfile(childProfile); - RuleActivation initialActivation = RuleActivation.create(rule.getId(), rule.getKey(), MAJOR, of(param.getName(), "foo")); + RuleActivation initialActivation = RuleActivation.create(rule.getId(), MAJOR, of(param.getName(), "foo")); activate(childProfile, initialActivation); - RuleActivation updateActivation = RuleActivation.create(rule.getId(), rule.getKey(), CRITICAL, of(param.getName(), "bar")); + RuleActivation updateActivation = RuleActivation.create(rule.getId(), CRITICAL, of(param.getName(), "bar")); List changes = activate(childProfile, updateActivation); assertThatProfileHasNoActiveRules(parentProfile); @@ -493,10 +482,10 @@ public class QProfileRuleImplTest { QProfileDto childProfile = createChildProfile(parentProfile); QProfileDto grandChildProfile = createChildProfile(childProfile); - RuleActivation initialActivation = RuleActivation.create(rule.getId(), rule.getKey(), MAJOR, of(param.getName(), "foo")); + RuleActivation initialActivation = RuleActivation.create(rule.getId(), MAJOR, of(param.getName(), "foo")); activate(childProfile, initialActivation); - RuleActivation overrideActivation = RuleActivation.create(rule.getId(), rule.getKey(), CRITICAL, of(param.getName(), "bar")); + RuleActivation overrideActivation = RuleActivation.create(rule.getId(), CRITICAL, of(param.getName(), "bar")); List changes = activate(grandChildProfile, overrideActivation); assertThatProfileHasNoActiveRules(parentProfile); @@ -513,14 +502,14 @@ public class QProfileRuleImplTest { QProfileDto childProfile = createChildProfile(parentProfile); QProfileDto grandChildProfile = createChildProfile(childProfile); - RuleActivation initialActivation = RuleActivation.create(rule.getId(), rule.getKey(), MAJOR, of(param.getName(), "foo")); + RuleActivation initialActivation = RuleActivation.create(rule.getId(), MAJOR, of(param.getName(), "foo")); activate(childProfile, initialActivation); - RuleActivation overrideActivation = RuleActivation.create(rule.getId(), rule.getKey(), CRITICAL, of(param.getName(), "bar")); + RuleActivation overrideActivation = RuleActivation.create(rule.getId(), CRITICAL, of(param.getName(), "bar")); activate(grandChildProfile, overrideActivation); // update child --> do not touch grandChild - RuleActivation updateActivation = RuleActivation.create(rule.getId(), rule.getKey(), BLOCKER, of(param.getName(), "baz")); + RuleActivation updateActivation = RuleActivation.create(rule.getId(), BLOCKER, of(param.getName(), "baz")); List changes = activate(childProfile, updateActivation); assertThatProfileHasNoActiveRules(parentProfile); @@ -537,14 +526,14 @@ public class QProfileRuleImplTest { QProfileDto childProfile = createChildProfile(parentProfile); QProfileDto grandChildProfile = createChildProfile(childProfile); - RuleActivation initialActivation = RuleActivation.create(rule.getId(), rule.getKey(), MAJOR, of(param.getName(), "foo")); + RuleActivation initialActivation = RuleActivation.create(rule.getId(), MAJOR, of(param.getName(), "foo")); activate(parentProfile, initialActivation); - RuleActivation overrideActivation = RuleActivation.create(rule.getId(), rule.getKey(), CRITICAL, of(param.getName(), "bar")); + RuleActivation overrideActivation = RuleActivation.create(rule.getId(), CRITICAL, of(param.getName(), "bar")); activate(grandChildProfile, overrideActivation); // reset parent --> touch child but not grandChild - RuleActivation updateActivation = RuleActivation.createReset(rule.getId(), rule.getKey()); + RuleActivation updateActivation = RuleActivation.createReset(rule.getId()); List changes = activate(parentProfile, updateActivation); assertThatRuleIsUpdated(parentProfile, rule, rule.getSeverityString(), null, of(param.getName(), param.getDefaultValue())); @@ -560,10 +549,10 @@ public class QProfileRuleImplTest { QProfileDto parentProfile = createProfile(rule); QProfileDto childProfile = createChildProfile(parentProfile); - RuleActivation childActivation = RuleActivation.create(rule.getId(), rule.getKey(), MAJOR, of(param.getName(), "foo")); + RuleActivation childActivation = RuleActivation.create(rule.getId(), MAJOR, of(param.getName(), "foo")); activate(childProfile, childActivation); - RuleActivation parentActivation = RuleActivation.create(rule.getId(), rule.getKey(), CRITICAL, of(param.getName(), "bar")); + RuleActivation parentActivation = RuleActivation.create(rule.getId(), CRITICAL, of(param.getName(), "bar")); List changes = activate(parentProfile, parentActivation); assertThatRuleIsUpdated(parentProfile, rule, CRITICAL, null, of(param.getName(), "bar")); @@ -578,10 +567,10 @@ public class QProfileRuleImplTest { QProfileDto parentProfile = createProfile(rule); QProfileDto childProfile = createChildProfile(parentProfile); - RuleActivation parentActivation = RuleActivation.create(rule.getId(), rule.getKey(), MAJOR, of(param.getName(), "foo")); + RuleActivation parentActivation = RuleActivation.create(rule.getId(), MAJOR, of(param.getName(), "foo")); activate(parentProfile, parentActivation); - RuleActivation overrideActivation = RuleActivation.create(rule.getId(), rule.getKey(), MAJOR, of(param.getName(), "foo")); + RuleActivation overrideActivation = RuleActivation.create(rule.getId(), MAJOR, of(param.getName(), "foo")); List changes = activate(childProfile, overrideActivation); assertThatRuleIsUpdated(childProfile, rule, MAJOR, INHERITED, of(param.getName(), "foo")); @@ -594,7 +583,7 @@ public class QProfileRuleImplTest { QProfileDto parentProfile = createProfile(rule); QProfileDto childProfile = createChildProfile(parentProfile); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey()); + RuleActivation activation = RuleActivation.create(rule.getId()); List changes = activate(parentProfile, activation); assertThatRuleIsActivated(parentProfile, rule, changes, rule.getSeverityString(), null, emptyMap()); assertThatRuleIsActivated(childProfile, rule, changes, rule.getSeverityString(), INHERITED, emptyMap()); @@ -611,12 +600,12 @@ public class QProfileRuleImplTest { QProfileDto parentProfile = createProfile(rule); QProfileDto childProfile = createChildProfile(parentProfile); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey()); + RuleActivation activation = RuleActivation.create(rule.getId()); List changes = activate(parentProfile, activation); assertThatRuleIsActivated(parentProfile, rule, changes, rule.getSeverityString(), null, emptyMap()); assertThatRuleIsActivated(childProfile, rule, changes, rule.getSeverityString(), INHERITED, emptyMap()); - activation = RuleActivation.create(rule.getId(), rule.getKey(), CRITICAL, null); + activation = RuleActivation.create(rule.getId(), CRITICAL, null); activate(childProfile, activation); changes = deactivate(parentProfile, rule); @@ -631,7 +620,7 @@ public class QProfileRuleImplTest { QProfileDto parentProfile = createProfile(rule); QProfileDto childProfile = createChildProfile(parentProfile); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey()); + RuleActivation activation = RuleActivation.create(rule.getId()); List changes = activate(parentProfile, activation); assertThatRuleIsActivated(parentProfile, rule, changes, rule.getSeverityString(), null, emptyMap()); assertThatRuleIsActivated(childProfile, rule, changes, rule.getSeverityString(), INHERITED, emptyMap()); @@ -647,18 +636,18 @@ public class QProfileRuleImplTest { QProfileDto parentProfile = createProfile(rule); QProfileDto childProfile = createChildProfile(parentProfile); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), CRITICAL, null); + RuleActivation activation = RuleActivation.create(rule.getId(), CRITICAL, null); List changes = activate(parentProfile, activation); assertThatRuleIsActivated(parentProfile, rule, changes, CRITICAL, null, emptyMap()); assertThatRuleIsActivated(childProfile, rule, changes, CRITICAL, INHERITED, emptyMap()); assertThat(changes).hasSize(2); - RuleActivation childActivation = RuleActivation.create(rule.getId(), rule.getKey(), BLOCKER, null); + RuleActivation childActivation = RuleActivation.create(rule.getId(), BLOCKER, null); changes = activate(childProfile, childActivation); assertThatRuleIsUpdated(childProfile, rule, BLOCKER, ActiveRule.Inheritance.OVERRIDES, emptyMap()); assertThat(changes).hasSize(1); - RuleActivation resetActivation = RuleActivation.createReset(rule.getId(), rule.getKey()); + RuleActivation resetActivation = RuleActivation.createReset(rule.getId()); changes = activate(childProfile, resetActivation); assertThatRuleIsUpdated(childProfile, rule, CRITICAL, INHERITED, emptyMap()); assertThatRuleIsUpdated(parentProfile, rule, CRITICAL, null, emptyMap()); @@ -672,21 +661,21 @@ public class QProfileRuleImplTest { QProfileDto childProfile = createChildProfile(baseProfile); QProfileDto grandChildProfile = createChildProfile(childProfile); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), CRITICAL, null); + RuleActivation activation = RuleActivation.create(rule.getId(), CRITICAL, null); List changes = activate(baseProfile, activation); assertThatRuleIsActivated(baseProfile, rule, changes, CRITICAL, null, emptyMap()); assertThatRuleIsActivated(childProfile, rule, changes, CRITICAL, INHERITED, emptyMap()); assertThatRuleIsActivated(grandChildProfile, rule, changes, CRITICAL, INHERITED, emptyMap()); assertThat(changes).hasSize(3); - RuleActivation childActivation = RuleActivation.create(rule.getId(), rule.getKey(), BLOCKER, null); + RuleActivation childActivation = RuleActivation.create(rule.getId(), BLOCKER, null); changes = activate(childProfile, childActivation); assertThatRuleIsUpdated(childProfile, rule, BLOCKER, ActiveRule.Inheritance.OVERRIDES, emptyMap()); assertThatRuleIsUpdated(grandChildProfile, rule, BLOCKER, INHERITED, emptyMap()); assertThat(changes).hasSize(2); // Reset on parent do not change child nor grandchild - RuleActivation resetActivation = RuleActivation.createReset(rule.getId(), rule.getKey()); + RuleActivation resetActivation = RuleActivation.createReset(rule.getId()); changes = activate(baseProfile, resetActivation); assertThatRuleIsUpdated(baseProfile, rule, rule.getSeverityString(), null, emptyMap()); assertThatRuleIsUpdated(childProfile, rule, BLOCKER, ActiveRule.Inheritance.OVERRIDES, emptyMap()); @@ -694,7 +683,7 @@ public class QProfileRuleImplTest { assertThat(changes).hasSize(1); // Reset on child change grandchild - resetActivation = RuleActivation.createReset(rule.getId(), rule.getKey()); + resetActivation = RuleActivation.createReset(rule.getId()); changes = activate(childProfile, resetActivation); assertThatRuleIsUpdated(baseProfile, rule, rule.getSeverityString(), null, emptyMap()); assertThatRuleIsUpdated(childProfile, rule, rule.getSeverityString(), INHERITED, emptyMap()); @@ -706,9 +695,9 @@ public class QProfileRuleImplTest { public void ignore_reset_if_not_activated() { RuleDefinitionDto rule = createRule(); QProfileDto parentProfile = createProfile(rule); - QProfileDto childProfile = createChildProfile(parentProfile); + createChildProfile(parentProfile); - RuleActivation resetActivation = RuleActivation.createReset(rule.getId(), rule.getKey()); + RuleActivation resetActivation = RuleActivation.createReset(rule.getId()); List changes = activate(parentProfile, resetActivation); verifyNoActiveRules(); assertThat(changes).hasSize(0); @@ -782,7 +771,7 @@ public class QProfileRuleImplTest { QProfileDto parentProfile = createProfile(rule); QProfileDto childProfile = createChildProfile(parentProfile); - List changes = activate(parentProfile, RuleActivation.create(rule.getId(), rule.getKey())); + List changes = activate(parentProfile, RuleActivation.create(rule.getId())); assertThatRuleIsActivated(parentProfile, rule, null, rule.getSeverityString(), null, emptyMap()); assertThatRuleIsActivated(childProfile, rule, null, rule.getSeverityString(), INHERITED, emptyMap()); @@ -807,8 +796,8 @@ public class QProfileRuleImplTest { QProfileDto childProfile = createChildProfile(parentProfile); QProfileDto grandchildProfile = createChildProfile(childProfile); - activate(parentProfile, RuleActivation.create(rule1.getId(), rule1.getKey())); - activate(parentProfile, RuleActivation.create(rule2.getId(), rule2.getKey())); + activate(parentProfile, RuleActivation.create(rule1.getId())); + activate(parentProfile, RuleActivation.create(rule2.getId())); ruleIndexer.indexOnStartup(ruleIndexer.getIndexTypes()); @@ -839,10 +828,10 @@ public class QProfileRuleImplTest { QProfileDto childProfile = createChildProfile(parentProfile); QProfileDto grandChildProfile = createChildProfile(childProfile); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), CRITICAL, null); + RuleActivation activation = RuleActivation.create(rule.getId(), CRITICAL, null); activate(parentProfile, activation); - RuleActivation overrideActivation = RuleActivation.create(rule.getId(), rule.getKey(), BLOCKER, null); + RuleActivation overrideActivation = RuleActivation.create(rule.getId(), BLOCKER, null); activate(grandChildProfile, overrideActivation); // Reset on parent do not change child nor grandchild @@ -865,7 +854,7 @@ public class QProfileRuleImplTest { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("The built-in profile " + builtInProfile.getName() + " is read-only and can't be updated"); - underTest.activateAndCommit(db.getSession(), builtInProfile, singleton(RuleActivation.create(rule.getId(), rule.getKey()))); + underTest.activateAndCommit(db.getSession(), builtInProfile, singleton(RuleActivation.create(rule.getId()))); } private void assertThatProfileHasNoActiveRules(QProfileDto profile) { diff --git a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileTreeImplTest.java b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileTreeImplTest.java index 36718e93ac4..3f88ea79906 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileTreeImplTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileTreeImplTest.java @@ -110,11 +110,11 @@ public class QProfileTreeImplTest { RuleDefinitionDto rule2 = db.rules().insert(r -> r.setLanguage("bar")); QProfileDto parentProfile = createProfile(rule1); - List changes = activate(parentProfile, RuleActivation.create(rule1.getId(), rule1.getKey())); + List changes = activate(parentProfile, RuleActivation.create(rule1.getId())); assertThat(changes).hasSize(1); QProfileDto childProfile = createProfile(rule2); - changes = activate(childProfile, RuleActivation.create(rule2.getId(), rule2.getKey())); + changes = activate(childProfile, RuleActivation.create(rule2.getId())); assertThat(changes).hasSize(1); expectedException.expect(BadRequestException.class); @@ -129,11 +129,11 @@ public class QProfileTreeImplTest { RuleDefinitionDto rule2 = createJavaRule(); QProfileDto profile1 = createProfile(rule1); - List changes = activate(profile1, RuleActivation.create(rule1.getId(), rule1.getKey())); + List changes = activate(profile1, RuleActivation.create(rule1.getId())); assertThat(changes).hasSize(1); QProfileDto profile2 = createProfile(rule2); - changes = activate(profile2, RuleActivation.create(rule2.getId(), rule2.getKey())); + changes = activate(profile2, RuleActivation.create(rule2.getId())); assertThat(changes).hasSize(1); changes = underTest.setParentAndCommit(db.getSession(), profile2, profile1); @@ -152,11 +152,11 @@ public class QProfileTreeImplTest { RuleDefinitionDto rule1 = createJavaRule(); RuleDefinitionDto rule2 = createJavaRule(); QProfileDto profile1 = createProfile(rule1); - List changes = activate(profile1, RuleActivation.create(rule1.getId(), rule1.getKey())); + List changes = activate(profile1, RuleActivation.create(rule1.getId())); assertThat(changes).hasSize(1); QProfileDto profile2 = createProfile(rule2); - changes = activate(profile2, RuleActivation.create(rule2.getId(), rule2.getKey())); + changes = activate(profile2, RuleActivation.create(rule2.getId())); assertThat(changes).hasSize(1); changes = underTest.setParentAndCommit(db.getSession(), profile2, profile1); @@ -164,7 +164,7 @@ public class QProfileTreeImplTest { assertThatRuleIsActivated(profile2, rule1, changes, rule1.getSeverityString(), INHERITED, emptyMap()); assertThatRuleIsActivated(profile2, rule2, null, rule2.getSeverityString(), null, emptyMap()); - RuleActivation activation = RuleActivation.create(rule1.getId(), rule1.getKey(), BLOCKER, null); + RuleActivation activation = RuleActivation.create(rule1.getId(), BLOCKER, null); changes = activate(profile2, activation); assertThat(changes).hasSize(1); assertThatRuleIsUpdated(profile2, rule1, BLOCKER, ActiveRule.Inheritance.OVERRIDES, emptyMap()); @@ -182,8 +182,8 @@ public class QProfileTreeImplTest { RuleDefinitionDto rule1 = createJavaRule(); RuleDefinitionDto rule2 = createJavaRule(); QProfileDto parentProfile = createProfile(rule1); - activate(parentProfile, RuleActivation.create(rule1.getId(), rule1.getKey())); - activate(parentProfile, RuleActivation.create(rule2.getId(), rule2.getKey())); + activate(parentProfile, RuleActivation.create(rule1.getId())); + activate(parentProfile, RuleActivation.create(rule2.getId())); rule1.setStatus(RuleStatus.REMOVED); db.rules().update(rule1); diff --git a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/RegisterQualityProfilesNotificationTest.java b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/RegisterQualityProfilesNotificationTest.java index b67057e584f..b68366b4618 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/RegisterQualityProfilesNotificationTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/RegisterQualityProfilesNotificationTest.java @@ -265,7 +265,7 @@ public class RegisterQualityProfilesNotificationTest { db.qualityProfiles().activateRule(builtInQProfileDto, rule); QProfileDto childQProfileDto = insertProfile(organization, orgQProfile -> orgQProfile.setIsBuiltIn(false).setLanguage(language).setParentKee(builtInQProfileDto.getKee())); - qProfileRules.activateAndCommit(db.getSession(), childQProfileDto, singleton(RuleActivation.create(rule.getId(), rule.getKey()))); + qProfileRules.activateAndCommit(db.getSession(), childQProfileDto, singleton(RuleActivation.create(rule.getId()))); db.commit(); addPluginProfile(builtInQProfileDto); diff --git a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/ActivateRuleActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/ActivateRuleActionTest.java index 044f81e78d0..e80ff4595a1 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/ActivateRuleActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/ActivateRuleActionTest.java @@ -161,7 +161,7 @@ public class ActivateRuleActionTest { assertThat(activations).hasSize(1); RuleActivation activation = activations.iterator().next(); - assertThat(activation.getRuleKey()).isEqualTo(rule.getKey()); + assertThat(activation.getRuleId()).isEqualTo(rule.getId()); assertThat(activation.getSeverity()).isEqualTo(Severity.BLOCKER); assertThat(activation.isReset()).isFalse(); } @@ -171,7 +171,7 @@ public class ActivateRuleActionTest { userSession.logIn().addPermission(OrganizationPermission.ADMINISTER_QUALITY_PROFILES, organization); QProfileDto qualityProfile = db.qualityProfiles().insert(organization); RuleKey ruleKey = RuleTesting.randomRuleKey(); - db.rules().insert(ruleKey); + Integer ruleId = db.rules().insert(ruleKey).getId(); TestRequest request = ws.newRequest() .setMethod("POST") .setParam(PARAM_RULE, ruleKey.toString()) @@ -190,7 +190,7 @@ public class ActivateRuleActionTest { Collection activations = ruleActivationCaptor.getValue(); assertThat(activations).hasSize(1); RuleActivation activation = activations.iterator().next(); - assertThat(activation.getRuleKey()).isEqualTo(ruleKey); + assertThat(activation.getRuleId()).isEqualTo(ruleId); assertThat(activation.getSeverity()).isEqualTo(Severity.BLOCKER); assertThat(activation.isReset()).isFalse(); } diff --git a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/InheritanceActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/InheritanceActionTest.java index 0a66c9e22a0..bf57686f58b 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/InheritanceActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/InheritanceActionTest.java @@ -280,7 +280,7 @@ public class InheritanceActionTest { } private void overrideActiveRuleSeverity(RuleDefinitionDto rule, QProfileDto profile, String severity) { - qProfileRules.activateAndCommit(dbSession, profile, singleton(RuleActivation.create(rule.getId(), rule.getKey(), severity, null))); + qProfileRules.activateAndCommit(dbSession, profile, singleton(RuleActivation.create(rule.getId(), severity, null))); // dbSession.commit(); // activeRuleIndexer.indexOnStartup(activeRuleIndexer.getIndexTypes()); } diff --git a/server/sonar-server/src/test/java/org/sonar/server/rule/ws/SearchActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/rule/ws/SearchActionTest.java index e26a2d3fb2a..64fc3453163 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/rule/ws/SearchActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/rule/ws/SearchActionTest.java @@ -613,7 +613,7 @@ public class SearchActionTest { OrganizationDto organization = db.organizations().insert(); QProfileDto profile = db.qualityProfiles().insert(organization, p -> p.setLanguage("java")); RuleDefinitionDto rule = createJavaRule(); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), BLOCKER, null); + RuleActivation activation = RuleActivation.create(rule.getId(), BLOCKER, null); qProfileRules.activateAndCommit(db.getSession(), profile, singleton(activation)); indexRules(); @@ -660,7 +660,7 @@ public class SearchActionTest { .setDescription("Empty Param") .setName("empty_var")); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey()); + RuleActivation activation = RuleActivation.create(rule.getId()); List activeRuleChanges1 = qProfileRules.activateAndCommit(db.getSession(), profile, singleton(activation)); qProfileRules.activateAndCommit(db.getSession(), waterproofProfile, singleton(activation)); @@ -716,7 +716,7 @@ public class SearchActionTest { .setDescription("My small description") .setName("my_var")); - RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey()); + RuleActivation activation = RuleActivation.create(rule.getId()); List activeRuleChanges = qProfileRules.activateAndCommit(db.getSession(), profile, singleton(activation)); // Insert directly in database a rule parameter with a null value @@ -779,7 +779,7 @@ public class SearchActionTest { .setSeverity("MAJOR") .setStatus(RuleStatus.DEPRECATED) .setType(RuleType.VULNERABILITY)); - RuleActivation activation = RuleActivation.create(rule2.getId(), rule2.getKey(), null, null); + RuleActivation activation = RuleActivation.create(rule2.getId(), null, null); qProfileRules.activateAndCommit(db.getSession(), profile, singleton(activation)); // on other language, not activated => no match -- 2.39.5