diff options
author | Julien Lancelot <julien.lancelot@sonarsource.com> | 2016-12-14 17:41:04 +0100 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@sonarsource.com> | 2016-12-15 14:45:00 +0100 |
commit | a2387e7c4baeec2522b6017b7447fcda77716c5d (patch) | |
tree | c7f4096c8e0c64a70e45ab7c406cf02bb92f73e1 | |
parent | 2ce306a42f031d75c4ec4f12a69e2bc580f4a1d5 (diff) | |
download | sonarqube-a2387e7c4baeec2522b6017b7447fcda77716c5d.tar.gz sonarqube-a2387e7c4baeec2522b6017b7447fcda77716c5d.zip |
SONAR-7292 Move IssueTesting to sonar-db for IssueDto and keep IssueDocTesting for IssueDoc
24 files changed, 288 insertions, 250 deletions
diff --git a/server/sonar-server/src/test/java/org/sonar/server/batch/IssuesActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/batch/IssuesActionTest.java index 01f12089f79..c2129d825da 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/batch/IssuesActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/batch/IssuesActionTest.java @@ -38,7 +38,7 @@ import org.sonar.scanner.protocol.input.ScannerInput.ServerIssue; import org.sonar.server.component.ComponentFinder; import org.sonar.server.es.EsTester; import org.sonar.server.exceptions.ForbiddenException; -import org.sonar.server.issue.IssueTesting; +import org.sonar.server.issue.IssueDocTesting; import org.sonar.server.issue.index.IssueDoc; import org.sonar.server.issue.index.IssueIndex; import org.sonar.server.issue.index.IssueIndexDefinition; @@ -99,7 +99,7 @@ public class IssuesActionTest { db.getDbClient().componentDao().insert(db.getSession(), project, module, file); db.getSession().commit(); - indexIssues(IssueTesting.newDoc("EFGH", file) + indexIssues(IssueDocTesting.newDoc("EFGH", file) .setRuleKey("squid:AvoidCycle") .setSeverity("BLOCKER") .setStatus("RESOLVED") @@ -137,7 +137,7 @@ public class IssuesActionTest { db.getDbClient().componentDao().insert(db.getSession(), project, module, file); db.getSession().commit(); - indexIssues(IssueTesting.newDoc("EFGH", file) + indexIssues(IssueDocTesting.newDoc("EFGH", file) .setRuleKey("squid:AvoidCycle") .setSeverity("BLOCKER") .setStatus("RESOLVED") @@ -175,7 +175,7 @@ public class IssuesActionTest { db.getDbClient().componentDao().insert(db.getSession(), project, module, file); db.getSession().commit(); - indexIssues(IssueTesting.newDoc("EFGH", file) + indexIssues(IssueDocTesting.newDoc("EFGH", file) .setRuleKey("squid:AvoidCycle") .setSeverity("BLOCKER") .setStatus("RESOLVED") @@ -213,7 +213,7 @@ public class IssuesActionTest { db.getDbClient().componentDao().insert(db.getSession(), project, module, file); db.getSession().commit(); - indexIssues(IssueTesting.newDoc("EFGH", file) + indexIssues(IssueDocTesting.newDoc("EFGH", file) .setRuleKey("squid:AvoidCycle") .setSeverity("BLOCKER") .setStatus("RESOLVED") @@ -250,7 +250,7 @@ public class IssuesActionTest { db.getDbClient().componentDao().insert(db.getSession(), project, module); db.getSession().commit(); - indexIssues(IssueTesting.newDoc("EFGH", module) + indexIssues(IssueDocTesting.newDoc("EFGH", module) .setRuleKey("squid:AvoidCycle") .setSeverity("BLOCKER") .setStatus("RESOLVED") @@ -289,7 +289,7 @@ public class IssuesActionTest { db.getDbClient().componentDao().insert(db.getSession(), project, module, file); db.getSession().commit(); - indexIssues(IssueTesting.newDoc("EFGH", file) + indexIssues(IssueDocTesting.newDoc("EFGH", file) .setRuleKey("squid:AvoidCycle") .setSeverity("BLOCKER") .setStatus("RESOLVED") diff --git a/server/sonar-server/src/test/java/org/sonar/server/component/ComponentCleanerServiceTest.java b/server/sonar-server/src/test/java/org/sonar/server/component/ComponentCleanerServiceTest.java index e43ef097329..e87d09549b7 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/component/ComponentCleanerServiceTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/component/ComponentCleanerServiceTest.java @@ -36,13 +36,14 @@ import org.sonar.db.component.ComponentDto; import org.sonar.db.component.SnapshotDto; import org.sonar.db.component.SnapshotTesting; import org.sonar.db.issue.IssueDto; +import org.sonar.db.issue.IssueTesting; import org.sonar.db.rule.RuleDto; import org.sonar.db.rule.RuleTesting; import org.sonar.server.component.es.ProjectMeasuresIndexDefinition; import org.sonar.server.component.es.ProjectMeasuresIndexer; import org.sonar.server.es.EsTester; import org.sonar.server.exceptions.NotFoundException; -import org.sonar.server.issue.IssueTesting; +import org.sonar.server.issue.IssueDocTesting; import org.sonar.server.issue.index.IssueIndexDefinition; import org.sonar.server.issue.index.IssueIndexer; import org.sonar.server.permission.index.PermissionIndexer; @@ -226,7 +227,7 @@ public class ComponentCleanerServiceTest { permissionIndexer.index(dbSession, project.uuid()); String issueKey = "issue-key-" + suffix; - es.putDocuments(IssueIndexDefinition.INDEX, TYPE_ISSUE, IssueTesting.newDoc(issueKey, project)); + es.putDocuments(IssueIndexDefinition.INDEX, TYPE_ISSUE, IssueDocTesting.newDoc(issueKey, project)); TestDoc testDoc = new TestDoc().setUuid("test-uuid-" + suffix).setProjectUuid(project.uuid()).setFileUuid(project.uuid()); es.putDocuments(TestIndexDefinition.INDEX, TestIndexDefinition.TYPE, testDoc); diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/IntegrateIssuesVisitorTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/IntegrateIssuesVisitorTest.java index 80ab1300887..5778aceb6e6 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/IntegrateIssuesVisitorTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/IntegrateIssuesVisitorTest.java @@ -37,20 +37,20 @@ import org.sonar.db.DbTester; import org.sonar.db.component.ComponentDto; import org.sonar.db.component.ComponentTesting; import org.sonar.db.issue.IssueDto; +import org.sonar.db.issue.IssueTesting; import org.sonar.db.rule.RuleDto; import org.sonar.db.rule.RuleTesting; import org.sonar.scanner.protocol.Constants; import org.sonar.scanner.protocol.output.ScannerReport; import org.sonar.server.computation.task.projectanalysis.batch.BatchReportReaderRule; -import org.sonar.server.computation.task.projectanalysis.component.TreeRootHolderRule; import org.sonar.server.computation.task.projectanalysis.component.Component; +import org.sonar.server.computation.task.projectanalysis.component.TreeRootHolderRule; import org.sonar.server.computation.task.projectanalysis.component.TypeAwareVisitor; import org.sonar.server.computation.task.projectanalysis.filemove.MovedFilesRepository; import org.sonar.server.computation.task.projectanalysis.issue.commonrule.CommonRuleEngineImpl; import org.sonar.server.computation.task.projectanalysis.issue.filter.IssueFilter; import org.sonar.server.computation.task.projectanalysis.qualityprofile.ActiveRulesHolderRule; import org.sonar.server.computation.task.projectanalysis.source.SourceLinesRepositoryRule; -import org.sonar.server.issue.IssueTesting; import static com.google.common.collect.Lists.newArrayList; import static com.google.common.collect.Sets.newHashSet; diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/ActionFinderTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/ActionFinderTest.java index f6b172913c8..fd7b4c1380a 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/issue/ActionFinderTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/issue/ActionFinderTest.java @@ -31,8 +31,8 @@ import static org.sonar.api.issue.Issue.RESOLUTION_FIXED; import static org.sonar.api.web.UserRole.ISSUE_ADMIN; import static org.sonar.db.component.ComponentTesting.newFileDto; import static org.sonar.db.component.ComponentTesting.newProjectDto; +import static org.sonar.db.issue.IssueTesting.newDto; import static org.sonar.db.rule.RuleTesting.newXooX1; -import static org.sonar.server.issue.IssueTesting.newDto; public class ActionFinderTest { diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/IssueBulkChangeServiceMediumTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/IssueBulkChangeServiceMediumTest.java index c80cea48b40..a669dca60d3 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/issue/IssueBulkChangeServiceMediumTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/issue/IssueBulkChangeServiceMediumTest.java @@ -41,6 +41,7 @@ import org.sonar.db.component.SnapshotDto; import org.sonar.db.component.SnapshotTesting; import org.sonar.db.issue.IssueDao; import org.sonar.db.issue.IssueDto; +import org.sonar.db.issue.IssueTesting; import org.sonar.db.rule.RuleDao; import org.sonar.db.rule.RuleDto; import org.sonar.db.rule.RuleTesting; diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/IssueTesting.java b/server/sonar-server/src/test/java/org/sonar/server/issue/IssueDocTesting.java index d37888487bd..c4c03596595 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/issue/IssueTesting.java +++ b/server/sonar-server/src/test/java/org/sonar/server/issue/IssueDocTesting.java @@ -7,12 +7,12 @@ * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -25,39 +25,11 @@ import org.sonar.api.resources.Scopes; import org.sonar.api.rule.Severity; import org.sonar.api.rules.RuleType; import org.sonar.api.utils.DateUtils; -import org.sonar.core.util.Uuids; import org.sonar.db.component.ComponentDto; -import org.sonar.db.issue.IssueDto; -import org.sonar.db.rule.RuleDto; import org.sonar.db.rule.RuleTesting; import org.sonar.server.issue.index.IssueDoc; -public class IssueTesting { - - /** - * Full IssueDto used to feed database with fake data. Tests must not rely on the - * field contents declared here. They should override the fields they need to test, - * for example: - * <pre> - * issueDao.insert(dbSession, IssueTesting.newDto(rule, file, project).setStatus(Issue.STATUS_RESOLVED).setResolution(Issue.RESOLUTION_FALSE_POSITIVE)); - * </pre> - */ - public static IssueDto newDto(RuleDto rule, ComponentDto file, ComponentDto project) { - return new IssueDto() - .setKee(Uuids.create()) - .setRule(rule) - .setType(RuleType.CODE_SMELL) - .setComponent(file) - .setProject(project) - .setStatus(Issue.STATUS_OPEN) - .setResolution(null) - .setSeverity(Severity.MAJOR) - .setEffort(10L) - .setIssueCreationDate(DateUtils.parseDate("2014-09-04")) - .setIssueUpdateDate(DateUtils.parseDate("2014-12-04")) - .setCreatedAt(1400000000000L) - .setUpdatedAt(1400000000000L); - } +public class IssueDocTesting { public static IssueDoc newDoc() { IssueDoc doc = new IssueDoc(Maps.<String, Object>newHashMap()); diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/IssueFinderTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/IssueFinderTest.java index b82e29c2513..a8c23063fca 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/issue/IssueFinderTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/issue/IssueFinderTest.java @@ -39,8 +39,8 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.sonar.api.web.UserRole.CODEVIEWER; import static org.sonar.api.web.UserRole.USER; import static org.sonar.db.component.ComponentTesting.newFileDto; +import static org.sonar.db.issue.IssueTesting.newDto; import static org.sonar.db.rule.RuleTesting.newRuleDto; -import static org.sonar.server.issue.IssueTesting.newDto; public class IssueFinderTest { diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/IssueServiceMediumTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/IssueServiceMediumTest.java index 82185bb67fb..f8d8e0dfcb6 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/issue/IssueServiceMediumTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/issue/IssueServiceMediumTest.java @@ -38,6 +38,7 @@ import org.sonar.db.component.ComponentDto; import org.sonar.db.component.ComponentTesting; import org.sonar.db.issue.IssueDao; import org.sonar.db.issue.IssueDto; +import org.sonar.db.issue.IssueTesting; import org.sonar.db.rule.RuleDao; import org.sonar.db.rule.RuleDto; import org.sonar.db.rule.RuleTesting; diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/IssueUpdaterTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/IssueUpdaterTest.java index 2f5d47ac308..3aedd12b4d0 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/issue/IssueUpdaterTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/issue/IssueUpdaterTest.java @@ -51,8 +51,8 @@ import static org.mockito.Mockito.verify; import static org.sonar.api.rule.Severity.BLOCKER; import static org.sonar.api.rule.Severity.MAJOR; import static org.sonar.db.component.ComponentTesting.newFileDto; +import static org.sonar.db.issue.IssueTesting.newDto; import static org.sonar.db.rule.RuleTesting.newRuleDto; -import static org.sonar.server.issue.IssueTesting.newDto; public class IssueUpdaterTest { diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/TransitionActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/TransitionActionTest.java index a8c082badbe..e9a4e9aef06 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/issue/TransitionActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/issue/TransitionActionTest.java @@ -43,8 +43,8 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import static org.sonar.api.web.UserRole.ISSUE_ADMIN; import static org.sonar.db.component.ComponentTesting.newFileDto; +import static org.sonar.db.issue.IssueTesting.newDto; import static org.sonar.db.rule.RuleTesting.newRuleDto; -import static org.sonar.server.issue.IssueTesting.newDto; public class TransitionActionTest { diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/TransitionServiceTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/TransitionServiceTest.java index 0132d1ba50d..22c975e84d1 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/issue/TransitionServiceTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/issue/TransitionServiceTest.java @@ -41,8 +41,8 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.sonar.api.issue.Issue.STATUS_CONFIRMED; import static org.sonar.api.issue.Issue.STATUS_OPEN; import static org.sonar.db.component.ComponentTesting.newFileDto; +import static org.sonar.db.issue.IssueTesting.newDto; import static org.sonar.db.rule.RuleTesting.newRuleDto; -import static org.sonar.server.issue.IssueTesting.newDto; public class TransitionServiceTest { diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexDebtTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexDebtTest.java index 672242c1ed1..1393e1e65d9 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexDebtTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexDebtTest.java @@ -37,9 +37,9 @@ import org.sonar.db.component.ComponentTesting; import org.sonar.server.es.EsTester; 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; -import org.sonar.server.issue.IssueTesting; import org.sonar.server.permission.index.PermissionIndexerTester; import org.sonar.server.tester.UserSessionRule; import org.sonar.server.view.index.ViewIndexDefinition; @@ -86,9 +86,9 @@ public class IssueIndexDebtTest { ComponentDto project2 = ComponentTesting.newProjectDto("EFGH"); indexIssues( - IssueTesting.newDoc("ISSUE1", ComponentTesting.newFileDto(project, null)).setEffort(10L), - IssueTesting.newDoc("ISSUE2", ComponentTesting.newFileDto(project, null)).setEffort(10L), - IssueTesting.newDoc("ISSUE3", ComponentTesting.newFileDto(project2, null)).setEffort(10L)); + 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"))); @@ -105,11 +105,11 @@ public class IssueIndexDebtTest { ComponentDto file3 = ComponentTesting.newFileDto(project, null, "CDEF"); indexIssues( - IssueTesting.newDoc("ISSUE1", project), - IssueTesting.newDoc("ISSUE2", file1), - IssueTesting.newDoc("ISSUE3", file2), - IssueTesting.newDoc("ISSUE4", file2), - IssueTesting.newDoc("ISSUE5", file3)); + 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); @@ -125,8 +125,8 @@ public class IssueIndexDebtTest { ComponentDto file2 = ComponentTesting.newFileDto(project, null).setPath("F2.xoo"); indexIssues( - IssueTesting.newDoc("ISSUE1", file1).setDirectoryPath("/src/main/xoo"), - IssueTesting.newDoc("ISSUE2", file2).setDirectoryPath("/")); + IssueDocTesting.newDoc("ISSUE1", file1).setDirectoryPath("/src/main/xoo"), + IssueDocTesting.newDoc("ISSUE2", file2).setDirectoryPath("/")); SearchResult<IssueDoc> result = index.search(newQueryBuilder().build(), new SearchOptions().addFacets(newArrayList("directories"))); assertThat(result.getFacets().getNames()).containsOnly("directories", FACET_MODE_EFFORT); @@ -140,9 +140,9 @@ public class IssueIndexDebtTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setSeverity(Severity.INFO), - IssueTesting.newDoc("ISSUE2", file).setSeverity(Severity.INFO), - IssueTesting.newDoc("ISSUE3", file).setSeverity(Severity.MAJOR)); + 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); @@ -156,9 +156,9 @@ public class IssueIndexDebtTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setStatus(Issue.STATUS_CLOSED), - IssueTesting.newDoc("ISSUE2", file).setStatus(Issue.STATUS_CLOSED), - IssueTesting.newDoc("ISSUE3", file).setStatus(Issue.STATUS_OPEN)); + 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); @@ -172,9 +172,9 @@ public class IssueIndexDebtTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setResolution(Issue.RESOLUTION_FALSE_POSITIVE), - IssueTesting.newDoc("ISSUE2", file).setResolution(Issue.RESOLUTION_FALSE_POSITIVE), - IssueTesting.newDoc("ISSUE3", file).setResolution(Issue.RESOLUTION_FIXED)); + 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); @@ -188,7 +188,7 @@ public class IssueIndexDebtTest { ComponentDto file = ComponentTesting.newFileDto(project, null); RuleKey ruleKey = RuleKey.of("repo", "X1"); - indexIssues(IssueTesting.newDoc("ISSUE1", file).setRuleKey(ruleKey.toString()).setLanguage("xoo").setEffort(10L)); + indexIssues(IssueDocTesting.newDoc("ISSUE1", 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); @@ -202,10 +202,10 @@ public class IssueIndexDebtTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setAssignee("steph"), - IssueTesting.newDoc("ISSUE2", file).setAssignee("simon"), - IssueTesting.newDoc("ISSUE3", file).setAssignee("simon"), - IssueTesting.newDoc("ISSUE4", file).setAssignee(null)); + 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); @@ -219,10 +219,10 @@ public class IssueIndexDebtTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setAuthorLogin("steph"), - IssueTesting.newDoc("ISSUE2", file).setAuthorLogin("simon"), - IssueTesting.newDoc("ISSUE3", file).setAuthorLogin("simon"), - IssueTesting.newDoc("ISSUE4", file).setAuthorLogin(null)); + 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); @@ -251,9 +251,9 @@ public class IssueIndexDebtTest { ComponentDto project2 = ComponentTesting.newProjectDto("EFGH"); indexIssues( - IssueTesting.newDoc("ISSUE1", ComponentTesting.newFileDto(project, null)).setEffort(10L), - IssueTesting.newDoc("ISSUE2", ComponentTesting.newFileDto(project, null)).setEffort(10L), - IssueTesting.newDoc("ISSUE3", ComponentTesting.newFileDto(project2, null)).setEffort(10L)); + 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(userSessionRule).facetMode(DEPRECATED_FACET_MODE_DEBT).build(), new SearchOptions().addFacets(newArrayList("projectUuids"))); @@ -266,13 +266,13 @@ public class IssueIndexDebtTest { ComponentDto project = ComponentTesting.newProjectDto(); ComponentDto file = ComponentTesting.newFileDto(project, null); - IssueDoc issue0 = IssueTesting.newDoc("ISSUE0", file).setFuncCreationDate(DateUtils.parseDateTime("2011-04-25T01:05:13+0100")); - IssueDoc issue1 = IssueTesting.newDoc("ISSUE1", file).setFuncCreationDate(DateUtils.parseDateTime("2014-09-01T12:34:56+0100")); - IssueDoc issue2 = IssueTesting.newDoc("ISSUE2", file).setFuncCreationDate(DateUtils.parseDateTime("2014-09-01T23:46:00+0100")); - IssueDoc issue3 = IssueTesting.newDoc("ISSUE3", file).setFuncCreationDate(DateUtils.parseDateTime("2014-09-02T12:34:56+0100")); - IssueDoc issue4 = IssueTesting.newDoc("ISSUE4", file).setFuncCreationDate(DateUtils.parseDateTime("2014-09-05T12:34:56+0100")); - IssueDoc issue5 = IssueTesting.newDoc("ISSUE5", file).setFuncCreationDate(DateUtils.parseDateTime("2014-09-20T12:34:56+0100")); - IssueDoc issue6 = IssueTesting.newDoc("ISSUE6", file).setFuncCreationDate(DateUtils.parseDateTime("2015-01-18T12:34:56+0100")); + 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")); indexIssues(issue0, issue1, issue2, issue3, issue4, issue5, issue6); diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexTest.java index 8c24d9f92f4..15945d7e62f 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexTest.java @@ -48,8 +48,8 @@ import org.sonar.server.es.EsTester; import org.sonar.server.es.SearchOptions; import org.sonar.server.es.SearchResult; import org.sonar.server.exceptions.NotFoundException; +import org.sonar.server.issue.IssueDocTesting; import org.sonar.server.issue.IssueQuery; -import org.sonar.server.issue.IssueTesting; import org.sonar.server.permission.index.PermissionIndexerTester; import org.sonar.server.tester.UserSessionRule; import org.sonar.server.view.index.ViewDoc; @@ -99,7 +99,7 @@ public class IssueIndexTest { public void get_by_key() { ComponentDto project = ComponentTesting.newProjectDto(); ComponentDto file = ComponentTesting.newFileDto(project, null); - IssueDoc issue = IssueTesting.newDoc("ISSUE1", file) + IssueDoc issue = IssueDocTesting.newDoc("ISSUE1", file) .setEffort(100L); indexIssues(issue); @@ -114,7 +114,7 @@ public class IssueIndexTest { public void get_by_key_with_attributes() { ComponentDto project = ComponentTesting.newProjectDto(); ComponentDto file = ComponentTesting.newFileDto(project, null); - IssueDoc issue = IssueTesting.newDoc("ISSUE1", file).setAttributes((KeyValueFormat.format(ImmutableMap.of("jira-issue-key", "SONAR-1234")))); + IssueDoc issue = IssueDocTesting.newDoc("ISSUE1", file).setAttributes((KeyValueFormat.format(ImmutableMap.of("jira-issue-key", "SONAR-1234")))); indexIssues(issue); Issue result = underTest.getByKey(issue.key()); @@ -125,7 +125,7 @@ public class IssueIndexTest { public void comments_field_is_not_available() { ComponentDto project = ComponentTesting.newProjectDto(); ComponentDto file = ComponentTesting.newFileDto(project, null); - IssueDoc issue = IssueTesting.newDoc("ISSUE1", file); + IssueDoc issue = IssueDocTesting.newDoc("ISSUE1", file); indexIssues(issue); Issue result = underTest.getByKey(issue.key()); @@ -136,7 +136,7 @@ public class IssueIndexTest { public void is_new_field_is_not_available() { ComponentDto project = ComponentTesting.newProjectDto(); ComponentDto file = ComponentTesting.newFileDto(project, null); - IssueDoc issue = IssueTesting.newDoc("ISSUE1", file); + IssueDoc issue = IssueDocTesting.newDoc("ISSUE1", file); indexIssues(issue); Issue result = underTest.getByKey(issue.key()); @@ -153,8 +153,8 @@ public class IssueIndexTest { ComponentDto project = ComponentTesting.newProjectDto(); indexIssues( - IssueTesting.newDoc("1", ComponentTesting.newFileDto(project, null)), - IssueTesting.newDoc("2", ComponentTesting.newFileDto(project, null))); + IssueDocTesting.newDoc("1", ComponentTesting.newFileDto(project, null)), + IssueDocTesting.newDoc("2", ComponentTesting.newFileDto(project, null))); assertThat(underTest.search(IssueQuery.builder(userSessionRule).issueKeys(newArrayList("1", "2")).build(), new SearchOptions()).getDocs()).hasSize(2); assertThat(underTest.search(IssueQuery.builder(userSessionRule).issueKeys(newArrayList("1")).build(), new SearchOptions()).getDocs()).hasSize(1); @@ -168,12 +168,12 @@ public class IssueIndexTest { ComponentDto subModule = ComponentTesting.newModuleDto(module); indexIssues( - IssueTesting.newDoc("ISSUE1", project), - IssueTesting.newDoc("ISSUE2", ComponentTesting.newFileDto(project, null)), - IssueTesting.newDoc("ISSUE3", module), - IssueTesting.newDoc("ISSUE4", ComponentTesting.newFileDto(module, null)), - IssueTesting.newDoc("ISSUE5", subModule), - IssueTesting.newDoc("ISSUE6", ComponentTesting.newFileDto(subModule, null))); + IssueDocTesting.newDoc("ISSUE1", project), + IssueDocTesting.newDoc("ISSUE2", ComponentTesting.newFileDto(project, null)), + IssueDocTesting.newDoc("ISSUE3", module), + IssueDocTesting.newDoc("ISSUE4", ComponentTesting.newFileDto(module, null)), + IssueDocTesting.newDoc("ISSUE5", subModule), + IssueDocTesting.newDoc("ISSUE6", ComponentTesting.newFileDto(subModule, null))); assertThat(underTest.search(IssueQuery.builder(userSessionRule).projectUuids(newArrayList(project.uuid())).build(), new SearchOptions()).getDocs()).hasSize(6); assertThat(underTest.search(IssueQuery.builder(userSessionRule).projectUuids(newArrayList("unknown")).build(), new SearchOptions()).getDocs()).isEmpty(); @@ -185,9 +185,9 @@ public class IssueIndexTest { ComponentDto project2 = ComponentTesting.newProjectDto("EFGH"); indexIssues( - IssueTesting.newDoc("ISSUE1", ComponentTesting.newFileDto(project, null)), - IssueTesting.newDoc("ISSUE2", ComponentTesting.newFileDto(project, null)), - IssueTesting.newDoc("ISSUE3", ComponentTesting.newFileDto(project2, null))); + IssueDocTesting.newDoc("ISSUE1", ComponentTesting.newFileDto(project, null)), + IssueDocTesting.newDoc("ISSUE2", ComponentTesting.newFileDto(project, null)), + IssueDocTesting.newDoc("ISSUE3", ComponentTesting.newFileDto(project2, null))); SearchResult<IssueDoc> result = underTest.search(IssueQuery.builder(userSessionRule).build(), new SearchOptions().addFacets(newArrayList("projectUuids"))); assertThat(result.getFacets().getNames()).containsOnly("projectUuids"); @@ -202,9 +202,9 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(subModule, null); indexIssues( - IssueTesting.newDoc("ISSUE3", module), - IssueTesting.newDoc("ISSUE5", subModule), - IssueTesting.newDoc("ISSUE2", file)); + IssueDocTesting.newDoc("ISSUE3", module), + IssueDocTesting.newDoc("ISSUE5", subModule), + IssueDocTesting.newDoc("ISSUE2", file)); assertThat( underTest.search(IssueQuery.builder(userSessionRule).projectUuids(newArrayList(project.uuid())).moduleUuids(newArrayList(file.uuid())).build(), new SearchOptions()) @@ -239,12 +239,12 @@ public class IssueIndexTest { indexView(view, newArrayList(project.uuid())); indexIssues( - IssueTesting.newDoc("ISSUE1", project), - IssueTesting.newDoc("ISSUE2", file1), - IssueTesting.newDoc("ISSUE3", module), - IssueTesting.newDoc("ISSUE4", file2), - IssueTesting.newDoc("ISSUE5", subModule), - IssueTesting.newDoc("ISSUE6", file3)); + IssueDocTesting.newDoc("ISSUE1", project), + IssueDocTesting.newDoc("ISSUE2", file1), + IssueDocTesting.newDoc("ISSUE3", module), + IssueDocTesting.newDoc("ISSUE4", file2), + IssueDocTesting.newDoc("ISSUE5", subModule), + IssueDocTesting.newDoc("ISSUE6", file3)); assertThat(underTest.search(IssueQuery.builder(userSessionRule).fileUuids(newArrayList(file1.uuid(), file2.uuid(), file3.uuid())).build(), new SearchOptions()) .getDocs()).hasSize(3); @@ -274,12 +274,12 @@ public class IssueIndexTest { indexView(view, newArrayList(project.uuid())); indexIssues( - IssueTesting.newDoc("ISSUE1", project), - IssueTesting.newDoc("ISSUE2", file1), - IssueTesting.newDoc("ISSUE3", module), - IssueTesting.newDoc("ISSUE4", file2), - IssueTesting.newDoc("ISSUE5", subModule), - IssueTesting.newDoc("ISSUE6", file3)); + IssueDocTesting.newDoc("ISSUE1", project), + IssueDocTesting.newDoc("ISSUE2", file1), + IssueDocTesting.newDoc("ISSUE3", module), + IssueDocTesting.newDoc("ISSUE4", file2), + IssueDocTesting.newDoc("ISSUE5", subModule), + IssueDocTesting.newDoc("ISSUE6", file3)); assertThat(underTest.search(IssueQuery.builder(userSessionRule).projectUuids(newArrayList("unknown")).build(), new SearchOptions()).getDocs()).isEmpty(); assertThat(underTest.search(IssueQuery.builder(userSessionRule).projectUuids(newArrayList(project.uuid())).build(), new SearchOptions()).getDocs()).hasSize(6); @@ -301,11 +301,11 @@ public class IssueIndexTest { ComponentDto file3 = ComponentTesting.newFileDto(project, null, "CDEF"); indexIssues( - IssueTesting.newDoc("ISSUE1", project), - IssueTesting.newDoc("ISSUE2", file1), - IssueTesting.newDoc("ISSUE3", file2), - IssueTesting.newDoc("ISSUE4", file2), - IssueTesting.newDoc("ISSUE5", file3)); + IssueDocTesting.newDoc("ISSUE1", project), + IssueDocTesting.newDoc("ISSUE2", file1), + IssueDocTesting.newDoc("ISSUE3", file2), + IssueDocTesting.newDoc("ISSUE4", file2), + IssueDocTesting.newDoc("ISSUE5", file3)); SearchResult<IssueDoc> result = underTest.search(IssueQuery.builder(userSessionRule).build(), new SearchOptions().addFacets(newArrayList("fileUuids"))); assertThat(result.getFacets().getNames()).containsOnly("fileUuids"); @@ -320,8 +320,8 @@ public class IssueIndexTest { ComponentDto file2 = ComponentTesting.newFileDto(project, null).setPath("F2.xoo"); indexIssues( - IssueTesting.newDoc("ISSUE1", file1).setDirectoryPath("/src/main/xoo"), - IssueTesting.newDoc("ISSUE2", file2).setDirectoryPath("/")); + IssueDocTesting.newDoc("ISSUE1", file1).setDirectoryPath("/src/main/xoo"), + IssueDocTesting.newDoc("ISSUE2", file2).setDirectoryPath("/")); assertThat(underTest.search(IssueQuery.builder(userSessionRule).directories(newArrayList("/src/main/xoo")).build(), new SearchOptions()).getDocs()).hasSize(1); assertThat(underTest.search(IssueQuery.builder(userSessionRule).directories(newArrayList("/")).build(), new SearchOptions()).getDocs()).hasSize(1); @@ -335,8 +335,8 @@ public class IssueIndexTest { ComponentDto file2 = ComponentTesting.newFileDto(project, null).setPath("F2.xoo"); indexIssues( - IssueTesting.newDoc("ISSUE1", file1).setDirectoryPath("/src/main/xoo"), - IssueTesting.newDoc("ISSUE2", file2).setDirectoryPath("/")); + IssueDocTesting.newDoc("ISSUE1", file1).setDirectoryPath("/src/main/xoo"), + IssueDocTesting.newDoc("ISSUE2", file2).setDirectoryPath("/")); SearchResult<IssueDoc> result = underTest.search(IssueQuery.builder(userSessionRule).build(), new SearchOptions().addFacets(newArrayList("directories"))); assertThat(result.getFacets().getNames()).containsOnly("directories"); @@ -350,10 +350,10 @@ public class IssueIndexTest { ComponentDto project2 = ComponentTesting.newProjectDto(); indexIssues( // Project1 has 2 issues (one on a file and one on the project itself) - IssueTesting.newDoc("ISSUE1", project1), - IssueTesting.newDoc("ISSUE2", file1), + IssueDocTesting.newDoc("ISSUE1", project1), + IssueDocTesting.newDoc("ISSUE2", file1), // Project2 has 1 issue - IssueTesting.newDoc("ISSUE3", project2)); + IssueDocTesting.newDoc("ISSUE3", project2)); // The view1 is containing 2 issues from project1 String view1 = "ABCD"; @@ -375,8 +375,8 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setSeverity(Severity.INFO), - IssueTesting.newDoc("ISSUE2", file).setSeverity(Severity.MAJOR)); + IssueDocTesting.newDoc("ISSUE1", file).setSeverity(Severity.INFO), + IssueDocTesting.newDoc("ISSUE2", file).setSeverity(Severity.MAJOR)); assertThat(underTest.search(IssueQuery.builder(userSessionRule).severities(newArrayList(Severity.INFO, Severity.MAJOR)).build(), new SearchOptions()).getDocs()).hasSize(2); assertThat(underTest.search(IssueQuery.builder(userSessionRule).severities(newArrayList(Severity.INFO)).build(), new SearchOptions()).getDocs()).hasSize(1); @@ -389,9 +389,9 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setSeverity(Severity.INFO), - IssueTesting.newDoc("ISSUE2", file).setSeverity(Severity.INFO), - IssueTesting.newDoc("ISSUE3", file).setSeverity(Severity.MAJOR)); + IssueDocTesting.newDoc("ISSUE1", file).setSeverity(Severity.INFO), + IssueDocTesting.newDoc("ISSUE2", file).setSeverity(Severity.INFO), + IssueDocTesting.newDoc("ISSUE3", file).setSeverity(Severity.MAJOR)); SearchResult<IssueDoc> result = underTest.search(IssueQuery.builder(userSessionRule).build(), new SearchOptions().addFacets(newArrayList("severities"))); assertThat(result.getFacets().getNames()).containsOnly("severities"); @@ -404,8 +404,8 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setStatus(Issue.STATUS_CLOSED), - IssueTesting.newDoc("ISSUE2", file).setStatus(Issue.STATUS_OPEN)); + IssueDocTesting.newDoc("ISSUE1", file).setStatus(Issue.STATUS_CLOSED), + IssueDocTesting.newDoc("ISSUE2", file).setStatus(Issue.STATUS_OPEN)); assertThat(underTest.search(IssueQuery.builder(userSessionRule).statuses(newArrayList(Issue.STATUS_CLOSED, Issue.STATUS_OPEN)).build(), new SearchOptions()).getDocs()) .hasSize(2); @@ -419,9 +419,9 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setStatus(Issue.STATUS_CLOSED), - IssueTesting.newDoc("ISSUE2", file).setStatus(Issue.STATUS_CLOSED), - IssueTesting.newDoc("ISSUE3", file).setStatus(Issue.STATUS_OPEN)); + 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 = underTest.search(IssueQuery.builder(userSessionRule).build(), new SearchOptions().addFacets(newArrayList("statuses"))); assertThat(result.getFacets().getNames()).containsOnly("statuses"); @@ -434,8 +434,8 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setResolution(Issue.RESOLUTION_FALSE_POSITIVE), - IssueTesting.newDoc("ISSUE2", file).setResolution(Issue.RESOLUTION_FIXED)); + IssueDocTesting.newDoc("ISSUE1", file).setResolution(Issue.RESOLUTION_FALSE_POSITIVE), + IssueDocTesting.newDoc("ISSUE2", file).setResolution(Issue.RESOLUTION_FIXED)); assertThat( underTest.search(IssueQuery.builder(userSessionRule).resolutions(newArrayList(Issue.RESOLUTION_FALSE_POSITIVE, Issue.RESOLUTION_FIXED)).build(), new SearchOptions()) @@ -451,9 +451,9 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setResolution(Issue.RESOLUTION_FALSE_POSITIVE), - IssueTesting.newDoc("ISSUE2", file).setResolution(Issue.RESOLUTION_FALSE_POSITIVE), - IssueTesting.newDoc("ISSUE3", file).setResolution(Issue.RESOLUTION_FIXED)); + 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 = underTest.search(IssueQuery.builder(userSessionRule).build(), new SearchOptions().addFacets(newArrayList("resolutions"))); assertThat(result.getFacets().getNames()).containsOnly("resolutions"); @@ -466,9 +466,9 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setStatus(Issue.STATUS_CLOSED).setResolution(Issue.RESOLUTION_FIXED), - IssueTesting.newDoc("ISSUE2", file).setStatus(Issue.STATUS_OPEN).setResolution(null), - IssueTesting.newDoc("ISSUE3", file).setStatus(Issue.STATUS_OPEN).setResolution(null)); + IssueDocTesting.newDoc("ISSUE1", file).setStatus(Issue.STATUS_CLOSED).setResolution(Issue.RESOLUTION_FIXED), + IssueDocTesting.newDoc("ISSUE2", file).setStatus(Issue.STATUS_OPEN).setResolution(null), + IssueDocTesting.newDoc("ISSUE3", file).setStatus(Issue.STATUS_OPEN).setResolution(null)); assertThat(underTest.search(IssueQuery.builder(userSessionRule).resolved(true).build(), new SearchOptions()).getDocs()).hasSize(1); assertThat(underTest.search(IssueQuery.builder(userSessionRule).resolved(false).build(), new SearchOptions()).getDocs()).hasSize(2); @@ -481,7 +481,7 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); RuleKey ruleKey = RuleKey.of("repo", "X1"); - indexIssues(IssueTesting.newDoc("ISSUE1", file).setRuleKey(ruleKey.toString())); + indexIssues(IssueDocTesting.newDoc("ISSUE1", file).setRuleKey(ruleKey.toString())); assertThat(underTest.search(IssueQuery.builder(userSessionRule).rules(newArrayList(ruleKey)).build(), new SearchOptions()).getDocs()).hasSize(1); assertThat(underTest.search(IssueQuery.builder(userSessionRule).rules(newArrayList(RuleKey.of("rule", "without issue"))).build(), new SearchOptions()).getDocs()).isEmpty(); @@ -493,7 +493,7 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); RuleKey ruleKey = RuleKey.of("repo", "X1"); - indexIssues(IssueTesting.newDoc("ISSUE1", file).setRuleKey(ruleKey.toString()).setLanguage("xoo")); + indexIssues(IssueDocTesting.newDoc("ISSUE1", file).setRuleKey(ruleKey.toString()).setLanguage("xoo")); assertThat(underTest.search(IssueQuery.builder(userSessionRule).languages(newArrayList("xoo")).build(), new SearchOptions()).getDocs()).hasSize(1); @@ -506,7 +506,7 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); RuleKey ruleKey = RuleKey.of("repo", "X1"); - indexIssues(IssueTesting.newDoc("ISSUE1", file).setRuleKey(ruleKey.toString()).setLanguage("xoo")); + indexIssues(IssueDocTesting.newDoc("ISSUE1", file).setRuleKey(ruleKey.toString()).setLanguage("xoo")); SearchResult<IssueDoc> result = underTest.search(IssueQuery.builder(userSessionRule).build(), new SearchOptions().addFacets(newArrayList("languages"))); assertThat(result.getFacets().getNames()).containsOnly("languages"); @@ -519,9 +519,9 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setAssignee("steph"), - IssueTesting.newDoc("ISSUE2", file).setAssignee("simon"), - IssueTesting.newDoc("ISSUE3", file).setAssignee(null)); + IssueDocTesting.newDoc("ISSUE1", file).setAssignee("steph"), + IssueDocTesting.newDoc("ISSUE2", file).setAssignee("simon"), + IssueDocTesting.newDoc("ISSUE3", file).setAssignee(null)); assertThat(underTest.search(IssueQuery.builder(userSessionRule).assignees(newArrayList("steph")).build(), new SearchOptions()).getDocs()).hasSize(1); assertThat(underTest.search(IssueQuery.builder(userSessionRule).assignees(newArrayList("steph", "simon")).build(), new SearchOptions()).getDocs()).hasSize(2); @@ -534,10 +534,10 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setAssignee("steph"), - IssueTesting.newDoc("ISSUE2", file).setAssignee("simon"), - IssueTesting.newDoc("ISSUE3", file).setAssignee("simon"), - IssueTesting.newDoc("ISSUE4", file).setAssignee(null)); + 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 = underTest.search(IssueQuery.builder(userSessionRule).build(), new SearchOptions().addFacets(newArrayList("assignees"))); assertThat(result.getFacets().getNames()).containsOnly("assignees"); @@ -550,10 +550,10 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setAssignee("j-b"), - IssueTesting.newDoc("ISSUE2", file).setAssignee("simon"), - IssueTesting.newDoc("ISSUE3", file).setAssignee("simon"), - IssueTesting.newDoc("ISSUE4", file).setAssignee(null)); + IssueDocTesting.newDoc("ISSUE1", file).setAssignee("j-b"), + IssueDocTesting.newDoc("ISSUE2", file).setAssignee("simon"), + IssueDocTesting.newDoc("ISSUE3", file).setAssignee("simon"), + IssueDocTesting.newDoc("ISSUE4", file).setAssignee(null)); SearchResult<IssueDoc> result = underTest.search(IssueQuery.builder(userSessionRule).assignees(Arrays.asList("j-b")).build(), new SearchOptions().addFacets(newArrayList("assignees"))); @@ -567,9 +567,9 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setAssignee("steph"), - IssueTesting.newDoc("ISSUE2", file).setAssignee(null), - IssueTesting.newDoc("ISSUE3", file).setAssignee(null)); + IssueDocTesting.newDoc("ISSUE1", file).setAssignee("steph"), + IssueDocTesting.newDoc("ISSUE2", file).setAssignee(null), + IssueDocTesting.newDoc("ISSUE3", file).setAssignee(null)); assertThat(underTest.search(IssueQuery.builder(userSessionRule).assigned(true).build(), new SearchOptions()).getDocs()).hasSize(1); assertThat(underTest.search(IssueQuery.builder(userSessionRule).assigned(false).build(), new SearchOptions()).getDocs()).hasSize(2); @@ -582,9 +582,9 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setAuthorLogin("steph"), - IssueTesting.newDoc("ISSUE2", file).setAuthorLogin("simon"), - IssueTesting.newDoc("ISSUE3", file).setAssignee(null)); + IssueDocTesting.newDoc("ISSUE1", file).setAuthorLogin("steph"), + IssueDocTesting.newDoc("ISSUE2", file).setAuthorLogin("simon"), + IssueDocTesting.newDoc("ISSUE3", file).setAssignee(null)); assertThat(underTest.search(IssueQuery.builder(userSessionRule).authors(newArrayList("steph")).build(), new SearchOptions()).getDocs()).hasSize(1); assertThat(underTest.search(IssueQuery.builder(userSessionRule).authors(newArrayList("steph", "simon")).build(), new SearchOptions()).getDocs()).hasSize(2); @@ -597,10 +597,10 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setAuthorLogin("steph"), - IssueTesting.newDoc("ISSUE2", file).setAuthorLogin("simon"), - IssueTesting.newDoc("ISSUE3", file).setAuthorLogin("simon"), - IssueTesting.newDoc("ISSUE4", file).setAuthorLogin(null)); + 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 = underTest.search(IssueQuery.builder(userSessionRule).build(), new SearchOptions().addFacets(newArrayList("authors"))); assertThat(result.getFacets().getNames()).containsOnly("authors"); @@ -613,8 +613,8 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setFuncCreationDate(parseDate("2014-09-20")), - IssueTesting.newDoc("ISSUE2", file).setFuncCreationDate(parseDate("2014-09-23"))); + IssueDocTesting.newDoc("ISSUE1", file).setFuncCreationDate(parseDate("2014-09-20")), + IssueDocTesting.newDoc("ISSUE2", file).setFuncCreationDate(parseDate("2014-09-23"))); assertThat(underTest.search(IssueQuery.builder(userSessionRule).createdAfter(parseDate("2014-09-19")).build(), new SearchOptions()).getDocs()).hasSize(2); // Lower bound is included @@ -629,8 +629,8 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setFuncCreationDate(parseDate("2014-09-20")), - IssueTesting.newDoc("ISSUE2", file).setFuncCreationDate(parseDate("2014-09-23"))); + IssueDocTesting.newDoc("ISSUE1", file).setFuncCreationDate(parseDate("2014-09-20")), + IssueDocTesting.newDoc("ISSUE2", file).setFuncCreationDate(parseDate("2014-09-23"))); assertThat(underTest.search(IssueQuery.builder(userSessionRule).createdBefore(parseDate("2014-09-19")).build(), new SearchOptions()).getDocs()).isEmpty(); // Upper bound is excluded @@ -645,8 +645,8 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setFuncCreationDate(parseDate("2014-09-20")), - IssueTesting.newDoc("ISSUE2", file).setFuncCreationDate(parseDate("2014-09-23"))); + IssueDocTesting.newDoc("ISSUE1", file).setFuncCreationDate(parseDate("2014-09-20")), + IssueDocTesting.newDoc("ISSUE2", file).setFuncCreationDate(parseDate("2014-09-23"))); // 19 < createdAt < 25 assertThat(underTest.search(IssueQuery.builder(userSessionRule) @@ -691,8 +691,8 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setFuncCreationDate(parseDateTime("2014-09-20T00:00:00+0100")), - IssueTesting.newDoc("ISSUE2", file).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100"))); + IssueDocTesting.newDoc("ISSUE1", file).setFuncCreationDate(parseDateTime("2014-09-20T00:00:00+0100")), + IssueDocTesting.newDoc("ISSUE2", file).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100"))); assertThat(underTest.search(IssueQuery.builder(userSessionRule) .createdAfter(parseDateTime("2014-09-19T23:00:00+0000")).createdBefore(parseDateTime("2014-09-22T23:00:01+0000")) @@ -737,7 +737,7 @@ public class IssueIndexTest { ComponentDto project = ComponentTesting.newProjectDto(); ComponentDto file = ComponentTesting.newFileDto(project, null); - indexIssues(IssueTesting.newDoc("ISSUE1", file).setFuncCreationDate(parseDate("2014-09-20"))); + indexIssues(IssueDocTesting.newDoc("ISSUE1", file).setFuncCreationDate(parseDate("2014-09-20"))); assertThat(underTest.search(IssueQuery.builder(userSessionRule).createdAt(parseDate("2014-09-20")).build(), new SearchOptions()).getDocs()).hasSize(1); assertThat(underTest.search(IssueQuery.builder(userSessionRule).createdAt(parseDate("2014-09-21")).build(), new SearchOptions()).getDocs()).isEmpty(); @@ -877,13 +877,13 @@ public class IssueIndexTest { ComponentDto project = ComponentTesting.newProjectDto(); ComponentDto file = ComponentTesting.newFileDto(project, null); - IssueDoc issue0 = IssueTesting.newDoc("ISSUE0", file).setFuncCreationDate(parseDateTime("2011-04-25T00:05:13+0000")); - IssueDoc issue1 = IssueTesting.newDoc("ISSUE1", file).setFuncCreationDate(parseDateTime("2014-09-01T12:34:56+0100")); - IssueDoc issue2 = IssueTesting.newDoc("ISSUE2", file).setFuncCreationDate(parseDateTime("2014-09-01T10:46:00-1200")); - IssueDoc issue3 = IssueTesting.newDoc("ISSUE3", file).setFuncCreationDate(parseDateTime("2014-09-02T23:34:56+1200")); - IssueDoc issue4 = IssueTesting.newDoc("ISSUE4", file).setFuncCreationDate(parseDateTime("2014-09-05T12:34:56+0100")); - IssueDoc issue5 = IssueTesting.newDoc("ISSUE5", file).setFuncCreationDate(parseDateTime("2014-09-20T12:34:56+0100")); - IssueDoc issue6 = IssueTesting.newDoc("ISSUE6", file).setFuncCreationDate(parseDateTime("2015-01-18T12:34:56+0100")); + IssueDoc issue0 = IssueDocTesting.newDoc("ISSUE0", file).setFuncCreationDate(parseDateTime("2011-04-25T00:05:13+0000")); + IssueDoc issue1 = IssueDocTesting.newDoc("ISSUE1", file).setFuncCreationDate(parseDateTime("2014-09-01T12:34:56+0100")); + IssueDoc issue2 = IssueDocTesting.newDoc("ISSUE2", file).setFuncCreationDate(parseDateTime("2014-09-01T10:46:00-1200")); + IssueDoc issue3 = IssueDocTesting.newDoc("ISSUE3", file).setFuncCreationDate(parseDateTime("2014-09-02T23:34:56+1200")); + IssueDoc issue4 = IssueDocTesting.newDoc("ISSUE4", file).setFuncCreationDate(parseDateTime("2014-09-05T12:34:56+0100")); + IssueDoc issue5 = IssueDocTesting.newDoc("ISSUE5", file).setFuncCreationDate(parseDateTime("2014-09-20T12:34:56+0100")); + IssueDoc issue6 = IssueDocTesting.newDoc("ISSUE6", file).setFuncCreationDate(parseDateTime("2015-01-18T12:34:56+0100")); indexIssues(issue0, issue1, issue2, issue3, issue4, issue5, issue6); @@ -895,7 +895,7 @@ public class IssueIndexTest { ComponentDto project = ComponentTesting.newProjectDto(); ComponentDto file = ComponentTesting.newFileDto(project, null); for (int i = 0; i < 12; i++) { - indexIssues(IssueTesting.newDoc("ISSUE" + i, file)); + indexIssues(IssueDocTesting.newDoc("ISSUE" + i, file)); } IssueQuery.Builder query = IssueQuery.builder(userSessionRule); @@ -920,7 +920,7 @@ public class IssueIndexTest { List<IssueDoc> issues = newArrayList(); for (int i = 0; i < 500; i++) { String key = "ISSUE" + i; - issues.add(IssueTesting.newDoc(key, file)); + issues.add(IssueDocTesting.newDoc(key, file)); } indexIssues(issues.toArray(new IssueDoc[] {})); @@ -935,9 +935,9 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setStatus(Issue.STATUS_OPEN), - IssueTesting.newDoc("ISSUE2", file).setStatus(Issue.STATUS_CLOSED), - IssueTesting.newDoc("ISSUE3", file).setStatus(Issue.STATUS_REOPENED)); + IssueDocTesting.newDoc("ISSUE1", file).setStatus(Issue.STATUS_OPEN), + IssueDocTesting.newDoc("ISSUE2", file).setStatus(Issue.STATUS_CLOSED), + IssueDocTesting.newDoc("ISSUE3", file).setStatus(Issue.STATUS_REOPENED)); IssueQuery.Builder query = IssueQuery.builder(userSessionRule).sort(IssueQuery.SORT_BY_STATUS).asc(true); SearchResult<IssueDoc> result = underTest.search(query.build(), new SearchOptions()); @@ -958,11 +958,11 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setSeverity(Severity.BLOCKER), - IssueTesting.newDoc("ISSUE2", file).setSeverity(Severity.INFO), - IssueTesting.newDoc("ISSUE3", file).setSeverity(Severity.MINOR), - IssueTesting.newDoc("ISSUE4", file).setSeverity(Severity.CRITICAL), - IssueTesting.newDoc("ISSUE5", file).setSeverity(Severity.MAJOR)); + IssueDocTesting.newDoc("ISSUE1", file).setSeverity(Severity.BLOCKER), + IssueDocTesting.newDoc("ISSUE2", file).setSeverity(Severity.INFO), + IssueDocTesting.newDoc("ISSUE3", file).setSeverity(Severity.MINOR), + IssueDocTesting.newDoc("ISSUE4", file).setSeverity(Severity.CRITICAL), + IssueDocTesting.newDoc("ISSUE5", file).setSeverity(Severity.MAJOR)); IssueQuery.Builder query = IssueQuery.builder(userSessionRule).sort(IssueQuery.SORT_BY_SEVERITY).asc(true); SearchResult<IssueDoc> result = underTest.search(query.build(), new SearchOptions()); @@ -987,8 +987,8 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setAssignee("steph"), - IssueTesting.newDoc("ISSUE2", file).setAssignee("simon")); + IssueDocTesting.newDoc("ISSUE1", file).setAssignee("steph"), + IssueDocTesting.newDoc("ISSUE2", file).setAssignee("simon")); IssueQuery.Builder query = IssueQuery.builder(userSessionRule).sort(IssueQuery.SORT_BY_ASSIGNEE).asc(true); SearchResult<IssueDoc> result = underTest.search(query.build(), new SearchOptions()); @@ -1009,8 +1009,8 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100")), - IssueTesting.newDoc("ISSUE2", file).setFuncCreationDate(parseDateTime("2014-09-24T00:00:00+0100"))); + IssueDocTesting.newDoc("ISSUE1", file).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100")), + IssueDocTesting.newDoc("ISSUE2", file).setFuncCreationDate(parseDateTime("2014-09-24T00:00:00+0100"))); IssueQuery.Builder query = IssueQuery.builder(userSessionRule).sort(IssueQuery.SORT_BY_CREATION_DATE).asc(true); SearchResult<IssueDoc> result = underTest.search(query.build(), new SearchOptions()); @@ -1031,8 +1031,8 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setFuncUpdateDate(parseDateTime("2014-09-23T00:00:00+0100")), - IssueTesting.newDoc("ISSUE2", file).setFuncUpdateDate(parseDateTime("2014-09-24T00:00:00+0100"))); + IssueDocTesting.newDoc("ISSUE1", file).setFuncUpdateDate(parseDateTime("2014-09-23T00:00:00+0100")), + IssueDocTesting.newDoc("ISSUE2", file).setFuncUpdateDate(parseDateTime("2014-09-24T00:00:00+0100"))); IssueQuery.Builder query = IssueQuery.builder(userSessionRule).sort(IssueQuery.SORT_BY_UPDATE_DATE).asc(true); SearchResult<IssueDoc> result = underTest.search(query.build(), new SearchOptions()); @@ -1053,9 +1053,9 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(project, null); indexIssues( - IssueTesting.newDoc("ISSUE1", file).setFuncCloseDate(parseDateTime("2014-09-23T00:00:00+0100")), - IssueTesting.newDoc("ISSUE2", file).setFuncCloseDate(parseDateTime("2014-09-24T00:00:00+0100")), - IssueTesting.newDoc("ISSUE3", file).setFuncCloseDate(null)); + IssueDocTesting.newDoc("ISSUE1", file).setFuncCloseDate(parseDateTime("2014-09-23T00:00:00+0100")), + IssueDocTesting.newDoc("ISSUE2", file).setFuncCloseDate(parseDateTime("2014-09-24T00:00:00+0100")), + IssueDocTesting.newDoc("ISSUE3", file).setFuncCloseDate(null)); IssueQuery.Builder query = IssueQuery.builder(userSessionRule).sort(IssueQuery.SORT_BY_CLOSE_DATE).asc(true); SearchResult<IssueDoc> result = underTest.search(query.build(), new SearchOptions()); @@ -1080,15 +1080,15 @@ public class IssueIndexTest { indexIssues( // file F1 - IssueTesting.newDoc("F1_2", file1).setLine(20), - IssueTesting.newDoc("F1_1", file1).setLine(null), - IssueTesting.newDoc("F1_3", file1).setLine(25), + IssueDocTesting.newDoc("F1_2", file1).setLine(20), + IssueDocTesting.newDoc("F1_1", file1).setLine(null), + IssueDocTesting.newDoc("F1_3", file1).setLine(25), // file F2 - IssueTesting.newDoc("F2_1", file2).setLine(9), - IssueTesting.newDoc("F2_2", file2).setLine(109), + IssueDocTesting.newDoc("F2_1", file2).setLine(9), + IssueDocTesting.newDoc("F2_2", file2).setLine(109), // two issues on the same line -> sort by key - IssueTesting.newDoc("F2_3", file2).setLine(109)); + IssueDocTesting.newDoc("F2_3", file2).setLine(109)); // ascending sort -> F1 then F2. Line "0" first. IssueQuery.Builder query = IssueQuery.builder(userSessionRule).sort(IssueQuery.SORT_BY_FILE_LINE).asc(true); @@ -1124,19 +1124,19 @@ public class IssueIndexTest { indexIssues( // file F1 from project P1 - IssueTesting.newDoc("F1_1", file1).setLine(20).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100")), - IssueTesting.newDoc("F1_2", file1).setLine(null).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100")), - IssueTesting.newDoc("F1_3", file1).setLine(25).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100")), + IssueDocTesting.newDoc("F1_1", file1).setLine(20).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100")), + IssueDocTesting.newDoc("F1_2", file1).setLine(null).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100")), + IssueDocTesting.newDoc("F1_3", file1).setLine(25).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100")), // file F2 from project P1 - IssueTesting.newDoc("F2_1", file2).setLine(9).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100")), - IssueTesting.newDoc("F2_2", file2).setLine(109).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100")), + IssueDocTesting.newDoc("F2_1", file2).setLine(9).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100")), + IssueDocTesting.newDoc("F2_2", file2).setLine(109).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100")), // two issues on the same line -> sort by key - IssueTesting.newDoc("F2_3", file2).setLine(109).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100")), + IssueDocTesting.newDoc("F2_3", file2).setLine(109).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100")), // file F3 from project P2 - IssueTesting.newDoc("F3_1", file3).setLine(20).setFuncCreationDate(parseDateTime("2014-09-24T00:00:00+0100")), - IssueTesting.newDoc("F3_2", file3).setLine(20).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100"))); + IssueDocTesting.newDoc("F3_1", file3).setLine(20).setFuncCreationDate(parseDateTime("2014-09-24T00:00:00+0100")), + IssueDocTesting.newDoc("F3_2", file3).setLine(20).setFuncCreationDate(parseDateTime("2014-09-23T00:00:00+0100"))); assertThat(underTest.search(IssueQuery.builder(userSessionRule).build(), new SearchOptions()).getDocs()).extracting(IssueDoc::key) .containsExactly("F3_1", "F1_2", "F1_1", "F1_3", "F2_1", "F2_2", "F2_3", "F3_2"); @@ -1153,11 +1153,11 @@ public class IssueIndexTest { ComponentDto file3 = ComponentTesting.newFileDto(project3, null).setKey("file3"); // project1 can be seen by sonar-users - indexIssue(IssueTesting.newDoc("ISSUE1", file1), "sonar-users", null); + indexIssue(IssueDocTesting.newDoc("ISSUE1", file1), "sonar-users", null); // project2 can be seen by sonar-admins - indexIssue(IssueTesting.newDoc("ISSUE2", file2), "sonar-admins", null); + indexIssue(IssueDocTesting.newDoc("ISSUE2", file2), "sonar-admins", null); // project3 can be seen by nobody - indexIssue(IssueTesting.newDoc("ISSUE3", file3), null, null); + indexIssue(IssueDocTesting.newDoc("ISSUE3", file3), null, null); userSessionRule.login().setUserGroups("sonar-users"); assertThat(underTest.search(IssueQuery.builder(userSessionRule).build(), new SearchOptions()).getDocs()).hasSize(1); @@ -1186,9 +1186,9 @@ public class IssueIndexTest { ComponentDto file3 = ComponentTesting.newFileDto(project3, null).setKey("file3"); // project1 can be seen by john, project2 by max, project3 cannot be seen by anyone - indexIssue(IssueTesting.newDoc("ISSUE1", file1), null, 10L); - indexIssue(IssueTesting.newDoc("ISSUE2", file2), null, 11L); - indexIssue(IssueTesting.newDoc("ISSUE3", file3), null, null); + indexIssue(IssueDocTesting.newDoc("ISSUE1", file1), null, 10L); + indexIssue(IssueDocTesting.newDoc("ISSUE2", file2), null, 11L); + indexIssue(IssueDocTesting.newDoc("ISSUE3", file3), null, null); userSessionRule.login("john").setUserId(10); @@ -1213,8 +1213,8 @@ public class IssueIndexTest { ComponentDto file2 = ComponentTesting.newFileDto(project2, null).setKey("file2"); // project1 can be seen by user 10 and by sonar-users - indexIssue(IssueTesting.newDoc("ISSUE1", file1), "sonar-users", 10L); - indexIssue(IssueTesting.newDoc("ISSUE2", file2), null, 11L); + indexIssue(IssueDocTesting.newDoc("ISSUE1", file1), "sonar-users", 10L); + indexIssue(IssueDocTesting.newDoc("ISSUE2", file2), null, 11L); userSessionRule.login("john").setUserGroups("sonar-users"); assertThat(underTest.search(IssueQuery.builder(userSessionRule).build(), new SearchOptions()).getDocs()).hasSize(1); @@ -1225,7 +1225,7 @@ public class IssueIndexTest { ComponentDto project = ComponentTesting.newProjectDto("PROJECT"); ComponentDto file = ComponentTesting.newFileDto(project, null).setPath("src/File.xoo"); - IssueDoc issue = IssueTesting.newDoc("ISSUE", file) + IssueDoc issue = IssueDocTesting.newDoc("ISSUE", file) .setRuleKey("squid:S001") .setChecksum("12345") .setAssignee("john") @@ -1264,11 +1264,11 @@ public class IssueIndexTest { ComponentDto file = ComponentTesting.newFileDto(subModule, null); indexIssues( - IssueTesting.newDoc("ISSUE3", module), - IssueTesting.newDoc("ISSUE5", subModule), - IssueTesting.newDoc("ISSUE2", file), + IssueDocTesting.newDoc("ISSUE3", module), + IssueDocTesting.newDoc("ISSUE5", subModule), + IssueDocTesting.newDoc("ISSUE2", file), // Close Issue, should never be returned - IssueTesting.newDoc("CLOSE_ISSUE", file).setStatus(Issue.STATUS_CLOSED).setResolution(Issue.RESOLUTION_FIXED)); + IssueDocTesting.newDoc("CLOSE_ISSUE", file).setStatus(Issue.STATUS_CLOSED).setResolution(Issue.RESOLUTION_FIXED)); assertThat(Lists.newArrayList(underTest.selectIssuesForBatch(project))).hasSize(3); assertThat(Lists.newArrayList(underTest.selectIssuesForBatch(module))).hasSize(3); @@ -1296,9 +1296,9 @@ public class IssueIndexTest { ComponentDto file2 = ComponentTesting.newFileDto(project2, null).setKey("file2"); // project1 can be seen by sonar-users - indexIssue(IssueTesting.newDoc("ISSUE1", file1), "sonar-users", null); + indexIssue(IssueDocTesting.newDoc("ISSUE1", file1), "sonar-users", null); // project3 can be seen by nobody - indexIssue(IssueTesting.newDoc("ISSUE3", file2), null, null); + indexIssue(IssueDocTesting.newDoc("ISSUE3", file2), null, null); userSessionRule.setUserGroups("sonar-users"); assertThat(Lists.newArrayList(underTest.selectIssuesForBatch(project1))).hasSize(1); diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexerTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexerTest.java index ed8b1356f0c..cbf2216d263 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexerTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexerTest.java @@ -38,7 +38,7 @@ import org.sonar.server.es.EsTester; import static java.util.Arrays.asList; import static org.assertj.core.api.Assertions.assertThat; -import static org.sonar.server.issue.IssueTesting.newDoc; +import static org.sonar.server.issue.IssueDocTesting.newDoc; public class IssueIndexerTest { diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/ws/AddCommentActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/ws/AddCommentActionTest.java index ab6198e3452..c1130ab6667 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/issue/ws/AddCommentActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/issue/ws/AddCommentActionTest.java @@ -69,8 +69,8 @@ import static org.sonar.api.web.UserRole.USER; import static org.sonar.core.util.Protobuf.setNullable; import static org.sonar.db.component.ComponentTesting.newFileDto; import static org.sonar.db.issue.IssueChangeDto.TYPE_COMMENT; +import static org.sonar.db.issue.IssueTesting.newDto; import static org.sonar.db.rule.RuleTesting.newRuleDto; -import static org.sonar.server.issue.IssueTesting.newDto; public class AddCommentActionTest { diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/ws/ChangelogActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/ws/ChangelogActionTest.java index 48ac61d3986..b394f71e8d8 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/issue/ws/ChangelogActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/issue/ws/ChangelogActionTest.java @@ -51,9 +51,9 @@ import static org.sonar.api.web.UserRole.CODEVIEWER; import static org.sonar.api.web.UserRole.USER; import static org.sonar.core.util.Protobuf.setNullable; import static org.sonar.db.component.ComponentTesting.newFileDto; +import static org.sonar.db.issue.IssueTesting.newDto; import static org.sonar.db.rule.RuleTesting.newRuleDto; import static org.sonar.db.user.UserTesting.newUserDto; -import static org.sonar.server.issue.IssueTesting.newDto; import static org.sonar.test.JsonAssert.assertJson; public class ChangelogActionTest { diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/ws/DoTransitionActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/ws/DoTransitionActionTest.java index 2b5759badf1..d5a971b1706 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/issue/ws/DoTransitionActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/issue/ws/DoTransitionActionTest.java @@ -67,8 +67,8 @@ import static org.sonar.api.issue.Issue.STATUS_OPEN; import static org.sonar.api.web.UserRole.CODEVIEWER; import static org.sonar.api.web.UserRole.USER; import static org.sonar.db.component.ComponentTesting.newFileDto; +import static org.sonar.db.issue.IssueTesting.newDto; import static org.sonar.db.rule.RuleTesting.newRuleDto; -import static org.sonar.server.issue.IssueTesting.newDto; public class DoTransitionActionTest { diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/ws/SearchActionComponentsMediumTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/ws/SearchActionComponentsMediumTest.java index 7c68858e402..64cff1ae448 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/issue/ws/SearchActionComponentsMediumTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/issue/ws/SearchActionComponentsMediumTest.java @@ -37,10 +37,10 @@ import org.sonar.db.DbSession; import org.sonar.db.component.ComponentDto; import org.sonar.db.component.ComponentTesting; import org.sonar.db.issue.IssueDto; +import org.sonar.db.issue.IssueTesting; import org.sonar.db.rule.RuleDao; import org.sonar.db.rule.RuleDto; import org.sonar.db.rule.RuleTesting; -import org.sonar.server.issue.IssueTesting; import org.sonar.server.issue.index.IssueIndexer; import org.sonar.server.permission.GroupPermissionChange; import org.sonar.server.permission.PermissionChange; diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/ws/SearchActionMediumTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/ws/SearchActionMediumTest.java index 82386a7b7ae..dea887532cd 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/issue/ws/SearchActionMediumTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/issue/ws/SearchActionMediumTest.java @@ -39,12 +39,12 @@ import org.sonar.db.issue.IssueChangeDao; import org.sonar.db.issue.IssueChangeDto; import org.sonar.db.issue.IssueDao; import org.sonar.db.issue.IssueDto; +import org.sonar.db.issue.IssueTesting; import org.sonar.db.rule.RuleDao; import org.sonar.db.rule.RuleDto; import org.sonar.db.rule.RuleTesting; import org.sonar.db.user.UserDto; import org.sonar.server.issue.IssueQuery; -import org.sonar.server.issue.IssueTesting; import org.sonar.server.issue.index.IssueIndexer; import org.sonar.server.permission.GroupPermissionChange; import org.sonar.server.permission.PermissionChange; diff --git a/server/sonar-server/src/test/java/org/sonar/server/platform/BackendCleanupTest.java b/server/sonar-server/src/test/java/org/sonar/server/platform/BackendCleanupTest.java index de33e8a7aec..9bf31c4f3b7 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/platform/BackendCleanupTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/platform/BackendCleanupTest.java @@ -28,7 +28,7 @@ import org.sonar.db.rule.RuleTesting; import org.sonar.server.component.es.ProjectMeasuresDoc; import org.sonar.server.component.es.ProjectMeasuresIndexDefinition; import org.sonar.server.es.EsTester; -import org.sonar.server.issue.IssueTesting; +import org.sonar.server.issue.IssueDocTesting; import org.sonar.server.issue.index.IssueIndexDefinition; import org.sonar.server.rule.index.RuleDoc; import org.sonar.server.rule.index.RuleIndexDefinition; @@ -66,7 +66,7 @@ public class BackendCleanupTest { @Test public void clear_indexes() throws Exception { - esTester.putDocuments(IssueIndexDefinition.INDEX, IssueIndexDefinition.TYPE_ISSUE, IssueTesting.newDoc()); + esTester.putDocuments(IssueIndexDefinition.INDEX, IssueIndexDefinition.TYPE_ISSUE, IssueDocTesting.newDoc()); esTester.putDocuments(RuleIndexDefinition.INDEX, RuleIndexDefinition.TYPE_RULE, newRuleDoc()); backendCleanup.clearIndexes(); @@ -77,7 +77,7 @@ public class BackendCleanupTest { @Test public void clear_all() throws Exception { dbTester.prepareDbUnit(getClass(), "shared.xml"); - esTester.putDocuments(IssueIndexDefinition.INDEX, IssueIndexDefinition.TYPE_ISSUE, IssueTesting.newDoc()); + esTester.putDocuments(IssueIndexDefinition.INDEX, IssueIndexDefinition.TYPE_ISSUE, IssueDocTesting.newDoc()); esTester.putDocuments(RuleIndexDefinition.INDEX, RuleIndexDefinition.TYPE_RULE, newRuleDoc()); backendCleanup.clearAll(); @@ -94,7 +94,7 @@ public class BackendCleanupTest { @Test public void reset_data() throws Exception { dbTester.prepareDbUnit(getClass(), "shared.xml"); - esTester.putDocuments(IssueIndexDefinition.INDEX, IssueIndexDefinition.TYPE_ISSUE, IssueTesting.newDoc()); + esTester.putDocuments(IssueIndexDefinition.INDEX, IssueIndexDefinition.TYPE_ISSUE, IssueDocTesting.newDoc()); esTester.putDocuments(ViewIndexDefinition.INDEX, ViewIndexDefinition.TYPE_VIEW, new ViewDoc().setUuid("CDEF").setProjects(newArrayList("DEFG"))); esTester.putDocuments(RuleIndexDefinition.INDEX, RuleIndexDefinition.TYPE_RULE, newRuleDoc()); esTester.putDocuments(ProjectMeasuresIndexDefinition.INDEX_PROJECT_MEASURES, ProjectMeasuresIndexDefinition.TYPE_PROJECT_MEASURES, new ProjectMeasuresDoc() diff --git a/server/sonar-server/src/test/java/org/sonar/server/project/ws/BulkDeleteActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/project/ws/BulkDeleteActionTest.java index 16d1218414c..df9a4f1cb4f 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/project/ws/BulkDeleteActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/project/ws/BulkDeleteActionTest.java @@ -40,6 +40,7 @@ import org.sonar.db.component.ComponentTesting; import org.sonar.db.component.SnapshotDto; import org.sonar.db.component.SnapshotTesting; import org.sonar.db.issue.IssueDto; +import org.sonar.db.issue.IssueTesting; import org.sonar.db.rule.RuleDto; import org.sonar.db.rule.RuleTesting; import org.sonar.server.component.ComponentCleanerService; @@ -47,7 +48,7 @@ import org.sonar.server.component.ComponentFinder; import org.sonar.server.component.es.ProjectMeasuresIndexer; import org.sonar.server.es.EsTester; import org.sonar.server.exceptions.ForbiddenException; -import org.sonar.server.issue.IssueTesting; +import org.sonar.server.issue.IssueDocTesting; import org.sonar.server.issue.index.IssueAuthorizationDoc; import org.sonar.server.issue.index.IssueIndexDefinition; import org.sonar.server.issue.index.IssueIndexer; @@ -223,7 +224,7 @@ public class BulkDeleteActionTest { dbClient.componentDao().insert(dbSession, project); dbSession.commit(); - es.putDocuments(IssueIndexDefinition.INDEX, TYPE_ISSUE, IssueTesting.newDoc("issue-key-" + suffix, project)); + es.putDocuments(IssueIndexDefinition.INDEX, TYPE_ISSUE, IssueDocTesting.newDoc("issue-key-" + suffix, project)); es.putDocuments(IssueIndexDefinition.INDEX, TYPE_AUTHORIZATION, new IssueAuthorizationDoc().setProjectUuid(project.uuid())); TestDoc testDoc = new TestDoc().setUuid("test-uuid-" + suffix).setProjectUuid(project.uuid()).setFileUuid(project.uuid()); diff --git a/server/sonar-server/src/test/java/org/sonar/server/project/ws/DeleteActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/project/ws/DeleteActionTest.java index dc3d17de695..ccbfa80a26d 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/project/ws/DeleteActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/project/ws/DeleteActionTest.java @@ -38,6 +38,7 @@ import org.sonar.db.component.ComponentTesting; import org.sonar.db.component.SnapshotDto; import org.sonar.db.component.SnapshotTesting; import org.sonar.db.issue.IssueDto; +import org.sonar.db.issue.IssueTesting; import org.sonar.db.rule.RuleDto; import org.sonar.db.rule.RuleTesting; import org.sonar.server.component.ComponentCleanerService; @@ -45,7 +46,7 @@ import org.sonar.server.component.ComponentFinder; import org.sonar.server.component.es.ProjectMeasuresIndexer; import org.sonar.server.es.EsTester; import org.sonar.server.exceptions.ForbiddenException; -import org.sonar.server.issue.IssueTesting; +import org.sonar.server.issue.IssueDocTesting; import org.sonar.server.issue.index.IssueAuthorizationDoc; import org.sonar.server.issue.index.IssueIndexDefinition; import org.sonar.server.issue.index.IssueIndexer; @@ -238,7 +239,7 @@ public class DeleteActionTest { dbClient.componentDao().insert(dbSession, project); dbSession.commit(); - es.putDocuments(IssueIndexDefinition.INDEX, IssueIndexDefinition.TYPE_ISSUE, IssueTesting.newDoc("issue-key-" + suffix, project)); + es.putDocuments(IssueIndexDefinition.INDEX, IssueIndexDefinition.TYPE_ISSUE, IssueDocTesting.newDoc("issue-key-" + suffix, project)); es.putDocuments(IssueIndexDefinition.INDEX, IssueIndexDefinition.TYPE_AUTHORIZATION, new IssueAuthorizationDoc().setProjectUuid(project.uuid())); TestDoc testDoc = new TestDoc().setUuid("test-uuid-" + suffix).setProjectUuid(project.uuid()).setFileUuid(project.uuid()); diff --git a/server/sonar-server/src/test/java/org/sonar/server/view/index/ViewIndexerTest.java b/server/sonar-server/src/test/java/org/sonar/server/view/index/ViewIndexerTest.java index 0124acb3b7c..a10308a06e0 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/view/index/ViewIndexerTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/view/index/ViewIndexerTest.java @@ -33,13 +33,13 @@ import org.sonar.db.DbTester; import org.sonar.db.component.ComponentDto; import org.sonar.db.component.ComponentTesting; import org.sonar.db.issue.IssueDto; +import org.sonar.db.issue.IssueTesting; import org.sonar.db.rule.RuleDto; import org.sonar.db.rule.RuleTesting; import org.sonar.server.es.EsTester; import org.sonar.server.es.SearchOptions; import org.sonar.server.es.SearchResult; import org.sonar.server.issue.IssueQuery; -import org.sonar.server.issue.IssueTesting; import org.sonar.server.issue.index.IssueDoc; import org.sonar.server.issue.index.IssueIndex; import org.sonar.server.issue.index.IssueIndexDefinition; diff --git a/sonar-db/src/main/java/org/sonar/db/issue/IssueTesting.java b/sonar-db/src/main/java/org/sonar/db/issue/IssueTesting.java new file mode 100644 index 00000000000..c5106090393 --- /dev/null +++ b/sonar-db/src/main/java/org/sonar/db/issue/IssueTesting.java @@ -0,0 +1,61 @@ +/* + * SonarQube + * Copyright (C) 2009-2016 SonarSource SA + * mailto:contact AT sonarsource DOT com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ +package org.sonar.db.issue; + +import org.sonar.api.issue.Issue; +import org.sonar.api.rule.Severity; +import org.sonar.api.rules.RuleType; +import org.sonar.api.utils.DateUtils; +import org.sonar.core.util.Uuids; +import org.sonar.db.component.ComponentDto; +import org.sonar.db.rule.RuleDto; + +public class IssueTesting { + + private IssueTesting() { + + } + + /** + * Full IssueDto used to feed database with fake data. Tests must not rely on the + * field contents declared here. They should override the fields they need to test, + * for example: + * <pre> + * issueDao.insert(dbSession, IssueTesting.newDto(rule, file, project).setStatus(Issue.STATUS_RESOLVED).setResolution(Issue.RESOLUTION_FALSE_POSITIVE)); + * </pre> + */ + public static IssueDto newDto(RuleDto rule, ComponentDto file, ComponentDto project) { + return new IssueDto() + .setKee(Uuids.create()) + .setRule(rule) + .setType(RuleType.CODE_SMELL) + .setComponent(file) + .setProject(project) + .setStatus(Issue.STATUS_OPEN) + .setResolution(null) + .setSeverity(Severity.MAJOR) + .setEffort(10L) + .setIssueCreationDate(DateUtils.parseDate("2014-09-04")) + .setIssueUpdateDate(DateUtils.parseDate("2014-12-04")) + .setCreatedAt(1_400_000_000_000L) + .setUpdatedAt(1_400_000_000_000L); + } + +} |