private SearchOptions fixtureForCreatedAtFacet() { ComponentDto project = newPrivateProjectDto(newOrganizationDto()); ComponentDto file = newFileDto(project, null); IssueDoc issue0 = newDoc("ISSUE0", file).setFuncCreationDate(parseDateTime("2011-04-25T00:05:13+0000")); IssueDoc issue1 = newDoc("I1", file).setFuncCreationDate(parseDateTime("2014-09-01T12:34:56+0100")); IssueDoc issue2 = newDoc("I2", file).setFuncCreationDate(parseDateTime("2014-09-01T10:46:00-1200")); IssueDoc issue3 = newDoc("I3", file).setFuncCreationDate(parseDateTime("2014-09-02T23:34:56+1200")); IssueDoc issue4 = newDoc("I4", file).setFuncCreationDate(parseDateTime("2014-09-05T12:34:56+0100")); IssueDoc issue5 = newDoc("I5", file).setFuncCreationDate(parseDateTime("2014-09-20T12:34:56+0100")); IssueDoc issue6 = newDoc("I6", file).setFuncCreationDate(parseDateTime("2015-01-18T12:34:56+0100")); indexIssues(issue0, issue1, issue2, issue3, issue4, issue5, issue6); return new SearchOptions().addFacets("createdAt"); }
private SearchOptions fixtureForCreatedAtFacet() { ComponentDto project = ComponentTesting.newPrivateProjectDto(newOrganizationDto()); ComponentDto file = ComponentTesting.newFileDto(project, null); IssueDoc issue0 = IssueDocTesting.newDoc("ISSUE0", file).setEffort(10L).setFuncCreationDate(parseDateTime("2011-04-25T01:05:13+0100")); IssueDoc issue1 = IssueDocTesting.newDoc("I1", file).setEffort(10L).setFuncCreationDate(parseDateTime("2014-09-01T12:34:56+0100")); IssueDoc issue2 = IssueDocTesting.newDoc("I2", file).setEffort(10L).setFuncCreationDate(parseDateTime("2014-09-01T23:46:00+0100")); IssueDoc issue3 = IssueDocTesting.newDoc("I3", file).setEffort(10L).setFuncCreationDate(parseDateTime("2014-09-02T12:34:56+0100")); IssueDoc issue4 = IssueDocTesting.newDoc("I4", file).setEffort(10L).setFuncCreationDate(parseDateTime("2014-09-05T12:34:56+0100")); IssueDoc issue5 = IssueDocTesting.newDoc("I5", file).setEffort(10L).setFuncCreationDate(parseDateTime("2014-09-20T12:34:56+0100")); IssueDoc issue6 = IssueDocTesting.newDoc("I6", file).setEffort(10L).setFuncCreationDate(parseDateTime("2015-01-18T12:34:56+0100")); indexIssues(issue0, issue1, issue2, issue3, issue4, issue5, issue6); return new SearchOptions().addFacets("createdAt"); }
doc.setAuthorLogin(rs.getString(8)); doc.setFuncCloseDate(longToDate(getLong(rs, 9))); doc.setFuncCreationDate(longToDate(getLong(rs, 10))); doc.setFuncUpdateDate(longToDate(getLong(rs, 11))); Integer ruleId = rs.getInt(12);
@Test public void default_sort_is_by_creation_date_then_project_then_file_then_line_then_issue_key() { OrganizationDto organizationDto = newOrganizationDto(); ComponentDto project1 = newPrivateProjectDto(organizationDto, "P1"); ComponentDto file1 = newFileDto(project1, null, "F1").setPath("src/main/xoo/org/sonar/samples/File.xoo"); ComponentDto file2 = newFileDto(project1, null, "F2").setPath("src/main/xoo/org/sonar/samples/File2.xoo"); ComponentDto project2 = newPrivateProjectDto(organizationDto, "P2"); ComponentDto file3 = newFileDto(project2, null, "F3").setPath("src/main/xoo/org/sonar/samples/File3.xoo"); indexIssues( // file F1 from project P1 newDoc("F1_1", file1).setLine(20).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100")), newDoc("F1_2", file1).setLine(null).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100")), newDoc("F1_3", file1).setLine(25).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100")), // file F2 from project P1 newDoc("F2_1", file2).setLine(9).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100")), newDoc("F2_2", file2).setLine(109).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100")), // two issues on the same line -> sort by key newDoc("F2_3", file2).setLine(109).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100")), // file F3 from project P2 newDoc("F3_1", file3).setLine(20).setFuncCreationDate(parseDateTime("2014-09-24T00:00:00+0100")), newDoc("F3_2", file3).setLine(20).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100"))); assertThatSearchReturnsOnly(IssueQuery.builder(), "F3_1", "F1_2", "F1_1", "F1_3", "F2_1", "F2_2", "F2_3", "F3_2"); }
@Test public void filter_by_created_after_and_before_take_into_account_timezone() { ComponentDto project = newPrivateProjectDto(newOrganizationDto()); ComponentDto file = newFileDto(project, null); indexIssues( newDoc("I1", file).setFuncCreationDate(parseDateTime("2014-09-20T00:00:00+0100")), newDoc("I2", file).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100"))); assertThatSearchReturnsOnly(IssueQuery.builder().createdAfter(parseDateTime("2014-09-19T23:00:00+0000")).createdBefore(parseDateTime("2014-09-22T23:00:01+0000")), "I1", "I2"); assertThatSearchReturnsEmpty(IssueQuery.builder().createdAfter(parseDateTime("2014-09-19T23:00:01+0000")).createdBefore(parseDateTime("2014-09-22T23:00:00+0000"))); }
@Test public void sort_by_creation_date() { ComponentDto project = newPrivateProjectDto(newOrganizationDto()); ComponentDto file = newFileDto(project, null); indexIssues( newDoc("I1", file).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100")), newDoc("I2", file).setFuncCreationDate(parseDateTime("2014-09-24T00:00:00+0100"))); IssueQuery.Builder query = IssueQuery.builder().sort(IssueQuery.SORT_BY_CREATION_DATE).asc(true); SearchResponse result = underTest.search(query.build(), new SearchOptions()); assertThatSearchReturnsOnly(query, "I1", "I2"); query = IssueQuery.builder().sort(IssueQuery.SORT_BY_CREATION_DATE).asc(false); assertThatSearchReturnsOnly(query, "I2", "I1"); }
OrganizationDto organizationDto = newOrganizationDto(); ComponentDto project1 = newPrivateProjectDto(organizationDto); IssueDoc project1Issue1 = newDoc(project1).setFuncCreationDate(addDays(now, -10)); IssueDoc project1Issue2 = newDoc(project1).setFuncCreationDate(addDays(now, -20)); ComponentDto project2 = newPrivateProjectDto(organizationDto); IssueDoc project2Issue1 = newDoc(project2).setFuncCreationDate(addDays(now, -15)); IssueDoc project2Issue2 = newDoc(project2).setFuncCreationDate(addDays(now, -30)); indexIssues(project1Issue1, project1Issue2, project2Issue1, project2Issue2);
@Test public void filter_by_created_after() { ComponentDto project = newPrivateProjectDto(newOrganizationDto()); ComponentDto file = newFileDto(project, null); indexIssues( newDoc("I1", file).setFuncCreationDate(parseDate("2014-09-20")), newDoc("I2", file).setFuncCreationDate(parseDate("2014-09-23"))); assertThatSearchReturnsOnly(IssueQuery.builder().createdAfter(parseDate("2014-09-19")), "I1", "I2"); // Lower bound is included assertThatSearchReturnsOnly(IssueQuery.builder().createdAfter(parseDate("2014-09-20")), "I1", "I2"); assertThatSearchReturnsOnly(IssueQuery.builder().createdAfter(parseDate("2014-09-21")), "I2"); assertThatSearchReturnsEmpty(IssueQuery.builder().createdAfter(parseDate("2014-09-25"))); }
@Test public void filter_by_created_before() { ComponentDto project = newPrivateProjectDto(newOrganizationDto()); ComponentDto file = newFileDto(project, null); indexIssues( newDoc("I1", file).setFuncCreationDate(parseDate("2014-09-20")), newDoc("I2", file).setFuncCreationDate(parseDate("2014-09-23"))); assertThatSearchReturnsEmpty(IssueQuery.builder().createdBefore(parseDate("2014-09-19"))); // Upper bound is excluded assertThatSearchReturnsEmpty(IssueQuery.builder().createdBefore(parseDate("2014-09-20"))); assertThatSearchReturnsOnly(IssueQuery.builder().createdBefore(parseDate("2014-09-21")), "I1"); assertThatSearchReturnsOnly(IssueQuery.builder().createdBefore(parseDate("2014-09-25")), "I1", "I2"); }
@Test public void filter_by_created_at() { ComponentDto project = newPrivateProjectDto(newOrganizationDto()); ComponentDto file = newFileDto(project, null); indexIssues(newDoc("I1", file).setFuncCreationDate(parseDate("2014-09-20"))); assertThatSearchReturnsOnly(IssueQuery.builder().createdAt(parseDate("2014-09-20")), "I1"); assertThatSearchReturnsEmpty(IssueQuery.builder().createdAt(parseDate("2014-09-21"))); }
newDoc("I1", file).setFuncCreationDate(parseDate("2014-09-20")), newDoc("I2", file).setFuncCreationDate(parseDate("2014-09-23")));
doc.setAuthorLogin(rs.getString(8)); doc.setFuncCloseDate(longToDate(getLong(rs, 9))); doc.setFuncCreationDate(longToDate(getLong(rs, 10))); doc.setFuncUpdateDate(longToDate(getLong(rs, 11))); Integer ruleId = rs.getInt(12);