private RulesProfile parse(String resource, ValidationMessages validation) { return new XMLProfileParser(newRuleFinder()) .parseResource(getClass().getClassLoader(), getResourcePath(resource), validation); }
@Test public void nameAndLanguageShouldBeMandatory() { ValidationMessages validation = ValidationMessages.create(); parse("nameAndLanguageShouldBeMandatory.xml", validation); assertThat(validation.getErrors()).hasSize(2); assertThat(validation.getErrors().get(0)).contains(""); }
@Test public void importProfile() { ValidationMessages validation = ValidationMessages.create(); RulesProfile profile = parse("importProfile.xml", validation); assertThat(profile.getLanguage()).isEqualTo("java"); assertThat(profile.getName()).isEqualTo("sonar way"); assertThat(validation.hasErrors()).isFalse(); assertThat(profile).isNotNull(); assertThat(profile.getActiveRule("checkstyle", "IllegalRegexp").getSeverity()).isEqualTo(RulePriority.CRITICAL); }
@Test public void importProfileWithRuleParameters() { ValidationMessages validation = ValidationMessages.create(); RulesProfile profile = parse("importProfileWithRuleParameters.xml", validation); assertThat(validation.hasErrors()).isFalse(); assertThat(validation.hasWarnings()).isFalse(); ActiveRule rule = profile.getActiveRule("checkstyle", "IllegalRegexp"); assertThat(rule.getParameter("format")).isEqualTo("foo"); assertThat(rule.getParameter("message")).isEqualTo("with special characters < > &"); }
@Test public void importProfileWithUnknownRuleParameter() { ValidationMessages validation = ValidationMessages.create(); RulesProfile profile = parse("importProfileWithUnknownRuleParameter.xml", validation); assertThat(validation.getWarnings()).hasSize(1); ActiveRule rule = profile.getActiveRule("checkstyle", "IllegalRegexp"); assertThat(rule.getParameter("unknown")).isNull(); }