@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())); }
private Rule toRule(Rules.ShowResponse showResponse) { Rules.Rule rule = showResponse.getRule(); if (rule == null) { return Rule.newBuilder().build(); } return Rule.newBuilder() .key(rule.getKey()) .repo(rule.getRepo()) .name(rule.getName()) .description(rule.getMdDesc()) .type(rule.getType() != null ? rule.getType().name() : null) .debtRemFnType(rule.getDebtRemFnType()) .debtRemFnBaseEffort(rule.getRemFnBaseEffort()) .build(); } }