From 972fbd3a52d9dc3b267d24667c901cc8a461a678 Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Thu, 20 Oct 2016 12:45:06 +0200 Subject: [PATCH] SONAR-8227 Rename AuthorizationIndexer to PermissionIndexer --- .../container/ComputeEngineContainerImpl.java | 6 +- .../component/ComponentCleanerService.java | 8 +-- .../es/ProjectMeasuresAuthorizationDoc.java | 56 ------------------- .../step/ApplyPermissionsStep.java | 8 +-- .../sonar/server/es/IndexerStartupTask.java | 16 +++--- .../server/permission/PermissionService.java | 12 ++-- .../server/permission/PermissionUpdater.java | 10 ++-- ...ionIndexer.java => PermissionIndexer.java} | 22 ++++---- ...tionDao.java => PermissionIndexerDao.java} | 2 +- .../platformlevel/PlatformLevel4.java | 6 +- .../sonar/server/batch/IssuesActionTest.java | 6 +- .../ComponentCleanerServiceTest.java | 8 +-- .../es/ProjectMeasuresIndexTest.java | 6 +- .../es/ProjectMeasuresIndexerTest.java | 12 ++-- .../ws/SearchProjectsActionTest.java | 6 +- .../step/ApplyPermissionsStepTest.java | 10 ++-- .../issue/index/IssueIndexDebtTest.java | 6 +- .../server/issue/index/IssueIndexTest.java | 6 +- ...est.java => PermissionIndexerDaoTest.java} | 32 +++++------ ...erTest.java => PermissionIndexerTest.java} | 23 ++++---- ...ster.java => PermissionIndexerTester.java} | 30 +++++----- .../permission/ws/BasePermissionWsTest.java | 4 +- .../ws/template/ApplyTemplateActionTest.java | 12 ++-- .../template/BulkApplyTemplateActionTest.java | 6 +- .../project/ws/BulkDeleteActionTest.java | 6 +- .../server/project/ws/DeleteActionTest.java | 6 +- .../server/view/index/ViewIndexerTest.java | 8 +-- 27 files changed, 139 insertions(+), 194 deletions(-) delete mode 100644 server/sonar-server/src/main/java/org/sonar/server/component/es/ProjectMeasuresAuthorizationDoc.java rename server/sonar-server/src/main/java/org/sonar/server/permission/index/{AuthorizationIndexer.java => PermissionIndexer.java} (91%) rename server/sonar-server/src/main/java/org/sonar/server/permission/index/{AuthorizationDao.java => PermissionIndexerDao.java} (99%) rename server/sonar-server/src/test/java/org/sonar/server/permission/index/{AuthorizationDaoTest.java => PermissionIndexerDaoTest.java} (80%) rename server/sonar-server/src/test/java/org/sonar/server/permission/index/{AuthorizationIndexerTest.java => PermissionIndexerTest.java} (84%) rename server/sonar-server/src/test/java/org/sonar/server/permission/index/{AuthorizationIndexerTester.java => PermissionIndexerTester.java} (73%) diff --git a/server/sonar-ce/src/main/java/org/sonar/ce/container/ComputeEngineContainerImpl.java b/server/sonar-ce/src/main/java/org/sonar/ce/container/ComputeEngineContainerImpl.java index 32dc0e95471..547008af676 100644 --- a/server/sonar-ce/src/main/java/org/sonar/ce/container/ComputeEngineContainerImpl.java +++ b/server/sonar-ce/src/main/java/org/sonar/ce/container/ComputeEngineContainerImpl.java @@ -68,6 +68,7 @@ import org.sonar.process.Props; import org.sonar.server.component.ComponentCleanerService; import org.sonar.server.component.ComponentFinder; import org.sonar.server.component.ComponentService; +import org.sonar.server.component.es.ProjectMeasuresIndexer; import org.sonar.server.computation.queue.PurgeCeActivities; import org.sonar.server.computation.task.projectanalysis.ProjectAnalysisTaskModule; import org.sonar.server.computation.taskprocessor.CeTaskProcessorModule; @@ -99,7 +100,7 @@ import org.sonar.server.permission.GroupPermissionChanger; import org.sonar.server.permission.PermissionService; import org.sonar.server.permission.PermissionUpdater; import org.sonar.server.permission.UserPermissionChanger; -import org.sonar.server.permission.index.AuthorizationIndexer; +import org.sonar.server.permission.index.PermissionIndexer; import org.sonar.server.platform.DatabaseServerCompatibility; import org.sonar.server.platform.DefaultServerUpgradeStatus; import org.sonar.server.platform.ServerFileSystemImpl; @@ -116,7 +117,6 @@ import org.sonar.server.plugins.InstalledPluginReferentialFactory; import org.sonar.server.plugins.ServerExtensionInstaller; import org.sonar.server.plugins.privileged.PrivilegedPluginsBootstraper; import org.sonar.server.plugins.privileged.PrivilegedPluginsStopper; -import org.sonar.server.component.es.ProjectMeasuresIndexer; import org.sonar.server.property.InternalPropertiesImpl; import org.sonar.server.qualityprofile.QProfileLookup; import org.sonar.server.qualityprofile.QProfileProjectOperations; @@ -340,7 +340,7 @@ public class ComputeEngineContainerImpl implements ComputeEngineContainer { // issues IssueIndexer.class, - AuthorizationIndexer.class, + PermissionIndexer.class, IssueUpdater.class, // used in Web Services and CE's DebtCalculator FunctionExecutor.class, // used by IssueWorkflow IssueWorkflow.class, // used in Web Services and CE's DebtCalculator diff --git a/server/sonar-server/src/main/java/org/sonar/server/component/ComponentCleanerService.java b/server/sonar-server/src/main/java/org/sonar/server/component/ComponentCleanerService.java index 375b6743727..92e3c0a46e8 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/component/ComponentCleanerService.java +++ b/server/sonar-server/src/main/java/org/sonar/server/component/ComponentCleanerService.java @@ -31,7 +31,7 @@ import org.sonar.db.MyBatis; import org.sonar.db.component.ComponentDto; import org.sonar.server.component.es.ProjectMeasuresIndexer; import org.sonar.server.issue.index.IssueIndexer; -import org.sonar.server.permission.index.AuthorizationIndexer; +import org.sonar.server.permission.index.PermissionIndexer; import org.sonar.server.test.index.TestIndexer; @ServerSide @@ -39,17 +39,17 @@ import org.sonar.server.test.index.TestIndexer; public class ComponentCleanerService { private final DbClient dbClient; - private final AuthorizationIndexer authorizationIndexer; + private final PermissionIndexer permissionIndexer; private final IssueIndexer issueIndexer; private final TestIndexer testIndexer; private final ProjectMeasuresIndexer projectMeasuresIndexer; private final ResourceTypes resourceTypes; private final ComponentFinder componentFinder; - public ComponentCleanerService(DbClient dbClient, AuthorizationIndexer authorizationIndexer, IssueIndexer issueIndexer, + public ComponentCleanerService(DbClient dbClient, PermissionIndexer permissionIndexer, IssueIndexer issueIndexer, TestIndexer testIndexer, ProjectMeasuresIndexer projectMeasuresIndexer, ResourceTypes resourceTypes, ComponentFinder componentFinder) { this.dbClient = dbClient; - this.authorizationIndexer = authorizationIndexer; + this.permissionIndexer = permissionIndexer; this.issueIndexer = issueIndexer; this.testIndexer = testIndexer; this.projectMeasuresIndexer = projectMeasuresIndexer; diff --git a/server/sonar-server/src/main/java/org/sonar/server/component/es/ProjectMeasuresAuthorizationDoc.java b/server/sonar-server/src/main/java/org/sonar/server/component/es/ProjectMeasuresAuthorizationDoc.java deleted file mode 100644 index 85950f36fa4..00000000000 --- a/server/sonar-server/src/main/java/org/sonar/server/component/es/ProjectMeasuresAuthorizationDoc.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * 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.server.component.es; - -import com.google.common.collect.Maps; -import org.sonar.server.es.BaseDoc; - -import static org.sonar.server.component.es.ProjectMeasuresIndexDefinition.FIELD_AUTHORIZATION_PROJECT_UUID; - -public class ProjectMeasuresAuthorizationDoc extends BaseDoc { - - public ProjectMeasuresAuthorizationDoc() { - super(Maps.newHashMap()); - } - - @Override - public String getId() { - return projectUuid(); - } - - @Override - public String getRouting() { - return projectUuid(); - } - - @Override - public String getParent() { - return null; - } - - public String projectUuid() { - return getField(FIELD_AUTHORIZATION_PROJECT_UUID); - } - - public ProjectMeasuresAuthorizationDoc setProjectUuid(String s) { - setField(FIELD_AUTHORIZATION_PROJECT_UUID, s); - return this; - } -} diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/step/ApplyPermissionsStep.java b/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/step/ApplyPermissionsStep.java index b46059d147f..29c79d11686 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/step/ApplyPermissionsStep.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/step/ApplyPermissionsStep.java @@ -29,7 +29,7 @@ import org.sonar.server.computation.task.projectanalysis.component.DepthTraversa import org.sonar.server.computation.task.projectanalysis.component.TreeRootHolder; import org.sonar.server.computation.task.projectanalysis.component.TypeAwareVisitorAdapter; import org.sonar.server.computation.task.step.ComputationStep; -import org.sonar.server.permission.index.AuthorizationIndexer; +import org.sonar.server.permission.index.PermissionIndexer; import static org.sonar.server.computation.task.projectanalysis.component.Component.Type.PROJECT; import static org.sonar.server.computation.task.projectanalysis.component.Component.Type.VIEW; @@ -42,12 +42,12 @@ public class ApplyPermissionsStep implements ComputationStep { private final DbClient dbClient; private final DbIdsRepository dbIdsRepository; - private final AuthorizationIndexer indexer; + private final PermissionIndexer indexer; private final PermissionRepository permissionRepository; private final TreeRootHolder treeRootHolder; - public ApplyPermissionsStep(DbClient dbClient, DbIdsRepository dbIdsRepository, AuthorizationIndexer indexer, PermissionRepository permissionRepository, - TreeRootHolder treeRootHolder) { + public ApplyPermissionsStep(DbClient dbClient, DbIdsRepository dbIdsRepository, PermissionIndexer indexer, PermissionRepository permissionRepository, + TreeRootHolder treeRootHolder) { this.dbClient = dbClient; this.dbIdsRepository = dbIdsRepository; this.indexer = indexer; diff --git a/server/sonar-server/src/main/java/org/sonar/server/es/IndexerStartupTask.java b/server/sonar-server/src/main/java/org/sonar/server/es/IndexerStartupTask.java index f73bfeaac9d..8887ebe001f 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/es/IndexerStartupTask.java +++ b/server/sonar-server/src/main/java/org/sonar/server/es/IndexerStartupTask.java @@ -24,7 +24,7 @@ import org.sonar.api.utils.log.Logger; import org.sonar.api.utils.log.Loggers; import org.sonar.server.component.es.ProjectMeasuresIndexer; import org.sonar.server.issue.index.IssueIndexer; -import org.sonar.server.permission.index.AuthorizationIndexer; +import org.sonar.server.permission.index.PermissionIndexer; import org.sonar.server.test.index.TestIndexer; import org.sonar.server.user.index.UserIndexer; import org.sonar.server.view.index.ViewIndexer; @@ -34,7 +34,7 @@ public class IndexerStartupTask { private static final Logger LOG = Loggers.get(IndexerStartupTask.class); private final TestIndexer testIndexer; - private final AuthorizationIndexer authorizationIndexer; + private final PermissionIndexer permissionIndexer; private final IssueIndexer issueIndexer; private final UserIndexer userIndexer; private final ViewIndexer viewIndexer; @@ -43,14 +43,14 @@ public class IndexerStartupTask { /** * Limitation - {@link org.sonar.server.es.BaseIndexer} are not injected through an array or a collection - * because we need {@link AuthorizationIndexer} to be executed before + * because we need {@link PermissionIndexer} to be executed before * {@link org.sonar.server.issue.index.IssueIndexer} */ - public IndexerStartupTask(TestIndexer testIndexer, AuthorizationIndexer authorizationIndexer, IssueIndexer issueIndexer, - UserIndexer userIndexer, ViewIndexer viewIndexer, ProjectMeasuresIndexer projectMeasuresIndexer, - Settings settings) { + public IndexerStartupTask(TestIndexer testIndexer, PermissionIndexer permissionIndexer, IssueIndexer issueIndexer, + UserIndexer userIndexer, ViewIndexer viewIndexer, ProjectMeasuresIndexer projectMeasuresIndexer, + Settings settings) { this.testIndexer = testIndexer; - this.authorizationIndexer = authorizationIndexer; + this.permissionIndexer = permissionIndexer; this.issueIndexer = issueIndexer; this.userIndexer = userIndexer; this.viewIndexer = viewIndexer; @@ -62,7 +62,7 @@ public class IndexerStartupTask { if (!settings.getBoolean("sonar.internal.es.disableIndexes")) { LOG.info("Index authorization"); - authorizationIndexer.indexAllIfEmpty(); + permissionIndexer.indexAllIfEmpty(); LOG.info("Index issues"); issueIndexer.index(); diff --git a/server/sonar-server/src/main/java/org/sonar/server/permission/PermissionService.java b/server/sonar-server/src/main/java/org/sonar/server/permission/PermissionService.java index 9f3c15d95ae..4d5705822cd 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/permission/PermissionService.java +++ b/server/sonar-server/src/main/java/org/sonar/server/permission/PermissionService.java @@ -34,7 +34,7 @@ import org.sonar.db.component.ResourceDto; import org.sonar.db.permission.PermissionRepository; import org.sonar.db.permission.template.PermissionTemplateDto; import org.sonar.server.component.ComponentFinder; -import org.sonar.server.permission.index.AuthorizationIndexer; +import org.sonar.server.permission.index.PermissionIndexer; import org.sonar.server.user.UserSession; import static java.util.Arrays.asList; @@ -45,15 +45,15 @@ public class PermissionService { private final DbClient dbClient; private final PermissionRepository permissionRepository; - private final AuthorizationIndexer authorizationIndexer; + private final PermissionIndexer permissionIndexer; private final UserSession userSession; private final ComponentFinder componentFinder; - public PermissionService(DbClient dbClient, PermissionRepository permissionRepository, AuthorizationIndexer authorizationIndexer, UserSession userSession, - ComponentFinder componentFinder) { + public PermissionService(DbClient dbClient, PermissionRepository permissionRepository, PermissionIndexer permissionIndexer, UserSession userSession, + ComponentFinder componentFinder) { this.dbClient = dbClient; this.permissionRepository = permissionRepository; - this.authorizationIndexer = authorizationIndexer; + this.permissionIndexer = permissionIndexer; this.userSession = userSession; this.componentFinder = componentFinder; } @@ -114,6 +114,6 @@ public class PermissionService { } private void indexProjectPermissions(DbSession dbSession, List projectUuids) { - authorizationIndexer.index(dbSession, projectUuids); + permissionIndexer.index(dbSession, projectUuids); } } diff --git a/server/sonar-server/src/main/java/org/sonar/server/permission/PermissionUpdater.java b/server/sonar-server/src/main/java/org/sonar/server/permission/PermissionUpdater.java index 07f5813776b..4d90f6c09db 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/permission/PermissionUpdater.java +++ b/server/sonar-server/src/main/java/org/sonar/server/permission/PermissionUpdater.java @@ -27,7 +27,7 @@ import java.util.Optional; import java.util.Set; import org.sonar.db.DbClient; import org.sonar.db.DbSession; -import org.sonar.server.permission.index.AuthorizationIndexer; +import org.sonar.server.permission.index.PermissionIndexer; /** * Add or remove global/project permissions to a group. This class @@ -37,14 +37,14 @@ import org.sonar.server.permission.index.AuthorizationIndexer; public class PermissionUpdater { private final DbClient dbClient; - private final AuthorizationIndexer authorizationIndexer; + private final PermissionIndexer permissionIndexer; private final UserPermissionChanger userPermissionChanger; private final GroupPermissionChanger groupPermissionChanger; - public PermissionUpdater(DbClient dbClient, AuthorizationIndexer authorizationIndexer, + public PermissionUpdater(DbClient dbClient, PermissionIndexer permissionIndexer, UserPermissionChanger userPermissionChanger, GroupPermissionChanger groupPermissionChanger) { this.dbClient = dbClient; - this.authorizationIndexer = authorizationIndexer; + this.permissionIndexer = permissionIndexer; this.userPermissionChanger = userPermissionChanger; this.groupPermissionChanger = groupPermissionChanger; } @@ -66,7 +66,7 @@ public class PermissionUpdater { dbSession.commit(); if (!projectIds.isEmpty()) { - authorizationIndexer.index(dbSession, projectUuids); + permissionIndexer.index(dbSession, projectUuids); } } diff --git a/server/sonar-server/src/main/java/org/sonar/server/permission/index/AuthorizationIndexer.java b/server/sonar-server/src/main/java/org/sonar/server/permission/index/PermissionIndexer.java similarity index 91% rename from server/sonar-server/src/main/java/org/sonar/server/permission/index/AuthorizationIndexer.java rename to server/sonar-server/src/main/java/org/sonar/server/permission/index/PermissionIndexer.java index 502b254acd4..b42a43f8010 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/permission/index/AuthorizationIndexer.java +++ b/server/sonar-server/src/main/java/org/sonar/server/permission/index/PermissionIndexer.java @@ -55,7 +55,7 @@ import static org.elasticsearch.index.query.QueryBuilders.matchAllQuery; *
  • delete project orphans from index
  • * */ -public class AuthorizationIndexer implements Startable { +public class PermissionIndexer implements Startable { private static final int MAX_BATCH_SIZE = 1000; @@ -65,7 +65,7 @@ public class AuthorizationIndexer implements Startable { private final DbClient dbClient; private final EsClient esClient; - public AuthorizationIndexer(DbClient dbClient, EsClient esClient) { + public PermissionIndexer(DbClient dbClient, EsClient esClient) { this.executor = new ThreadPoolExecutor(0, 1, 0L, TimeUnit.SECONDS, new LinkedBlockingQueue<>()); this.dbClient = dbClient; this.esClient = esClient; @@ -81,7 +81,7 @@ public class AuthorizationIndexer implements Startable { truncate(IssueIndexDefinition.INDEX, IssueIndexDefinition.TYPE_AUTHORIZATION); truncate(ProjectMeasuresIndexDefinition.TYPE_PROJECT_MEASURES, ProjectMeasuresIndexDefinition.TYPE_AUTHORIZATION); try (DbSession dbSession = dbClient.openSession(false)) { - index(new AuthorizationDao().selectAll(dbClient, dbSession)); + index(new PermissionIndexerDao().selectAll(dbClient, dbSession)); } } }); @@ -103,17 +103,17 @@ public class AuthorizationIndexer implements Startable { public void index(DbSession dbSession, List projectUuids) { checkArgument(!projectUuids.isEmpty(), "ProjectUuids cannot be empty"); - AuthorizationDao dao = new AuthorizationDao(); + PermissionIndexerDao dao = new PermissionIndexerDao(); index(dao.selectByProjects(dbClient, dbSession, projectUuids)); } - private void index(Collection authorizations) { + private void index(Collection authorizations) { if (authorizations.isEmpty()) { return; } int count = 0; BulkRequestBuilder bulkRequest = esClient.prepareBulk().setRefresh(false); - for (AuthorizationDao.Dto dto : authorizations) { + for (PermissionIndexerDao.Dto dto : authorizations) { bulkRequest.add(newIssuesAuthorizationIndexRequest(dto)); bulkRequest.add(newProjectMeasuresAuthorizationIndexRequest(dto)); count++; @@ -129,15 +129,15 @@ public class AuthorizationIndexer implements Startable { } public void index(DbSession dbSession, String projectUuid) { - AuthorizationDao dao = new AuthorizationDao(); - List dtos = dao.selectByProjects(dbClient, dbSession, singletonList(projectUuid)); + PermissionIndexerDao dao = new PermissionIndexerDao(); + List dtos = dao.selectByProjects(dbClient, dbSession, singletonList(projectUuid)); if (dtos.size() == 1) { index(dtos.get(0)); } } @VisibleForTesting - void index(AuthorizationDao.Dto dto) { + void index(PermissionIndexerDao.Dto dto) { index(IssueIndexDefinition.INDEX, IssueIndexDefinition.TYPE_AUTHORIZATION, newIssuesAuthorizationIndexRequest(dto)); index(ProjectMeasuresIndexDefinition.INDEX_PROJECT_MEASURES, ProjectMeasuresIndexDefinition.TYPE_AUTHORIZATION, newProjectMeasuresAuthorizationIndexRequest(dto)); } @@ -151,7 +151,7 @@ public class AuthorizationIndexer implements Startable { .get(); } - private static IndexRequest newIssuesAuthorizationIndexRequest(AuthorizationDao.Dto dto) { + private static IndexRequest newIssuesAuthorizationIndexRequest(PermissionIndexerDao.Dto dto) { Map doc = ImmutableMap.of( IssueIndexDefinition.FIELD_AUTHORIZATION_PROJECT_UUID, dto.getProjectUuid(), IssueIndexDefinition.FIELD_AUTHORIZATION_GROUPS, dto.getGroups(), @@ -162,7 +162,7 @@ public class AuthorizationIndexer implements Startable { .source(doc); } - private static IndexRequest newProjectMeasuresAuthorizationIndexRequest(AuthorizationDao.Dto dto) { + private static IndexRequest newProjectMeasuresAuthorizationIndexRequest(PermissionIndexerDao.Dto dto) { Map doc = ImmutableMap.of( ProjectMeasuresIndexDefinition.FIELD_AUTHORIZATION_PROJECT_UUID, dto.getProjectUuid(), ProjectMeasuresIndexDefinition.FIELD_AUTHORIZATION_GROUPS, dto.getGroups(), diff --git a/server/sonar-server/src/main/java/org/sonar/server/permission/index/AuthorizationDao.java b/server/sonar-server/src/main/java/org/sonar/server/permission/index/PermissionIndexerDao.java similarity index 99% rename from server/sonar-server/src/main/java/org/sonar/server/permission/index/AuthorizationDao.java rename to server/sonar-server/src/main/java/org/sonar/server/permission/index/PermissionIndexerDao.java index b95f9251b8d..292acfd1897 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/permission/index/AuthorizationDao.java +++ b/server/sonar-server/src/main/java/org/sonar/server/permission/index/PermissionIndexerDao.java @@ -39,7 +39,7 @@ import static org.sonar.db.DatabaseUtils.repeatCondition; /** * No streaming because of union of joins -> no need to use ResultSetIterator */ -public class AuthorizationDao { +public class PermissionIndexerDao { public static final class Dto { private final String projectUuid; diff --git a/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel4.java b/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel4.java index 1e25081156a..7ce7034056e 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel4.java +++ b/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel4.java @@ -42,6 +42,7 @@ import org.sonar.server.component.ComponentFinder; import org.sonar.server.component.ComponentService; import org.sonar.server.component.DefaultComponentFinder; import org.sonar.server.component.DefaultRubyComponentService; +import org.sonar.server.component.es.ProjectsEsModule; import org.sonar.server.component.ws.ComponentsWsModule; import org.sonar.server.config.ws.PropertiesWs; import org.sonar.server.dashboard.template.GlobalDefaultDashboard; @@ -139,7 +140,7 @@ import org.sonar.server.permission.GroupPermissionChanger; import org.sonar.server.permission.PermissionService; import org.sonar.server.permission.PermissionUpdater; import org.sonar.server.permission.UserPermissionChanger; -import org.sonar.server.permission.index.AuthorizationIndexer; +import org.sonar.server.permission.index.PermissionIndexer; import org.sonar.server.permission.ws.PermissionsWsModule; import org.sonar.server.platform.BackendCleanup; import org.sonar.server.platform.PersistentSettings; @@ -177,7 +178,6 @@ import org.sonar.server.plugins.ws.PluginWSCommons; import org.sonar.server.plugins.ws.PluginsWs; import org.sonar.server.plugins.ws.UninstallAction; import org.sonar.server.plugins.ws.UpdatesAction; -import org.sonar.server.component.es.ProjectsEsModule; import org.sonar.server.project.ws.ProjectsWsModule; import org.sonar.server.projectlink.ws.ProjectLinksModule; import org.sonar.server.property.InternalPropertiesImpl; @@ -457,7 +457,7 @@ public class PlatformLevel4 extends PlatformLevel { // issues IssueIndexDefinition.class, IssueIndexer.class, - AuthorizationIndexer.class, + PermissionIndexer.class, ServerIssueStorage.class, IssueUpdater.class, FunctionExecutor.class, 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 ffacf68f848..9e0ef04b242 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 @@ -43,7 +43,7 @@ import org.sonar.server.issue.index.IssueDoc; import org.sonar.server.issue.index.IssueIndex; import org.sonar.server.issue.index.IssueIndexDefinition; import org.sonar.server.issue.index.IssueIndexer; -import org.sonar.server.permission.index.AuthorizationIndexerTester; +import org.sonar.server.permission.index.PermissionIndexerTester; import org.sonar.server.platform.ServerFileSystem; import org.sonar.server.tester.UserSessionRule; import org.sonar.server.ws.WsTester; @@ -77,7 +77,7 @@ public class IssuesActionTest { private IssueIndex issueIndex; private IssueIndexer issueIndexer; - private AuthorizationIndexerTester authorizationIndexerTester = new AuthorizationIndexerTester(es); + private PermissionIndexerTester authorizationIndexerTester = new PermissionIndexerTester(es); private ServerFileSystem fs = mock(ServerFileSystem.class); WsTester tester; @@ -327,7 +327,7 @@ public class IssuesActionTest { } private void addIssueAuthorization(String projectUuid, @Nullable String group, @Nullable Long user) { - authorizationIndexerTester.insertProjectAuthorization(projectUuid, singletonList(group), singletonList(user)); + authorizationIndexerTester.indexProjectPermission(projectUuid, singletonList(group), singletonList(user)); } private void addBrowsePermissionOnComponent(String componentKey) { 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 e2e0b138b51..abdf7a01435 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 @@ -45,7 +45,7 @@ import org.sonar.server.exceptions.NotFoundException; import org.sonar.server.issue.IssueTesting; import org.sonar.server.issue.index.IssueIndexDefinition; import org.sonar.server.issue.index.IssueIndexer; -import org.sonar.server.permission.index.AuthorizationIndexer; +import org.sonar.server.permission.index.PermissionIndexer; import org.sonar.server.test.index.TestDoc; import org.sonar.server.test.index.TestIndexDefinition; import org.sonar.server.test.index.TestIndexer; @@ -76,7 +76,7 @@ public class ComponentCleanerServiceTest { DbClient dbClient = db.getDbClient(); DbSession dbSession = db.getSession(); - AuthorizationIndexer authorizationIndexer = new AuthorizationIndexer(dbClient, es.client()); + PermissionIndexer permissionIndexer = new PermissionIndexer(dbClient, es.client()); IssueIndexer issueIndexer = new IssueIndexer(dbClient, es.client()); TestIndexer testIndexer = new TestIndexer(dbClient, es.client()); ProjectMeasuresIndexer projectMeasuresIndexer = new ProjectMeasuresIndexer(dbClient, es.client()); @@ -84,7 +84,7 @@ public class ComponentCleanerServiceTest { ResourceTypes mockResourceTypes = mock(ResourceTypes.class); ComponentCleanerService underTest = new ComponentCleanerService(dbClient, - authorizationIndexer, issueIndexer, testIndexer, projectMeasuresIndexer, + permissionIndexer, issueIndexer, testIndexer, projectMeasuresIndexer, mockResourceTypes, new ComponentFinder(dbClient)); @@ -225,7 +225,7 @@ public class ComponentCleanerServiceTest { dbClient.componentDao().insert(dbSession, project); dbSession.commit(); projectMeasuresIndexer.index(); - authorizationIndexer.index(dbSession, project.uuid()); + permissionIndexer.index(dbSession, project.uuid()); String issueKey = "issue-key-" + suffix; es.putDocuments(IssueIndexDefinition.INDEX, TYPE_ISSUE, IssueTesting.newDoc(issueKey, project)); diff --git a/server/sonar-server/src/test/java/org/sonar/server/component/es/ProjectMeasuresIndexTest.java b/server/sonar-server/src/test/java/org/sonar/server/component/es/ProjectMeasuresIndexTest.java index 17fb2860a53..6ee2e8ebed3 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/component/es/ProjectMeasuresIndexTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/component/es/ProjectMeasuresIndexTest.java @@ -34,7 +34,7 @@ import org.sonar.server.component.es.ProjectMeasuresQuery.Operator; import org.sonar.server.es.EsTester; import org.sonar.server.es.SearchIdResult; import org.sonar.server.es.SearchOptions; -import org.sonar.server.permission.index.AuthorizationIndexerTester; +import org.sonar.server.permission.index.PermissionIndexerTester; import org.sonar.server.tester.UserSessionRule; import static com.google.common.collect.Lists.newArrayList; @@ -56,7 +56,7 @@ public class ProjectMeasuresIndexTest { @Rule public UserSessionRule userSession = UserSessionRule.standalone(); - private AuthorizationIndexerTester authorizationIndexerTester = new AuthorizationIndexerTester(es); + private PermissionIndexerTester authorizationIndexerTester = new PermissionIndexerTester(es); private ProjectMeasuresIndex underTest = new ProjectMeasuresIndex(es.client(), userSession); @@ -218,7 +218,7 @@ public class ProjectMeasuresIndexTest { try { es.putDocuments(INDEX_PROJECT_MEASURES, TYPE_PROJECT_MEASURES, docs); for (ProjectMeasuresDoc doc : docs) { - authorizationIndexerTester.insertProjectAuthorization(doc.getId(), + authorizationIndexerTester.indexProjectPermission(doc.getId(), authorizedGroup != null ? singletonList(authorizedGroup) : Collections.emptyList(), authorizeUser != null ? singletonList(authorizeUser) : Collections.emptyList()); } diff --git a/server/sonar-server/src/test/java/org/sonar/server/component/es/ProjectMeasuresIndexerTest.java b/server/sonar-server/src/test/java/org/sonar/server/component/es/ProjectMeasuresIndexerTest.java index aaf66fcc26c..0ee1c4935df 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/component/es/ProjectMeasuresIndexerTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/component/es/ProjectMeasuresIndexerTest.java @@ -31,7 +31,7 @@ import org.sonar.db.component.ComponentDbTester; import org.sonar.db.component.ComponentDto; import org.sonar.db.component.SnapshotDto; import org.sonar.server.es.EsTester; -import org.sonar.server.permission.index.AuthorizationIndexerTester; +import org.sonar.server.permission.index.PermissionIndexerTester; import static java.util.Collections.emptyList; import static org.assertj.core.api.Assertions.assertThat; @@ -52,7 +52,7 @@ public class ProjectMeasuresIndexerTest { public DbTester dbTester = DbTester.create(System2.INSTANCE); ComponentDbTester componentDbTester = new ComponentDbTester(dbTester); - AuthorizationIndexerTester authorizationIndexerTester = new AuthorizationIndexerTester(esTester); + PermissionIndexerTester authorizationIndexerTester = new PermissionIndexerTester(esTester); ProjectMeasuresIndexer underTest = new ProjectMeasuresIndexer(dbTester.getDbClient(), esTester.client()); @@ -129,9 +129,9 @@ public class ProjectMeasuresIndexerTest { ComponentDto project3 = newProjectDto(); componentDbTester.insertProjectAndSnapshot(project3); underTest.index(); - authorizationIndexerTester.insertProjectAuthorization(project1.uuid(), emptyList(), emptyList()); - authorizationIndexerTester.insertProjectAuthorization(project2.uuid(), emptyList(), emptyList()); - authorizationIndexerTester.insertProjectAuthorization(project3.uuid(), emptyList(), emptyList()); + authorizationIndexerTester.indexProjectPermission(project1.uuid(), emptyList(), emptyList()); + authorizationIndexerTester.indexProjectPermission(project2.uuid(), emptyList(), emptyList()); + authorizationIndexerTester.indexProjectPermission(project3.uuid(), emptyList(), emptyList()); underTest.deleteProject(project1.uuid()); @@ -144,7 +144,7 @@ public class ProjectMeasuresIndexerTest { ComponentDto project = newProjectDto(); componentDbTester.insertProjectAndSnapshot(project); underTest.index(); - authorizationIndexerTester.insertProjectAuthorization(project.uuid(), emptyList(), emptyList()); + authorizationIndexerTester.indexProjectPermission(project.uuid(), emptyList(), emptyList()); underTest.deleteProject("UNKNOWN"); diff --git a/server/sonar-server/src/test/java/org/sonar/server/component/ws/SearchProjectsActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/component/ws/SearchProjectsActionTest.java index d0930e213bc..2bfef03e97f 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/component/ws/SearchProjectsActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/component/ws/SearchProjectsActionTest.java @@ -46,7 +46,7 @@ import org.sonar.server.component.es.ProjectMeasuresDoc; import org.sonar.server.component.es.ProjectMeasuresIndex; import org.sonar.server.component.es.ProjectMeasuresIndexDefinition; import org.sonar.server.es.EsTester; -import org.sonar.server.permission.index.AuthorizationIndexerTester; +import org.sonar.server.permission.index.PermissionIndexerTester; import org.sonar.server.tester.UserSessionRule; import org.sonar.server.ws.KeyExamples; import org.sonar.server.ws.TestRequest; @@ -90,7 +90,7 @@ public class SearchProjectsActionTest { private DbClient dbClient = db.getDbClient(); private DbSession dbSession = db.getSession(); - private AuthorizationIndexerTester authorizationIndexerTester = new AuthorizationIndexerTester(es); + private PermissionIndexerTester authorizationIndexerTester = new PermissionIndexerTester(es); private WsActionTester ws = new WsActionTester( new SearchProjectsAction(dbClient, new ProjectMeasuresIndex(es.client(), userSession), new ProjectMeasuresQueryValidator(dbClient))); @@ -237,7 +237,7 @@ public class SearchProjectsActionTest { try { es.putDocuments(INDEX_PROJECT_MEASURES, TYPE_PROJECT_MEASURES, new ProjectMeasuresDoc().setId(project.uuid()).setKey(project.key()).setName(project.name()).setMeasures(measures)); - authorizationIndexerTester.insertProjectAuthorization(project.uuid(), singletonList(DefaultGroups.ANYONE), Collections.emptyList()); + authorizationIndexerTester.indexProjectPermission(project.uuid(), singletonList(DefaultGroups.ANYONE), Collections.emptyList()); } catch (Exception e) { Throwables.propagate(e); } diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/ApplyPermissionsStepTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/ApplyPermissionsStepTest.java index e78f57338dd..fd83a6f5682 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/ApplyPermissionsStepTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/ApplyPermissionsStepTest.java @@ -44,8 +44,8 @@ import org.sonar.server.computation.task.projectanalysis.component.ViewsComponen import org.sonar.server.computation.task.step.ComputationStep; import org.sonar.server.es.EsTester; import org.sonar.server.issue.index.IssueIndexDefinition; -import org.sonar.server.permission.index.AuthorizationIndexer; -import org.sonar.server.permission.index.AuthorizationIndexerTester; +import org.sonar.server.permission.index.PermissionIndexer; +import org.sonar.server.permission.index.PermissionIndexerTester; import static java.util.Collections.emptyList; import static java.util.Collections.singletonList; @@ -73,7 +73,7 @@ public class ApplyPermissionsStepTest extends BaseStepTest { @Rule public MutableDbIdsRepositoryRule dbIdsRepository = MutableDbIdsRepositoryRule.create(treeRootHolder); - private AuthorizationIndexerTester authorizationIndexerTester = new AuthorizationIndexerTester(esTester); + private PermissionIndexerTester authorizationIndexerTester = new PermissionIndexerTester(esTester); private DbSession dbSession; private DbClient dbClient = dbTester.getDbClient(); @@ -83,7 +83,7 @@ public class ApplyPermissionsStepTest extends BaseStepTest { @Before public void setUp() { dbSession = dbClient.openSession(false); - step = new ApplyPermissionsStep(dbClient, dbIdsRepository, new AuthorizationIndexer(dbClient, esTester.client()), new PermissionRepository(dbClient, settings), treeRootHolder); + step = new ApplyPermissionsStep(dbClient, dbIdsRepository, new PermissionIndexer(dbClient, esTester.client()), new PermissionRepository(dbClient, settings), treeRootHolder); } @After @@ -108,7 +108,7 @@ public class ApplyPermissionsStepTest extends BaseStepTest { assertThat(dbClient.componentDao().selectOrFailByKey(dbSession, ROOT_KEY).getAuthorizationUpdatedAt()).isNotNull(); assertThat(dbClient.roleDao().selectGroupPermissions(dbSession, DefaultGroups.ANYONE, projectDto.getId())).containsOnly(UserRole.USER); - authorizationIndexerTester.verifyProjectExistsWithAuthorization(ROOT_UUID, singletonList(DefaultGroups.ANYONE), emptyList()); + authorizationIndexerTester.verifyProjectExistsWithPermission(ROOT_UUID, singletonList(DefaultGroups.ANYONE), emptyList()); } @Test 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 4b208ff0c67..12c41e71352 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 @@ -40,7 +40,7 @@ import org.sonar.server.es.SearchResult; 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.AuthorizationIndexerTester; +import org.sonar.server.permission.index.PermissionIndexerTester; import org.sonar.server.tester.UserSessionRule; import org.sonar.server.view.index.ViewIndexDefinition; import org.sonar.server.view.index.ViewIndexer; @@ -66,7 +66,7 @@ public class IssueIndexDebtTest { IssueIndex index; IssueIndexer issueIndexer; - AuthorizationIndexerTester authorizationIndexerTester = new AuthorizationIndexerTester(tester); + PermissionIndexerTester authorizationIndexerTester = new PermissionIndexerTester(tester); ViewIndexer viewIndexer; @Before @@ -286,7 +286,7 @@ public class IssueIndexDebtTest { } private void addIssueAuthorization(String projectUuid, @Nullable String group, @Nullable Long user) { - authorizationIndexerTester.insertProjectAuthorization(projectUuid, singletonList(group), singletonList(user)); + authorizationIndexerTester.indexProjectPermission(projectUuid, singletonList(group), singletonList(user)); } private Builder newQueryBuilder() { 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 7ef1349c567..98399e67d2a 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 @@ -50,7 +50,7 @@ import org.sonar.server.es.SearchResult; import org.sonar.server.exceptions.NotFoundException; import org.sonar.server.issue.IssueQuery; import org.sonar.server.issue.IssueTesting; -import org.sonar.server.permission.index.AuthorizationIndexerTester; +import org.sonar.server.permission.index.PermissionIndexerTester; import org.sonar.server.tester.UserSessionRule; import org.sonar.server.view.index.ViewDoc; import org.sonar.server.view.index.ViewIndexDefinition; @@ -79,7 +79,7 @@ public class IssueIndexTest { IssueIndex underTest; IssueIndexer issueIndexer; - AuthorizationIndexerTester authorizationIndexerTester = new AuthorizationIndexerTester(tester); + PermissionIndexerTester authorizationIndexerTester = new PermissionIndexerTester(tester); ViewIndexer viewIndexer; @Before @@ -1289,7 +1289,7 @@ public class IssueIndexTest { } private void addIssueAuthorization(String projectUuid, @Nullable String group, @Nullable Long user) { - authorizationIndexerTester.insertProjectAuthorization(projectUuid, singletonList(group), singletonList(user)); + authorizationIndexerTester.indexProjectPermission(projectUuid, singletonList(group), singletonList(user)); } private void indexView(String viewUuid, List projects) { diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/index/AuthorizationDaoTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/index/PermissionIndexerDaoTest.java similarity index 80% rename from server/sonar-server/src/test/java/org/sonar/server/permission/index/AuthorizationDaoTest.java rename to server/sonar-server/src/test/java/org/sonar/server/permission/index/PermissionIndexerDaoTest.java index 7fa98596c8c..4b0630b1d95 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/permission/index/AuthorizationDaoTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/permission/index/PermissionIndexerDaoTest.java @@ -47,7 +47,7 @@ import static org.sonar.api.security.DefaultGroups.ANYONE; import static org.sonar.api.web.UserRole.ADMIN; import static org.sonar.api.web.UserRole.USER; -public class AuthorizationDaoTest { +public class PermissionIndexerDaoTest { @Rule public DbTester dbTester = DbTester.create(System2.INSTANCE); @@ -64,7 +64,7 @@ public class AuthorizationDaoTest { UserDto user2; GroupDto group; - AuthorizationDao underTest = new AuthorizationDao(); + PermissionIndexerDao underTest = new PermissionIndexerDao(); @Before public void setUp() throws Exception { @@ -79,15 +79,15 @@ public class AuthorizationDaoTest { public void select_all() { insertTestDataForProject1And2(); - Collection dtos = underTest.selectAll(dbClient, dbSession); + Collection dtos = underTest.selectAll(dbClient, dbSession); assertThat(dtos).hasSize(2); - AuthorizationDao.Dto project1Authorization = getByProjectUuid(project1.uuid(), dtos); + PermissionIndexerDao.Dto project1Authorization = getByProjectUuid(project1.uuid(), dtos); assertThat(project1Authorization.getGroups()).containsOnly(ANYONE, group.getName()); assertThat(project1Authorization.getUsers()).containsOnly(user1.getId()); assertThat(project1Authorization.getUpdatedAt()).isNotNull(); - AuthorizationDao.Dto project2Authorization = getByProjectUuid(project2.uuid(), dtos); + PermissionIndexerDao.Dto project2Authorization = getByProjectUuid(project2.uuid(), dtos); assertThat(project2Authorization.getGroups()).containsOnly(ANYONE); assertThat(project2Authorization.getUsers()).containsOnly(user1.getId(), user2.getId()); assertThat(project2Authorization.getUpdatedAt()).isNotNull(); @@ -97,9 +97,9 @@ public class AuthorizationDaoTest { public void select_by_project() throws Exception { insertTestDataForProject1And2(); - Collection dtos = underTest.selectByProjects(dbClient, dbSession, singletonList(project1.uuid())); + Collection dtos = underTest.selectByProjects(dbClient, dbSession, singletonList(project1.uuid())); assertThat(dtos).hasSize(1); - AuthorizationDao.Dto project1Authorization = getByProjectUuid(project1.uuid(), dtos); + PermissionIndexerDao.Dto project1Authorization = getByProjectUuid(project1.uuid(), dtos); assertThat(project1Authorization.getGroups()).containsOnly(ANYONE, group.getName()); assertThat(project1Authorization.getUsers()).containsOnly(user1.getId()); assertThat(project1Authorization.getUpdatedAt()).isNotNull(); @@ -109,17 +109,17 @@ public class AuthorizationDaoTest { public void select_by_projects() throws Exception { insertTestDataForProject1And2(); - Map dtos = underTest.selectByProjects(dbClient, dbSession, asList(project1.uuid(), project2.uuid())) + Map dtos = underTest.selectByProjects(dbClient, dbSession, asList(project1.uuid(), project2.uuid())) .stream() - .collect(Collectors.uniqueIndex(AuthorizationDao.Dto::getProjectUuid, Function.identity())); + .collect(Collectors.uniqueIndex(PermissionIndexerDao.Dto::getProjectUuid, Function.identity())); assertThat(dtos).hasSize(2); - AuthorizationDao.Dto project1Authorization = dtos.get(project1.uuid()); + PermissionIndexerDao.Dto project1Authorization = dtos.get(project1.uuid()); assertThat(project1Authorization.getGroups()).containsOnly(ANYONE, group.getName()); assertThat(project1Authorization.getUsers()).containsOnly(user1.getId()); assertThat(project1Authorization.getUpdatedAt()).isNotNull(); - AuthorizationDao.Dto project2Authorization = dtos.get(project2.uuid()); + PermissionIndexerDao.Dto project2Authorization = dtos.get(project2.uuid()); assertThat(project2Authorization.getGroups()).containsOnly(ANYONE); assertThat(project2Authorization.getUsers()).containsOnly(user1.getId(), user2.getId()); assertThat(project2Authorization.getUpdatedAt()).isNotNull(); @@ -141,9 +141,9 @@ public class AuthorizationDaoTest { } dbSession.commit(); - Map dtos = underTest.selectByProjects(dbClient, dbSession, projects) + Map dtos = underTest.selectByProjects(dbClient, dbSession, projects) .stream() - .collect(Collectors.uniqueIndex(AuthorizationDao.Dto::getProjectUuid, Function.identity())); + .collect(Collectors.uniqueIndex(PermissionIndexerDao.Dto::getProjectUuid, Function.identity())); assertThat(dtos).hasSize(350); } @@ -152,16 +152,16 @@ public class AuthorizationDaoTest { userDbTester.insertProjectPermissionOnUser(user1, USER, project2); userDbTester.insertProjectPermissionOnGroup(group, USER, project2); - Collection dtos = underTest.selectAll(dbClient, dbSession); + Collection dtos = underTest.selectAll(dbClient, dbSession); assertThat(dtos).hasSize(2); - AuthorizationDao.Dto project1Authorization = getByProjectUuid(project1.uuid(), dtos); + PermissionIndexerDao.Dto project1Authorization = getByProjectUuid(project1.uuid(), dtos); assertThat(project1Authorization.getGroups()).isEmpty(); assertThat(project1Authorization.getUsers()).isEmpty(); assertThat(project1Authorization.getUpdatedAt()).isNotNull(); } - private static AuthorizationDao.Dto getByProjectUuid(String projectUuid, Collection dtos) { + private static PermissionIndexerDao.Dto getByProjectUuid(String projectUuid, Collection dtos) { return dtos.stream().filter(dto -> dto.getProjectUuid().equals(projectUuid)).findFirst().orElseThrow(IllegalArgumentException::new); } diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/index/AuthorizationIndexerTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/index/PermissionIndexerTest.java similarity index 84% rename from server/sonar-server/src/test/java/org/sonar/server/permission/index/AuthorizationIndexerTest.java rename to server/sonar-server/src/test/java/org/sonar/server/permission/index/PermissionIndexerTest.java index b53c43f14fe..e229c2e6a15 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/permission/index/AuthorizationIndexerTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/permission/index/PermissionIndexerTest.java @@ -46,7 +46,7 @@ import static org.sonar.api.security.DefaultGroups.ANYONE; import static org.sonar.api.web.UserRole.ADMIN; import static org.sonar.api.web.UserRole.USER; -public class AuthorizationIndexerTest { +public class PermissionIndexerTest { @Rule public ExpectedException expectedException = ExpectedException.none(); @@ -59,9 +59,10 @@ public class AuthorizationIndexerTest { ComponentDbTester componentDbTester = new ComponentDbTester(dbTester); UserDbTester userDbTester = new UserDbTester(dbTester); - AuthorizationIndexerTester authorizationIndexerTester = new AuthorizationIndexerTester(esTester); - AuthorizationIndexer underTest = new AuthorizationIndexer(dbTester.getDbClient(), esTester.client()); + PermissionIndexerTester authorizationIndexerTester = new PermissionIndexerTester(esTester); + + PermissionIndexer underTest = new PermissionIndexer(dbTester.getDbClient(), esTester.client()); @Test public void index_all_does_nothing_when_no_data() { @@ -82,7 +83,7 @@ public class AuthorizationIndexerTest { underTest.indexAllIfEmpty(); - authorizationIndexerTester.verifyProjectExistsWithAuthorization(project.uuid(), asList(group.getName(), ANYONE), singletonList(user.getId())); + authorizationIndexerTester.verifyProjectExistsWithPermission(project.uuid(), asList(group.getName(), ANYONE), singletonList(user.getId())); } @Test @@ -121,7 +122,7 @@ public class AuthorizationIndexerTest { underTest.indexAllIfEmpty(); - authorizationIndexerTester.verifyProjectExistsWithAuthorization(project.uuid(), asList(group.getName(), ANYONE), emptyList()); + authorizationIndexerTester.verifyProjectExistsWithPermission(project.uuid(), asList(group.getName(), ANYONE), emptyList()); authorizationIndexerTester.verifyProjectDoesNotExist("ABC"); } @@ -135,7 +136,7 @@ public class AuthorizationIndexerTest { underTest.index(dbTester.getSession(), project1.uuid()); - authorizationIndexerTester.verifyProjectExistsWithAuthorization(project1.uuid(), asList(group.getName(), ANYONE), emptyList()); + authorizationIndexerTester.verifyProjectExistsWithPermission(project1.uuid(), asList(group.getName(), ANYONE), emptyList()); authorizationIndexerTester.verifyProjectDoesNotExist(project2.uuid()); } @@ -152,19 +153,19 @@ public class AuthorizationIndexerTest { // Only index projects 1 and 2 underTest.index(dbTester.getSession(), asList(project1.uuid(), project2.uuid())); - authorizationIndexerTester.verifyProjectExistsWithAuthorization(project1.uuid(), asList(group.getName(), ANYONE), emptyList()); - authorizationIndexerTester.verifyProjectExistsWithAuthorization(project2.uuid(), asList(group.getName(), ANYONE), emptyList()); + authorizationIndexerTester.verifyProjectExistsWithPermission(project1.uuid(), asList(group.getName(), ANYONE), emptyList()); + authorizationIndexerTester.verifyProjectExistsWithPermission(project2.uuid(), asList(group.getName(), ANYONE), emptyList()); authorizationIndexerTester.verifyProjectDoesNotExist(project3.uuid()); } @Test public void update_existing_permissions() { - authorizationIndexerTester.insertProjectAuthorization("ABC", singletonList("dev"), singletonList(10L)); + authorizationIndexerTester.indexProjectPermission("ABC", singletonList("dev"), singletonList(10L)); // remove permissions -> dto has no users nor groups - underTest.index(new AuthorizationDao.Dto("ABC", System.currentTimeMillis())); + underTest.index(new PermissionIndexerDao.Dto("ABC", System.currentTimeMillis())); - authorizationIndexerTester.verifyProjectExistsWithoutAuthorization("ABC"); + authorizationIndexerTester.verifyProjectExistsWithoutPermission("ABC"); } @Test diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/index/AuthorizationIndexerTester.java b/server/sonar-server/src/test/java/org/sonar/server/permission/index/PermissionIndexerTester.java similarity index 73% rename from server/sonar-server/src/test/java/org/sonar/server/permission/index/AuthorizationIndexerTester.java rename to server/sonar-server/src/test/java/org/sonar/server/permission/index/PermissionIndexerTester.java index 3356e397410..70c8ef952f3 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/permission/index/AuthorizationIndexerTester.java +++ b/server/sonar-server/src/test/java/org/sonar/server/permission/index/PermissionIndexerTester.java @@ -35,25 +35,25 @@ import static org.elasticsearch.index.query.QueryBuilders.matchAllQuery; import static org.elasticsearch.index.query.QueryBuilders.termQuery; import static org.elasticsearch.index.query.QueryBuilders.termsQuery; -public class AuthorizationIndexerTester { +public class PermissionIndexerTester { private final EsTester esTester; - private final AuthorizationIndexer authorizationIndexer; + private final PermissionIndexer permissionIndexer; - public AuthorizationIndexerTester(EsTester esTester) { + public PermissionIndexerTester(EsTester esTester) { this.esTester = esTester; - this.authorizationIndexer = new AuthorizationIndexer(null, esTester.client()); + this.permissionIndexer = new PermissionIndexer(null, esTester.client()); } - public void insertProjectAuthorization(String projectUuid, List groupNames, List userLogins) { - AuthorizationDao.Dto authorization = new AuthorizationDao.Dto(projectUuid, System.currentTimeMillis()); + public void indexProjectPermission(String projectUuid, List groupNames, List userLogins) { + PermissionIndexerDao.Dto authorization = new PermissionIndexerDao.Dto(projectUuid, System.currentTimeMillis()); groupNames.forEach(authorization::addGroup); userLogins.forEach(authorization::addUser); - authorizationIndexer.index(authorization); + permissionIndexer.index(authorization); } - public void verifyEmptyProjectAuthorization() { + public void verifyEmptyProjectPermission() { assertThat(esTester.countDocuments(IssueIndexDefinition.INDEX, IssueIndexDefinition.TYPE_AUTHORIZATION)).isZero(); assertThat(esTester.countDocuments(ProjectMeasuresIndexDefinition.INDEX_PROJECT_MEASURES, ProjectMeasuresIndexDefinition.TYPE_AUTHORIZATION)).isZero(); } @@ -63,21 +63,21 @@ public class AuthorizationIndexerTester { assertThat(esTester.getIds(ProjectMeasuresIndexDefinition.INDEX_PROJECT_MEASURES, ProjectMeasuresIndexDefinition.TYPE_AUTHORIZATION)).doesNotContain(projectUuid); } - public void verifyProjectExistsWithoutAuthorization(String projectUuid) { - verifyProjectExistsWithAuthorization(projectUuid, emptyList(), emptyList()); + public void verifyProjectExistsWithoutPermission(String projectUuid) { + verifyProjectExistsWithPermission(projectUuid, emptyList(), emptyList()); } - public void verifyProjectExistsWithAuthorization(String projectUuid, List groupNames, List userLogins) { - verifyProjectExistsWithAuthorizationInIndex(IssueIndexDefinition.INDEX, IssueIndexDefinition.TYPE_AUTHORIZATION, + public void verifyProjectExistsWithPermission(String projectUuid, List groupNames, List userLogins) { + verifyProjectExistsWithPermissionInIndex(IssueIndexDefinition.INDEX, IssueIndexDefinition.TYPE_AUTHORIZATION, IssueIndexDefinition.FIELD_AUTHORIZATION_PROJECT_UUID, IssueIndexDefinition.FIELD_AUTHORIZATION_GROUPS, IssueIndexDefinition.FIELD_AUTHORIZATION_USERS, projectUuid, groupNames, userLogins); - verifyProjectExistsWithAuthorizationInIndex(ProjectMeasuresIndexDefinition.INDEX_PROJECT_MEASURES, ProjectMeasuresIndexDefinition.TYPE_AUTHORIZATION, + verifyProjectExistsWithPermissionInIndex(ProjectMeasuresIndexDefinition.INDEX_PROJECT_MEASURES, ProjectMeasuresIndexDefinition.TYPE_AUTHORIZATION, ProjectMeasuresIndexDefinition.FIELD_AUTHORIZATION_PROJECT_UUID, ProjectMeasuresIndexDefinition.FIELD_AUTHORIZATION_GROUPS, ProjectMeasuresIndexDefinition.FIELD_AUTHORIZATION_USERS, projectUuid, groupNames, userLogins); } - private void verifyProjectExistsWithAuthorizationInIndex(String index, String type, String projectField, String groupField, String userField, String projectUuid, - List groupNames, List userLogins) { + private void verifyProjectExistsWithPermissionInIndex(String index, String type, String projectField, String groupField, String userField, String projectUuid, + List groupNames, List userLogins) { assertThat(esTester.getIds(index, type)).contains(projectUuid); BoolQueryBuilder queryBuilder = boolQuery().must(termQuery(projectField, projectUuid)); if (groupNames.isEmpty()) { diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/BasePermissionWsTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/BasePermissionWsTest.java index 2a95ad0a6e8..9413b71354a 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/BasePermissionWsTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/BasePermissionWsTest.java @@ -35,7 +35,7 @@ import org.sonar.server.organization.TestDefaultOrganizationProvider; import org.sonar.server.permission.GroupPermissionChanger; import org.sonar.server.permission.PermissionUpdater; import org.sonar.server.permission.UserPermissionChanger; -import org.sonar.server.permission.index.AuthorizationIndexer; +import org.sonar.server.permission.index.PermissionIndexer; import org.sonar.server.tester.UserSessionRule; import org.sonar.server.usergroups.ws.GroupWsSupport; import org.sonar.server.ws.WsTester; @@ -77,7 +77,7 @@ public abstract class BasePermissionWsTest { protected PermissionUpdater newPermissionUpdater() { return new PermissionUpdater(db.getDbClient(), - mock(AuthorizationIndexer.class), + mock(PermissionIndexer.class), new UserPermissionChanger(db.getDbClient(), defaultOrganizationProvider), new GroupPermissionChanger(db.getDbClient(), defaultOrganizationProvider)); } diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/ApplyTemplateActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/ApplyTemplateActionTest.java index 5c3957ea7de..9a216e68b7a 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/ApplyTemplateActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/ApplyTemplateActionTest.java @@ -43,8 +43,8 @@ import org.sonar.server.exceptions.ForbiddenException; import org.sonar.server.exceptions.NotFoundException; import org.sonar.server.issue.index.IssueIndexDefinition; import org.sonar.server.permission.PermissionService; -import org.sonar.server.permission.index.AuthorizationIndexer; -import org.sonar.server.permission.index.AuthorizationIndexerTester; +import org.sonar.server.permission.index.PermissionIndexer; +import org.sonar.server.permission.index.PermissionIndexerTester; import org.sonar.server.permission.ws.BasePermissionWsTest; import org.sonar.server.ws.WsTester; @@ -73,15 +73,15 @@ public class ApplyTemplateActionTest extends BasePermissionWsTest