public boolean setPastMessage(DefaultIssue issue, @Nullable String previousMessage, IssueChangeContext context) { String currentMessage = issue.message(); issue.setMessage(previousMessage); return setMessage(issue, currentMessage, context); }
public boolean setMessage(DefaultIssue issue, @Nullable String s, IssueChangeContext context) { if (!Objects.equals(s, issue.message())) { issue.setMessage(s); issue.setUpdateDate(context.date()); issue.setChanged(true); return true; } return false; }
@Test public void message_should_be_trimmed() { issue.setMessage(" foo "); assertThat(issue.message()).isEqualTo("foo"); }
@Test public void set_past_message() { issue.setMessage("new message"); boolean updated = underTest.setPastMessage(issue, "past message", context); assertThat(updated).isTrue(); assertThat(issue.message()).isEqualTo("new message"); // do not save change assertThat(issue.currentChange()).isNull(); assertThat(issue.mustSendNotifications()).isFalse(); }
@Test public void message_could_be_null() { issue.setMessage(null); assertThat(issue.message()).isNull(); }
@CheckForNull public DefaultIssue processFile(Component file, String fileLanguage) { DefaultIssue issue = null; RuleKey ruleKey = RuleKey.of(commonRepositoryForLang(fileLanguage), key); Optional<ActiveRule> activeRule = activeRulesHolder.get(ruleKey); if (activeRule.isPresent()) { CommonRuleIssue cri = doProcessFile(file, activeRule.get()); if (cri != null) { issue = new DefaultIssue(); issue.setGap(cri.effortToFix); issue.setMessage(cri.message); issue.setRuleKey(ruleKey); issue.setSeverity(activeRule.get().getSeverity()); issue.setLine(null); issue.setChecksum(""); issue.setIsFromExternalRuleEngine(false); } } return issue; }
private DefaultIssue createIssue(int line, RuleKey ruleKey) { DefaultIssue issue = new DefaultIssue() .setRuleKey(ruleKey) .setLine(line) .setMessage("msg" + line); return issue; }
@Test public void filter_exclude_issues_on_common_rule() { RuleKey ruleKey = RuleKey.of(CommonRuleKeys.commonRepositoryForLang("java"), "InsufficientCoverage"); markRuleAsActive(ruleKey); when(issueFilter.accept(any(), eq(FILE))).thenReturn(false); when(sourceLinesHash.getLineHashesMatchingDBVersion(FILE)).thenReturn(Collections.singletonList("line")); DefaultIssue ceIssue = new DefaultIssue() .setRuleKey(ruleKey) .setMessage("not enough coverage") .setGap(10.0); when(commonRuleEngine.process(FILE)).thenReturn(singletonList(ceIssue)); Input<DefaultIssue> input = underTest.create(FILE); assertThat(input.getIssues()).isEmpty(); }
@Test public void load_issues_of_compute_engine_common_rules() { RuleKey ruleKey = RuleKey.of(CommonRuleKeys.commonRepositoryForLang("java"), "InsufficientCoverage"); markRuleAsActive(ruleKey); when(issueFilter.accept(any(), eq(FILE))).thenReturn(true); when(sourceLinesHash.getLineHashesMatchingDBVersion(FILE)).thenReturn(Collections.singletonList("line")); DefaultIssue ceIssue = new DefaultIssue() .setRuleKey(ruleKey) .setMessage("not enough coverage") .setGap(10.0); when(commonRuleEngine.process(FILE)).thenReturn(singletonList(ceIssue)); Input<DefaultIssue> input = underTest.create(FILE); assertThat(input.getIssues()).containsOnly(ceIssue); assertInitializedIssue(input.getIssues().iterator().next()); }
@Test public void set_issue() { UserDto assignee = newUserDto(); DefaultIssue issue = new DefaultIssue() .setKey("ABCD") .setAssigneeUuid(assignee.getUuid()) .setMessage("Remove this useless method") .setComponentKey("MyService") .setCurrentChange(new FieldDiffs().setDiff("resolution", "FALSE-POSITIVE", "FIXED")); IssueChangeNotification result = notification.setIssue(issue).setAssignee(assignee); assertThat(result.getFieldValue("key")).isEqualTo("ABCD"); assertThat(result.getFieldValue("message")).isEqualTo("Remove this useless method"); assertThat(result.getFieldValue("old.resolution")).isEqualTo("FALSE-POSITIVE"); assertThat(result.getFieldValue("new.resolution")).isEqualTo("FIXED"); assertThat(result.getFieldValue("assignee")).isEqualTo(assignee.getLogin()); }
.setSeverity("MINOR") .setManualSeverity(true) .setMessage("a message") .setLine(7) .setGap(1.2d)
private static DefaultIssue createIssue(String key, RuleKey ruleKey, String status, @Nullable String resolution, Date creationDate) { DefaultIssue issue = new DefaultIssue(); issue.setKey(key); issue.setRuleKey(ruleKey); issue.setMessage("msg"); issue.setLine(1); issue.setStatus(status); issue.setResolution(resolution); issue.setCreationDate(creationDate); issue.setChecksum("checksum"); return issue; }
@Test public void set_issue_with_current_change_having_no_old_value() { DefaultIssue issue = new DefaultIssue() .setKey("ABCD") .setAssigneeUuid("simon") .setMessage("Remove this useless method") .setComponentKey("MyService"); IssueChangeNotification result = notification.setIssue(issue.setCurrentChange(new FieldDiffs().setDiff("resolution", null, "FIXED"))); assertThat(result.getFieldValue("old.resolution")).isNull(); assertThat(result.getFieldValue("new.resolution")).isEqualTo("FIXED"); result = notification.setIssue(issue.setCurrentChange(new FieldDiffs().setDiff("resolution", "", "FIXED"))); assertThat(result.getFieldValue("old.resolution")).isNull(); assertThat(result.getFieldValue("new.resolution")).isEqualTo("FIXED"); }
@Test public void set_issue_with_current_change_having_no_new_value() { DefaultIssue issue = new DefaultIssue() .setKey("ABCD") .setAssigneeUuid("simon") .setMessage("Remove this useless method") .setComponentKey("MyService"); IssueChangeNotification result = notification.setIssue(issue.setCurrentChange(new FieldDiffs().setDiff("assignee", "john", null))); assertThat(result.getFieldValue("old.assignee")).isEqualTo("john"); assertThat(result.getFieldValue("new.assignee")).isNull(); result = notification.setIssue(issue.setCurrentChange(new FieldDiffs().setDiff("assignee", "john", ""))); assertThat(result.getFieldValue("old.assignee")).isEqualTo("john"); assertThat(result.getFieldValue("new.assignee")).isNull(); }
.setSelectedAt(1000L) .setLine(10) .setMessage("message") .setGap(15d) .setEffort(Duration.create(15L))
.setSelectedAt(1000L) .setLine(10) .setMessage("message") .setGap(15d) .setEffort(Duration.create(15L))
.setSelectedAt(1000L) .setLine(10) .setMessage("message") .setGap(15d) .setEffort(Duration.create(15L))
issue.setMessage(reportIssue.getMsg()); } else { Rule rule = ruleRepository.getByKey(ruleKey); issue.setMessage(rule.getName());
issue.setMessage(reportExternalIssue.getMsg());
issue.setStatus(status); issue.setResolution(resolution); issue.setMessage(message); issue.setGap(gap); issue.setEffort(effort != null ? Duration.create(effort) : null);