@Test public void return_all_rule_fields_by_default() { RuleDefinitionDto rule = db.rules().insert(r -> r.setLanguage("java")); indexRules(); Rules.SearchResponse response = ws.newRequest().executeProtobuf(Rules.SearchResponse.class); Rules.Rule result = response.getRules(0); assertThat(result.getCreatedAt()).isNotEmpty(); assertThat(result.getEffortToFixDescription()).isNotEmpty(); assertThat(result.getHtmlDesc()).isNotEmpty(); assertThat(result.hasIsTemplate()).isTrue(); assertThat(result.getLang()).isEqualTo(rule.getLanguage()); assertThat(result.getLangName()).isEqualTo(languages.get(rule.getLanguage()).getName()); assertThat(result.getName()).isNotEmpty(); assertThat(result.getRepo()).isNotEmpty(); assertThat(result.getSeverity()).isNotEmpty(); assertThat(result.getType().name()).isEqualTo(RuleType.valueOf(rule.getType()).name()); }
@Test public void encode_html_description_of_custom_rule() { // Template rule RuleDto templateRule = newTemplateRule(RuleKey.of("java", "S001")); db.rules().insert(templateRule.getDefinition()); // Custom rule RuleDefinitionDto customRule = newCustomRule(templateRule.getDefinition()) .setDescription("<div>line1\nline2</div>") .setDescriptionFormat(MARKDOWN); db.rules().insert(customRule); doReturn("<div>line1<br/>line2</div>").when(macroInterpreter).interpret("<div>line1\nline2</div>"); ShowResponse result = ws.newRequest() .setParam("key", customRule.getKey().toString()) .executeProtobuf(ShowResponse.class); assertThat(result.getRule().getHtmlDesc()).isEqualTo(INTERPRETED); assertThat(result.getRule().getTemplateKey()).isEqualTo(templateRule.getKey().toString()); verify(macroInterpreter).interpret("<div>line1<br/>line2</div>"); }
.setLang(r.getLang()) .setInternalKey(r.getInternalKey()) .setHtmlDesc(r.getHtmlDesc()) .setHtmlNote(r.getHtmlNote()) .setIsTemplate(r.getIsTemplate())
public Rule getRule(String key) { Rules.Rule rule = sonarClient.rules().show(null, key).getRule(); return new Rule(rule.getKey(), rule.getName(), rule.getSeverity(), rule.getLang(), rule.getLangName(), rule.getHtmlDesc()); }