@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 show_rule_with_basic_info() { RuleDefinitionDto rule = db.rules().insert(); RuleParamDto ruleParam = db.rules().insertRuleParam(rule); ShowResponse result = ws.newRequest() .setParam(PARAM_KEY, rule.getKey().toString()) .executeProtobuf(ShowResponse.class); Rule resultRule = result.getRule(); assertThat(resultRule.getKey()).isEqualTo(rule.getKey().toString()); assertThat(resultRule.getRepo()).isEqualTo(rule.getRepositoryKey()); assertThat(resultRule.getName()).isEqualTo(rule.getName()); assertThat(resultRule.getSeverity()).isEqualTo(rule.getSeverityString()); assertThat(resultRule.getStatus().toString()).isEqualTo(rule.getStatus().toString()); assertThat(resultRule.getInternalKey()).isEqualTo(rule.getConfigKey()); assertThat(resultRule.getIsTemplate()).isEqualTo(rule.isTemplate()); assertThat(resultRule.getLang()).isEqualTo(rule.getLanguage()); assertThat(resultRule.getParams().getParamsList()) .extracting(Rule.Param::getKey, Rule.Param::getHtmlDesc, Rule.Param::getDefaultValue) .containsExactlyInAnyOrder(tuple(ruleParam.getName(), ruleParam.getDescription(), ruleParam.getDefaultValue())); }
.setKey(ruleKey.rule()) .setName(r.getName()) .setSeverity(r.getSeverity()) .setLang(r.getLang()) .setInternalKey(r.getInternalKey())
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()); }