*/
@CheckForNull
public ActiveRuleParamDto activeRuleParam(QProfileRule rule, String key) {
- return findActiveRuleParam(rule.activeRuleId(), key);
+ Integer activeRuleId = rule.activeRuleId();
+ if (activeRuleId == null) {
+ throw new IllegalArgumentException("Active rule id can't be null");
+ }
+ return findActiveRuleParam(activeRuleId, key);
+
}
public ActiveRuleChanged updateActiveRuleParam(int profileId, int activeRuleId, String key, @Nullable String value) {
return rules.getFromRuleId(ruleId);
}
- public QProfileRule newRule(int profileId, int ruleId, @Nullable String name, @Nullable String severity, @Nullable String description, Map<String, String> paramsByKey) {
- QualityProfileDto qualityProfile = findNotNull(profileId);
+ public QProfileRule newRule(int ruleId, @Nullable String name, @Nullable String severity, @Nullable String description, Map<String, String> paramsByKey) {
RuleDto rule = findRuleNotNull(ruleId);
validateNewRule(name, severity, description);
RuleDto newRule = operations.createRule(rule, name, severity, description, paramsByKey, UserSession.get());
@Test
public void create_new_rule() throws Exception {
- QualityProfileDto profile = new QualityProfileDto().setId(1).setName("My profile").setLanguage("java");
- when(qualityProfileDao.selectById(1)).thenReturn(profile);
RuleDto rule = new RuleDto().setId(10).setRepositoryKey("squid").setRuleKey("AvoidCycle");
when(ruleDao.selectById(10)).thenReturn(rule);
Map<String, String> paramsByKey = ImmutableMap.of("max", "20");
when(service.createRule(eq(rule), eq("Rule name"), eq(Severity.MAJOR), eq("My note"), eq(paramsByKey), any(UserSession.class))).thenReturn(newRule);
- qProfiles.newRule(1, 10, "Rule name", Severity.MAJOR, "My note", paramsByKey);
+ qProfiles.newRule(10, "Rule name", Severity.MAJOR, "My note", paramsByKey);
verify(service).createRule(eq(rule), eq("Rule name"), eq(Severity.MAJOR), eq("My note"), eq(paramsByKey), any(UserSession.class));
verify(rules).getFromRuleId(11);
@Test
public void fail_to_create_new_rule_on_empty_parameters() throws Exception {
- QualityProfileDto profile = new QualityProfileDto().setId(1).setName("My profile").setLanguage("java");
- when(qualityProfileDao.selectById(1)).thenReturn(profile);
RuleDto rule = new RuleDto().setId(10).setRepositoryKey("squid").setRuleKey("AvoidCycle");
when(ruleDao.selectById(10)).thenReturn(rule);
when(service.createRule(eq(rule), eq("Rule name"), eq(Severity.MAJOR), eq("My note"), eq(paramsByKey), any(UserSession.class))).thenReturn(newRule);
try {
- qProfiles.newRule(1, 10, "", "", "", paramsByKey);
+ qProfiles.newRule( 10, "", "", "", paramsByKey);
fail();
} catch (Exception e) {
assertThat(e).isInstanceOf(BadRequestException.class);
@Test
public void fail_to_create_new_rule_when_rule_name_already_exists() throws Exception {
- QualityProfileDto profile = new QualityProfileDto().setId(1).setName("My profile").setLanguage("java");
- when(qualityProfileDao.selectById(1)).thenReturn(profile);
RuleDto rule = new RuleDto().setId(10).setRepositoryKey("squid").setRuleKey("AvoidCycle");
when(ruleDao.selectById(10)).thenReturn(rule);
when(service.createRule(eq(rule), eq("Rule name"), eq(Severity.MAJOR), eq("My note"), eq(paramsByKey), any(UserSession.class))).thenReturn(newRule);
try {
- qProfiles.newRule(1, 10, "Rule name", Severity.MAJOR, "My note", paramsByKey);
+ qProfiles.newRule(10, "Rule name", Severity.MAJOR, "My note", paramsByKey);
fail();
} catch (Exception e) {
assertThat(e).isInstanceOf(BadRequestException.class);