|
|
@@ -35,8 +35,8 @@ import org.sonar.db.component.ComponentDto; |
|
|
|
import org.sonar.db.component.ComponentTesting; |
|
|
|
import org.sonar.db.organization.OrganizationDto; |
|
|
|
import org.sonar.server.es.EsTester; |
|
|
|
import org.sonar.server.es.Facets; |
|
|
|
import org.sonar.server.es.SearchOptions; |
|
|
|
import org.sonar.server.es.SearchResult; |
|
|
|
import org.sonar.server.issue.IssueDocTesting; |
|
|
|
import org.sonar.server.issue.IssueQuery; |
|
|
|
import org.sonar.server.issue.IssueQuery.Builder; |
|
|
@@ -46,7 +46,6 @@ import org.sonar.server.permission.index.PermissionIndexerTester; |
|
|
|
import org.sonar.server.tester.UserSessionRule; |
|
|
|
import org.sonar.server.view.index.ViewIndexDefinition; |
|
|
|
|
|
|
|
import static com.google.common.collect.Lists.newArrayList; |
|
|
|
import static java.util.Arrays.asList; |
|
|
|
import static org.assertj.core.api.Assertions.assertThat; |
|
|
|
import static org.assertj.core.api.Assertions.entry; |
|
|
@@ -59,22 +58,22 @@ import static org.sonarqube.ws.client.issue.IssuesWsParameters.FACET_MODE_EFFORT |
|
|
|
public class IssueIndexDebtTest { |
|
|
|
|
|
|
|
@Rule |
|
|
|
public EsTester tester = new EsTester(new IssueIndexDefinition(new MapSettings().asConfig()), new ViewIndexDefinition(new MapSettings().asConfig())); |
|
|
|
public EsTester es = new EsTester(new IssueIndexDefinition(new MapSettings().asConfig()), new ViewIndexDefinition(new MapSettings().asConfig())); |
|
|
|
|
|
|
|
@Rule |
|
|
|
public UserSessionRule userSessionRule = UserSessionRule.standalone(); |
|
|
|
|
|
|
|
private System2 system2 = System2.INSTANCE; |
|
|
|
private IssueIndex index; |
|
|
|
private IssueIndexer issueIndexer = new IssueIndexer(tester.client(), new IssueIteratorFactory(null)); |
|
|
|
private PermissionIndexerTester authorizationIndexerTester = new PermissionIndexerTester(tester, issueIndexer); |
|
|
|
private IssueIndex underTest; |
|
|
|
private IssueIndexer issueIndexer = new IssueIndexer(es.client(), new IssueIteratorFactory(null)); |
|
|
|
private PermissionIndexerTester authorizationIndexerTester = new PermissionIndexerTester(es, issueIndexer); |
|
|
|
|
|
|
|
@Before |
|
|
|
public void setUp() { |
|
|
|
System2 system = mock(System2.class); |
|
|
|
when(system.getDefaultTimeZone()).thenReturn(TimeZone.getTimeZone("+01:00")); |
|
|
|
when(system.now()).thenReturn(System.currentTimeMillis()); |
|
|
|
index = new IssueIndex(tester.client(), system, userSessionRule, new AuthorizationTypeSupport(userSessionRule)); |
|
|
|
underTest = new IssueIndex(es.client(), system, userSessionRule, new AuthorizationTypeSupport(userSessionRule)); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
@@ -84,15 +83,14 @@ public class IssueIndexDebtTest { |
|
|
|
ComponentDto project2 = ComponentTesting.newPrivateProjectDto(organizationDto, "EFGH"); |
|
|
|
|
|
|
|
indexIssues( |
|
|
|
IssueDocTesting.newDoc("ISSUE1", ComponentTesting.newFileDto(project, null)).setEffort(10L), |
|
|
|
IssueDocTesting.newDoc("ISSUE2", ComponentTesting.newFileDto(project, null)).setEffort(10L), |
|
|
|
IssueDocTesting.newDoc("ISSUE3", ComponentTesting.newFileDto(project2, null)).setEffort(10L)); |
|
|
|
|
|
|
|
SearchResult<IssueDoc> result = index.search(newQueryBuilder().build(), |
|
|
|
new SearchOptions().addFacets(newArrayList("projectUuids"))); |
|
|
|
assertThat(result.getFacets().getNames()).containsOnly("projectUuids", FACET_MODE_EFFORT); |
|
|
|
assertThat(result.getFacets().get("projectUuids")).containsOnly(entry("ABCD", 20L), entry("EFGH", 10L)); |
|
|
|
assertThat(result.getFacets().get(FACET_MODE_EFFORT)).containsOnly(entry("total", 30L)); |
|
|
|
IssueDocTesting.newDoc("I1", ComponentTesting.newFileDto(project, null)).setEffort(10L), |
|
|
|
IssueDocTesting.newDoc("I2", ComponentTesting.newFileDto(project, null)).setEffort(10L), |
|
|
|
IssueDocTesting.newDoc("I3", ComponentTesting.newFileDto(project2, null)).setEffort(10L)); |
|
|
|
|
|
|
|
Facets facets = search("projectUuids"); |
|
|
|
assertThat(facets.getNames()).containsOnly("projectUuids", FACET_MODE_EFFORT); |
|
|
|
assertThat(facets.get("projectUuids")).containsOnly(entry("ABCD", 20L), entry("EFGH", 10L)); |
|
|
|
assertThat(facets.get(FACET_MODE_EFFORT)).containsOnly(entry("total", 30L)); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
@@ -103,17 +101,17 @@ public class IssueIndexDebtTest { |
|
|
|
ComponentDto file3 = ComponentTesting.newFileDto(project, null, "CDEF"); |
|
|
|
|
|
|
|
indexIssues( |
|
|
|
IssueDocTesting.newDoc("ISSUE1", project), |
|
|
|
IssueDocTesting.newDoc("ISSUE2", file1), |
|
|
|
IssueDocTesting.newDoc("ISSUE3", file2), |
|
|
|
IssueDocTesting.newDoc("ISSUE4", file2), |
|
|
|
IssueDocTesting.newDoc("ISSUE5", file3)); |
|
|
|
|
|
|
|
SearchResult<IssueDoc> result = index.search(newQueryBuilder().build(), new SearchOptions().addFacets(newArrayList("fileUuids"))); |
|
|
|
assertThat(result.getFacets().getNames()).containsOnly("fileUuids", FACET_MODE_EFFORT); |
|
|
|
assertThat(result.getFacets().get("fileUuids")) |
|
|
|
IssueDocTesting.newDoc("I1", project), |
|
|
|
IssueDocTesting.newDoc("I2", file1), |
|
|
|
IssueDocTesting.newDoc("I3", file2), |
|
|
|
IssueDocTesting.newDoc("I4", file2), |
|
|
|
IssueDocTesting.newDoc("I5", file3)); |
|
|
|
|
|
|
|
Facets facets = search("fileUuids"); |
|
|
|
assertThat(facets.getNames()).containsOnly("fileUuids", FACET_MODE_EFFORT); |
|
|
|
assertThat(facets.get("fileUuids")) |
|
|
|
.containsOnly(entry("A", 10L), entry("ABCD", 10L), entry("BCDE", 20L), entry("CDEF", 10L)); |
|
|
|
assertThat(result.getFacets().get(FACET_MODE_EFFORT)).containsOnly(entry("total", 50L)); |
|
|
|
assertThat(facets.get(FACET_MODE_EFFORT)).containsOnly(entry("total", 50L)); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
@@ -123,13 +121,13 @@ public class IssueIndexDebtTest { |
|
|
|
ComponentDto file2 = ComponentTesting.newFileDto(project, null).setPath("F2.xoo"); |
|
|
|
|
|
|
|
indexIssues( |
|
|
|
IssueDocTesting.newDoc("ISSUE1", file1).setDirectoryPath("/src/main/xoo"), |
|
|
|
IssueDocTesting.newDoc("ISSUE2", file2).setDirectoryPath("/")); |
|
|
|
IssueDocTesting.newDoc("I1", file1).setDirectoryPath("/src/main/xoo"), |
|
|
|
IssueDocTesting.newDoc("I2", file2).setDirectoryPath("/")); |
|
|
|
|
|
|
|
SearchResult<IssueDoc> result = index.search(newQueryBuilder().build(), new SearchOptions().addFacets(newArrayList("directories"))); |
|
|
|
assertThat(result.getFacets().getNames()).containsOnly("directories", FACET_MODE_EFFORT); |
|
|
|
assertThat(result.getFacets().get("directories")).containsOnly(entry("/src/main/xoo", 10L), entry("/", 10L)); |
|
|
|
assertThat(result.getFacets().get(FACET_MODE_EFFORT)).containsOnly(entry("total", 20L)); |
|
|
|
Facets facets = search("directories"); |
|
|
|
assertThat(facets.getNames()).containsOnly("directories", FACET_MODE_EFFORT); |
|
|
|
assertThat(facets.get("directories")).containsOnly(entry("/src/main/xoo", 10L), entry("/", 10L)); |
|
|
|
assertThat(facets.get(FACET_MODE_EFFORT)).containsOnly(entry("total", 20L)); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
@@ -138,14 +136,14 @@ public class IssueIndexDebtTest { |
|
|
|
ComponentDto file = ComponentTesting.newFileDto(project, null); |
|
|
|
|
|
|
|
indexIssues( |
|
|
|
IssueDocTesting.newDoc("ISSUE1", file).setSeverity(Severity.INFO), |
|
|
|
IssueDocTesting.newDoc("ISSUE2", file).setSeverity(Severity.INFO), |
|
|
|
IssueDocTesting.newDoc("ISSUE3", file).setSeverity(Severity.MAJOR)); |
|
|
|
|
|
|
|
SearchResult<IssueDoc> result = index.search(newQueryBuilder().build(), new SearchOptions().addFacets(newArrayList("severities"))); |
|
|
|
assertThat(result.getFacets().getNames()).containsOnly("severities", FACET_MODE_EFFORT); |
|
|
|
assertThat(result.getFacets().get("severities")).containsOnly(entry("INFO", 20L), entry("MAJOR", 10L)); |
|
|
|
assertThat(result.getFacets().get(FACET_MODE_EFFORT)).containsOnly(entry("total", 30L)); |
|
|
|
IssueDocTesting.newDoc("I1", file).setSeverity(Severity.INFO), |
|
|
|
IssueDocTesting.newDoc("I2", file).setSeverity(Severity.INFO), |
|
|
|
IssueDocTesting.newDoc("I3", file).setSeverity(Severity.MAJOR)); |
|
|
|
|
|
|
|
Facets facets = search("severities"); |
|
|
|
assertThat(facets.getNames()).containsOnly("severities", FACET_MODE_EFFORT); |
|
|
|
assertThat(facets.get("severities")).containsOnly(entry("INFO", 20L), entry("MAJOR", 10L)); |
|
|
|
assertThat(facets.get(FACET_MODE_EFFORT)).containsOnly(entry("total", 30L)); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
@@ -154,14 +152,14 @@ public class IssueIndexDebtTest { |
|
|
|
ComponentDto file = ComponentTesting.newFileDto(project, null); |
|
|
|
|
|
|
|
indexIssues( |
|
|
|
IssueDocTesting.newDoc("ISSUE1", file).setStatus(Issue.STATUS_CLOSED), |
|
|
|
IssueDocTesting.newDoc("ISSUE2", file).setStatus(Issue.STATUS_CLOSED), |
|
|
|
IssueDocTesting.newDoc("ISSUE3", file).setStatus(Issue.STATUS_OPEN)); |
|
|
|
|
|
|
|
SearchResult<IssueDoc> result = index.search(newQueryBuilder().build(), new SearchOptions().addFacets(newArrayList("statuses"))); |
|
|
|
assertThat(result.getFacets().getNames()).containsOnly("statuses", FACET_MODE_EFFORT); |
|
|
|
assertThat(result.getFacets().get("statuses")).containsOnly(entry("CLOSED", 20L), entry("OPEN", 10L)); |
|
|
|
assertThat(result.getFacets().get(FACET_MODE_EFFORT)).containsOnly(entry("total", 30L)); |
|
|
|
IssueDocTesting.newDoc("I1", file).setStatus(Issue.STATUS_CLOSED), |
|
|
|
IssueDocTesting.newDoc("I2", file).setStatus(Issue.STATUS_CLOSED), |
|
|
|
IssueDocTesting.newDoc("I3", file).setStatus(Issue.STATUS_OPEN)); |
|
|
|
|
|
|
|
Facets facets = search("statuses"); |
|
|
|
assertThat(facets.getNames()).containsOnly("statuses", FACET_MODE_EFFORT); |
|
|
|
assertThat(facets.get("statuses")).containsOnly(entry("CLOSED", 20L), entry("OPEN", 10L)); |
|
|
|
assertThat(facets.get(FACET_MODE_EFFORT)).containsOnly(entry("total", 30L)); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
@@ -170,14 +168,14 @@ public class IssueIndexDebtTest { |
|
|
|
ComponentDto file = ComponentTesting.newFileDto(project, null); |
|
|
|
|
|
|
|
indexIssues( |
|
|
|
IssueDocTesting.newDoc("ISSUE1", file).setResolution(Issue.RESOLUTION_FALSE_POSITIVE), |
|
|
|
IssueDocTesting.newDoc("ISSUE2", file).setResolution(Issue.RESOLUTION_FALSE_POSITIVE), |
|
|
|
IssueDocTesting.newDoc("ISSUE3", file).setResolution(Issue.RESOLUTION_FIXED)); |
|
|
|
|
|
|
|
SearchResult<IssueDoc> result = index.search(newQueryBuilder().build(), new SearchOptions().addFacets(newArrayList("resolutions"))); |
|
|
|
assertThat(result.getFacets().getNames()).containsOnly("resolutions", FACET_MODE_EFFORT); |
|
|
|
assertThat(result.getFacets().get("resolutions")).containsOnly(entry("FALSE-POSITIVE", 20L), entry("FIXED", 10L)); |
|
|
|
assertThat(result.getFacets().get(FACET_MODE_EFFORT)).containsOnly(entry("total", 30L)); |
|
|
|
IssueDocTesting.newDoc("I1", file).setResolution(Issue.RESOLUTION_FALSE_POSITIVE), |
|
|
|
IssueDocTesting.newDoc("I2", file).setResolution(Issue.RESOLUTION_FALSE_POSITIVE), |
|
|
|
IssueDocTesting.newDoc("I3", file).setResolution(Issue.RESOLUTION_FIXED)); |
|
|
|
|
|
|
|
Facets facets = search("resolutions"); |
|
|
|
assertThat(facets.getNames()).containsOnly("resolutions", FACET_MODE_EFFORT); |
|
|
|
assertThat(facets.get("resolutions")).containsOnly(entry("FALSE-POSITIVE", 20L), entry("FIXED", 10L)); |
|
|
|
assertThat(facets.get(FACET_MODE_EFFORT)).containsOnly(entry("total", 30L)); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
@@ -186,12 +184,16 @@ public class IssueIndexDebtTest { |
|
|
|
ComponentDto file = ComponentTesting.newFileDto(project, null); |
|
|
|
RuleKey ruleKey = RuleKey.of("repo", "X1"); |
|
|
|
|
|
|
|
indexIssues(IssueDocTesting.newDoc("ISSUE1", file).setRuleKey(ruleKey.toString()).setLanguage("xoo").setEffort(10L)); |
|
|
|
indexIssues(IssueDocTesting.newDoc("I1", file).setRuleKey(ruleKey.toString()).setLanguage("xoo").setEffort(10L)); |
|
|
|
|
|
|
|
SearchResult<IssueDoc> result = index.search(newQueryBuilder().build(), new SearchOptions().addFacets(newArrayList("languages"))); |
|
|
|
assertThat(result.getFacets().getNames()).containsOnly("languages", FACET_MODE_EFFORT); |
|
|
|
assertThat(result.getFacets().get("languages")).containsOnly(entry("xoo", 10L)); |
|
|
|
assertThat(result.getFacets().get(FACET_MODE_EFFORT)).containsOnly(entry("total", 10L)); |
|
|
|
Facets facets = search("languages"); |
|
|
|
assertThat(facets.getNames()).containsOnly("languages", FACET_MODE_EFFORT); |
|
|
|
assertThat(facets.get("languages")).containsOnly(entry("xoo", 10L)); |
|
|
|
assertThat(facets.get(FACET_MODE_EFFORT)).containsOnly(entry("total", 10L)); |
|
|
|
} |
|
|
|
|
|
|
|
private Facets search(String additionalFacet) { |
|
|
|
return new Facets(underTest.search(newQueryBuilder().build(), new SearchOptions().addFacets(asList(additionalFacet)))); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
@@ -200,15 +202,15 @@ public class IssueIndexDebtTest { |
|
|
|
ComponentDto file = ComponentTesting.newFileDto(project, null); |
|
|
|
|
|
|
|
indexIssues( |
|
|
|
IssueDocTesting.newDoc("ISSUE1", file).setAssignee("steph"), |
|
|
|
IssueDocTesting.newDoc("ISSUE2", file).setAssignee("simon"), |
|
|
|
IssueDocTesting.newDoc("ISSUE3", file).setAssignee("simon"), |
|
|
|
IssueDocTesting.newDoc("ISSUE4", file).setAssignee(null)); |
|
|
|
|
|
|
|
SearchResult<IssueDoc> result = index.search(newQueryBuilder().build(), new SearchOptions().addFacets(newArrayList("assignees"))); |
|
|
|
assertThat(result.getFacets().getNames()).containsOnly("assignees", FACET_MODE_EFFORT); |
|
|
|
assertThat(result.getFacets().get("assignees")).containsOnly(entry("steph", 10L), entry("simon", 20L), entry("", 10L)); |
|
|
|
assertThat(result.getFacets().get(FACET_MODE_EFFORT)).containsOnly(entry("total", 40L)); |
|
|
|
IssueDocTesting.newDoc("I1", file).setAssignee("steph"), |
|
|
|
IssueDocTesting.newDoc("I2", file).setAssignee("simon"), |
|
|
|
IssueDocTesting.newDoc("I3", file).setAssignee("simon"), |
|
|
|
IssueDocTesting.newDoc("I4", file).setAssignee(null)); |
|
|
|
|
|
|
|
Facets facets = new Facets(underTest.search(newQueryBuilder().build(), new SearchOptions().addFacets(asList("assignees")))); |
|
|
|
assertThat(facets.getNames()).containsOnly("assignees", FACET_MODE_EFFORT); |
|
|
|
assertThat(facets.get("assignees")).containsOnly(entry("steph", 10L), entry("simon", 20L), entry("", 10L)); |
|
|
|
assertThat(facets.get(FACET_MODE_EFFORT)).containsOnly(entry("total", 40L)); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
@@ -217,24 +219,23 @@ public class IssueIndexDebtTest { |
|
|
|
ComponentDto file = ComponentTesting.newFileDto(project, null); |
|
|
|
|
|
|
|
indexIssues( |
|
|
|
IssueDocTesting.newDoc("ISSUE1", file).setAuthorLogin("steph"), |
|
|
|
IssueDocTesting.newDoc("ISSUE2", file).setAuthorLogin("simon"), |
|
|
|
IssueDocTesting.newDoc("ISSUE3", file).setAuthorLogin("simon"), |
|
|
|
IssueDocTesting.newDoc("ISSUE4", file).setAuthorLogin(null)); |
|
|
|
|
|
|
|
SearchResult<IssueDoc> result = index.search(newQueryBuilder().build(), new SearchOptions().addFacets(newArrayList("authors"))); |
|
|
|
assertThat(result.getFacets().getNames()).containsOnly("authors", FACET_MODE_EFFORT); |
|
|
|
assertThat(result.getFacets().get("authors")).containsOnly(entry("steph", 10L), entry("simon", 20L)); |
|
|
|
assertThat(result.getFacets().get(FACET_MODE_EFFORT)).containsOnly(entry("total", 40L)); |
|
|
|
IssueDocTesting.newDoc("I1", file).setAuthorLogin("steph"), |
|
|
|
IssueDocTesting.newDoc("I2", file).setAuthorLogin("simon"), |
|
|
|
IssueDocTesting.newDoc("I3", file).setAuthorLogin("simon"), |
|
|
|
IssueDocTesting.newDoc("I4", file).setAuthorLogin(null)); |
|
|
|
|
|
|
|
Facets facets = new Facets(underTest.search(newQueryBuilder().build(), new SearchOptions().addFacets(asList("authors")))); |
|
|
|
assertThat(facets.getNames()).containsOnly("authors", FACET_MODE_EFFORT); |
|
|
|
assertThat(facets.get("authors")).containsOnly(entry("steph", 10L), entry("simon", 20L)); |
|
|
|
assertThat(facets.get(FACET_MODE_EFFORT)).containsOnly(entry("total", 40L)); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
|
public void facet_on_created_at() { |
|
|
|
SearchOptions SearchOptions = fixtureForCreatedAtFacet(); |
|
|
|
SearchOptions searchOptions = fixtureForCreatedAtFacet(); |
|
|
|
|
|
|
|
Map<String, Long> createdAt = index.search(newQueryBuilder() |
|
|
|
.createdBefore(DateUtils.parseDateTime("2016-01-01T00:00:00+0100")).build(), |
|
|
|
SearchOptions).getFacets().get("createdAt"); |
|
|
|
Builder query = newQueryBuilder().createdBefore(DateUtils.parseDateTime("2016-01-01T00:00:00+0100")); |
|
|
|
Map<String, Long> createdAt = new Facets(underTest.search(query.build(), searchOptions)).get("createdAt"); |
|
|
|
assertThat(createdAt).containsOnly( |
|
|
|
entry("2011-01-01T00:00:00+0000", 10L), |
|
|
|
entry("2012-01-01T00:00:00+0000", 0L), |
|
|
@@ -250,28 +251,28 @@ public class IssueIndexDebtTest { |
|
|
|
ComponentDto project2 = ComponentTesting.newPrivateProjectDto(organizationDto, "EFGH"); |
|
|
|
|
|
|
|
indexIssues( |
|
|
|
IssueDocTesting.newDoc("ISSUE1", ComponentTesting.newFileDto(project, null)).setEffort(10L), |
|
|
|
IssueDocTesting.newDoc("ISSUE2", ComponentTesting.newFileDto(project, null)).setEffort(10L), |
|
|
|
IssueDocTesting.newDoc("ISSUE3", ComponentTesting.newFileDto(project2, null)).setEffort(10L)); |
|
|
|
|
|
|
|
SearchResult<IssueDoc> result = index.search(IssueQuery.builder().facetMode(DEPRECATED_FACET_MODE_DEBT).build(), |
|
|
|
new SearchOptions().addFacets(newArrayList("projectUuids"))); |
|
|
|
assertThat(result.getFacets().getNames()).containsOnly("projectUuids", FACET_MODE_EFFORT); |
|
|
|
assertThat(result.getFacets().get("projectUuids")).containsOnly(entry("ABCD", 20L), entry("EFGH", 10L)); |
|
|
|
assertThat(result.getFacets().get(FACET_MODE_EFFORT)).containsOnly(entry("total", 30L)); |
|
|
|
IssueDocTesting.newDoc("I1", ComponentTesting.newFileDto(project, null)).setEffort(10L), |
|
|
|
IssueDocTesting.newDoc("I2", ComponentTesting.newFileDto(project, null)).setEffort(10L), |
|
|
|
IssueDocTesting.newDoc("I3", ComponentTesting.newFileDto(project2, null)).setEffort(10L)); |
|
|
|
|
|
|
|
Facets facets = new Facets(underTest.search(IssueQuery.builder().facetMode(DEPRECATED_FACET_MODE_DEBT).build(), |
|
|
|
new SearchOptions().addFacets(asList("projectUuids")))); |
|
|
|
assertThat(facets.getNames()).containsOnly("projectUuids", FACET_MODE_EFFORT); |
|
|
|
assertThat(facets.get("projectUuids")).containsOnly(entry("ABCD", 20L), entry("EFGH", 10L)); |
|
|
|
assertThat(facets.get(FACET_MODE_EFFORT)).containsOnly(entry("total", 30L)); |
|
|
|
} |
|
|
|
|
|
|
|
protected SearchOptions fixtureForCreatedAtFacet() { |
|
|
|
private SearchOptions fixtureForCreatedAtFacet() { |
|
|
|
ComponentDto project = ComponentTesting.newPrivateProjectDto(newOrganizationDto()); |
|
|
|
ComponentDto file = ComponentTesting.newFileDto(project, null); |
|
|
|
|
|
|
|
IssueDoc issue0 = IssueDocTesting.newDoc("ISSUE0", file).setFuncCreationDate(DateUtils.parseDateTime("2011-04-25T01:05:13+0100")); |
|
|
|
IssueDoc issue1 = IssueDocTesting.newDoc("ISSUE1", file).setFuncCreationDate(DateUtils.parseDateTime("2014-09-01T12:34:56+0100")); |
|
|
|
IssueDoc issue2 = IssueDocTesting.newDoc("ISSUE2", file).setFuncCreationDate(DateUtils.parseDateTime("2014-09-01T23:46:00+0100")); |
|
|
|
IssueDoc issue3 = IssueDocTesting.newDoc("ISSUE3", file).setFuncCreationDate(DateUtils.parseDateTime("2014-09-02T12:34:56+0100")); |
|
|
|
IssueDoc issue4 = IssueDocTesting.newDoc("ISSUE4", file).setFuncCreationDate(DateUtils.parseDateTime("2014-09-05T12:34:56+0100")); |
|
|
|
IssueDoc issue5 = IssueDocTesting.newDoc("ISSUE5", file).setFuncCreationDate(DateUtils.parseDateTime("2014-09-20T12:34:56+0100")); |
|
|
|
IssueDoc issue6 = IssueDocTesting.newDoc("ISSUE6", file).setFuncCreationDate(DateUtils.parseDateTime("2015-01-18T12:34:56+0100")); |
|
|
|
IssueDoc issue1 = IssueDocTesting.newDoc("I1", file).setFuncCreationDate(DateUtils.parseDateTime("2014-09-01T12:34:56+0100")); |
|
|
|
IssueDoc issue2 = IssueDocTesting.newDoc("I2", file).setFuncCreationDate(DateUtils.parseDateTime("2014-09-01T23:46:00+0100")); |
|
|
|
IssueDoc issue3 = IssueDocTesting.newDoc("I3", file).setFuncCreationDate(DateUtils.parseDateTime("2014-09-02T12:34:56+0100")); |
|
|
|
IssueDoc issue4 = IssueDocTesting.newDoc("I4", file).setFuncCreationDate(DateUtils.parseDateTime("2014-09-05T12:34:56+0100")); |
|
|
|
IssueDoc issue5 = IssueDocTesting.newDoc("I5", file).setFuncCreationDate(DateUtils.parseDateTime("2014-09-20T12:34:56+0100")); |
|
|
|
IssueDoc issue6 = IssueDocTesting.newDoc("I6", file).setFuncCreationDate(DateUtils.parseDateTime("2015-01-18T12:34:56+0100")); |
|
|
|
|
|
|
|
indexIssues(issue0, issue1, issue2, issue3, issue4, issue5, issue6); |
|
|
|
|