use of org.sonar.ce.task.projectanalysis.period.Period in project sonarqube by SonarSource.
the class NewIssueClassifierTest method isNew_returns_true_for_issue_which_was_new_and_is_still_located_on_changed_lines.
@Test
public void isNew_returns_true_for_issue_which_was_new_and_is_still_located_on_changed_lines() {
periodHolder.setPeriod(new Period(NewCodePeriodType.REFERENCE_BRANCH.name(), "master", null));
Component file = mock(Component.class);
DefaultIssue issue = mock(DefaultIssue.class);
when(file.getType()).thenReturn(Component.Type.FILE);
when(file.getUuid()).thenReturn("fileUuid");
when(newLinesRepository.getNewLines(file)).thenReturn(Optional.of(Set.of(2, 3)));
when(issue.getLocations()).thenReturn(DbIssues.Locations.newBuilder().setTextRange(DbCommons.TextRange.newBuilder().setStartLine(2).setStartOffset(1).setEndLine(2).setEndOffset(2).build()).build());
when(issue.isNewCodeReferenceIssue()).thenReturn(true);
assertThat(newIssueClassifier.isNew(file, issue)).isTrue();
assertThat(newIssueClassifier.isOnBranchUsingReferenceBranch()).isTrue();
assertThat(newIssueClassifier.hasAtLeastOneLocationOnChangedLines(file, issue)).isTrue();
}
use of org.sonar.ce.task.projectanalysis.period.Period in project sonarqube by SonarSource.
the class NewIssueClassifierTest method isNew_returns_false_if_period_without_date.
@Test
public void isNew_returns_false_if_period_without_date() {
periodHolder.setPeriod(new Period(NewCodePeriodType.NUMBER_OF_DAYS.name(), "10", null));
assertThat(newIssueClassifier.isNew(mock(Component.class), mock(DefaultIssue.class))).isFalse();
}
use of org.sonar.ce.task.projectanalysis.period.Period in project sonarqube by SonarSource.
the class NewIssueClassifierTest method isNew_returns_false_for_issue_not_located_on_changed_lines.
@Test
public void isNew_returns_false_for_issue_not_located_on_changed_lines() {
periodHolder.setPeriod(new Period(NewCodePeriodType.REFERENCE_BRANCH.name(), "master", null));
Component file = mock(Component.class);
DefaultIssue issue = mock(DefaultIssue.class);
when(file.getType()).thenReturn(Component.Type.FILE);
when(file.getUuid()).thenReturn("fileUuid");
when(newLinesRepository.getNewLines(file)).thenReturn(Optional.of(Set.of(2, 3)));
when(issue.getLocations()).thenReturn(DbIssues.Locations.newBuilder().setTextRange(DbCommons.TextRange.newBuilder().setStartLine(10).setStartOffset(1).setEndLine(10).setEndOffset(2).build()).build());
assertThat(newIssueClassifier.isNew(file, issue)).isFalse();
assertThat(newIssueClassifier.isOnBranchUsingReferenceBranch()).isTrue();
assertThat(newIssueClassifier.hasAtLeastOneLocationOnChangedLines(file, issue)).isFalse();
}
use of org.sonar.ce.task.projectanalysis.period.Period in project sonarqube by SonarSource.
the class NewIssueClassifierTest method isNew_returns_true_for_issue_located_on_changed_lines.
@Test
public void isNew_returns_true_for_issue_located_on_changed_lines() {
periodHolder.setPeriod(new Period(NewCodePeriodType.REFERENCE_BRANCH.name(), "master", null));
Component file = mock(Component.class);
DefaultIssue issue = mock(DefaultIssue.class);
when(file.getType()).thenReturn(Component.Type.FILE);
when(file.getUuid()).thenReturn("fileUuid");
when(newLinesRepository.getNewLines(file)).thenReturn(Optional.of(Set.of(2, 3)));
when(issue.getLocations()).thenReturn(DbIssues.Locations.newBuilder().setTextRange(DbCommons.TextRange.newBuilder().setStartLine(2).setStartOffset(1).setEndLine(2).setEndOffset(2).build()).build());
assertThat(newIssueClassifier.isNew(file, issue)).isTrue();
assertThat(newIssueClassifier.isOnBranchUsingReferenceBranch()).isTrue();
assertThat(newIssueClassifier.hasAtLeastOneLocationOnChangedLines(file, issue)).isTrue();
}
use of org.sonar.ce.task.projectanalysis.period.Period in project sonarqube by SonarSource.
the class NewLinesRepositoryTest method load_new_lines_from_report_when_available_and_using_reference_branch.
@Test
public void load_new_lines_from_report_when_available_and_using_reference_branch() {
periodHolder.setPeriod(new Period(NewCodePeriodType.REFERENCE_BRANCH.name(), null, null));
createChangedLinesInReport(1, 2, 5);
Optional<Set<Integer>> newLines = repository.getNewLines(FILE);
assertThat(newLines).isPresent();
assertThat(newLines.get()).containsOnly(1, 2, 5);
assertThat(repository.newLinesAvailable()).isTrue();
}
Aggregations