@Test public void show_rule_with_default_debt_infos() { RuleDefinitionDto rule = db.rules().insert(r -> r .setDefRemediationFunction("LINEAR_OFFSET") .setDefRemediationGapMultiplier("5d") .setDefRemediationBaseEffort("10h") .setGapDescription("gap desc")); ShowResponse result = ws.newRequest() .setParam(PARAM_KEY, rule.getKey().toString()) .executeProtobuf(ShowResponse.class); Rule resultRule = result.getRule(); assertThat(resultRule.getDefaultRemFnType()).isEqualTo("LINEAR_OFFSET"); assertThat(resultRule.getDefaultRemFnGapMultiplier()).isEqualTo("5d"); assertThat(resultRule.getDefaultRemFnBaseEffort()).isEqualTo("10h"); assertThat(resultRule.getGapDescription()).isEqualTo("gap desc"); assertThat(resultRule.getRemFnType()).isEqualTo("LINEAR_OFFSET"); assertThat(resultRule.getRemFnGapMultiplier()).isEqualTo("5d"); assertThat(resultRule.getRemFnBaseEffort()).isEqualTo("10h"); assertThat(resultRule.getRemFnOverloaded()).isFalse(); }
assertThat(updatedRule.getRemFnBaseEffort()).isEqualTo(newOffset); assertThat(updatedRule.getGapDescription()).isEqualTo(rule.getGapDescription());
@Test public void show_rule_with_default_and_overridden_debt_infos() { RuleDefinitionDto rule = db.rules().insert(r -> r .setDefRemediationFunction("LINEAR_OFFSET") .setDefRemediationGapMultiplier("5d") .setDefRemediationBaseEffort("10h")); db.rules().insertOrUpdateMetadata(rule, db.getDefaultOrganization(), m -> m.setNoteData(null).setNoteUserUuid(null), m -> m .setRemediationFunction("CONSTANT_ISSUE") .setRemediationGapMultiplier(null) .setRemediationBaseEffort("15h")); ShowResponse result = ws.newRequest() .setParam(PARAM_KEY, rule.getKey().toString()) .executeProtobuf(ShowResponse.class); Rule resultRule = result.getRule(); assertThat(resultRule.getDefaultRemFnType()).isEqualTo("LINEAR_OFFSET"); assertThat(resultRule.getDefaultRemFnType()).isEqualTo("LINEAR_OFFSET"); assertThat(resultRule.getDefaultRemFnGapMultiplier()).isEqualTo("5d"); assertThat(resultRule.getDefaultRemFnBaseEffort()).isEqualTo("10h"); assertThat(resultRule.getRemFnType()).isEqualTo("CONSTANT_ISSUE"); assertThat(resultRule.hasRemFnGapMultiplier()).isFalse(); assertThat(resultRule.getRemFnBaseEffort()).isEqualTo("15h"); assertThat(resultRule.getRemFnOverloaded()).isTrue(); }
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(); } }
assertThat(updatedRule.getRemFnBaseEffort()).isEqualTo(newEffort);
@Test public void show_rule_with_only_overridden_debt() { RuleDefinitionDto rule = db.rules().insert(r -> r .setDefRemediationFunction(null) .setDefRemediationGapMultiplier(null) .setDefRemediationBaseEffort(null)); db.rules().insertOrUpdateMetadata(rule, db.getDefaultOrganization(), m -> m.setNoteData(null).setNoteUserUuid(null), m -> m .setRemediationFunction("LINEAR_OFFSET") .setRemediationGapMultiplier("5d") .setRemediationBaseEffort("10h")); ShowResponse result = ws.newRequest() .setParam(PARAM_KEY, rule.getKey().toString()) .executeProtobuf(ShowResponse.class); Rule resultRule = result.getRule(); assertThat(resultRule.hasDefaultRemFnType()).isFalse(); assertThat(resultRule.hasDefaultRemFnGapMultiplier()).isFalse(); assertThat(resultRule.hasDefaultRemFnBaseEffort()).isFalse(); assertThat(resultRule.getRemFnType()).isEqualTo("LINEAR_OFFSET"); assertThat(resultRule.getRemFnGapMultiplier()).isEqualTo("5d"); assertThat(resultRule.getRemFnBaseEffort()).isEqualTo("10h"); assertThat(resultRule.getRemFnOverloaded()).isTrue(); }