rather than the one of the default organization no matter what PermissionTemplateService does not use the default organization under the hood anymoretags/6.3-RC1
@@ -99,9 +99,10 @@ public class DefaultRubyComponentService implements RubyComponentService { | |||
.setQualifier(qualifier) | |||
.setBranch(branch) | |||
.build()); | |||
permissionTemplateService.applyDefaultPermissionTemplate(dbSession, provisionedComponent.getKey()); | |||
String organizationUuid = defaultOrganizationProvider.get().getUuid(); | |||
permissionTemplateService.applyDefaultPermissionTemplate(dbSession, organizationUuid, provisionedComponent.getKey()); | |||
if (Qualifiers.PROJECT.equals(provisionedComponent.qualifier()) | |||
&& permissionTemplateService.hasDefaultTemplateWithPermissionOnProjectCreator(dbSession, provisionedComponent)) { | |||
&& permissionTemplateService.hasDefaultTemplateWithPermissionOnProjectCreator(dbSession, organizationUuid, provisionedComponent)) { | |||
favoriteUpdater.add(dbSession, provisionedComponent); | |||
dbSession.commit(); | |||
} |
@@ -57,8 +57,8 @@ public class ReportSubmitter { | |||
private final DbClient dbClient; | |||
private final FavoriteUpdater favoriteUpdater; | |||
public ReportSubmitter(CeQueue queue, UserSession userSession, | |||
ComponentService componentService, PermissionTemplateService permissionTemplateService, DbClient dbClient, FavoriteUpdater favoriteUpdater) { | |||
public ReportSubmitter(CeQueue queue, UserSession userSession, ComponentService componentService, | |||
PermissionTemplateService permissionTemplateService, DbClient dbClient, FavoriteUpdater favoriteUpdater) { | |||
this.queue = queue; | |||
this.userSession = userSession; | |||
this.componentService = componentService; | |||
@@ -88,7 +88,7 @@ public class ReportSubmitter { | |||
.orElseThrow(() -> new NotFoundException(format("Organization with key '%s' does not exist", organizationKey))); | |||
} | |||
private void ensureOrganizationIsConsistent(Optional<ComponentDto> project, OrganizationDto organizationDto) { | |||
private static void ensureOrganizationIsConsistent(Optional<ComponentDto> project, OrganizationDto organizationDto) { | |||
if (project.isPresent()) { | |||
checkArgument(project.get().getOrganizationUuid().equals(organizationDto.getUuid()), | |||
"Organization of component with key '%s' does not match specified organization '%s'", | |||
@@ -101,7 +101,7 @@ public class ReportSubmitter { | |||
Long projectCreatorUserId = userId == null ? null : userId.longValue(); | |||
boolean wouldCurrentUserHaveScanPermission = permissionTemplateService.wouldUserHavePermissionWithDefaultTemplate( | |||
dbSession, projectCreatorUserId, SCAN_EXECUTION, projectBranch, projectKey, Qualifiers.PROJECT); | |||
dbSession, organizationUuid, projectCreatorUserId, SCAN_EXECUTION, projectBranch, projectKey, Qualifiers.PROJECT); | |||
if (!wouldCurrentUserHaveScanPermission) { | |||
throw insufficientPrivilegesException(); | |||
} | |||
@@ -115,12 +115,12 @@ public class ReportSubmitter { | |||
.build(); | |||
// "provisioning" permission is check in ComponentService | |||
ComponentDto project = componentService.create(dbSession, newProject); | |||
if (permissionTemplateService.hasDefaultTemplateWithPermissionOnProjectCreator(dbSession, project)) { | |||
if (permissionTemplateService.hasDefaultTemplateWithPermissionOnProjectCreator(dbSession, organizationUuid, project)) { | |||
favoriteUpdater.add(dbSession, project); | |||
dbSession.commit(); | |||
} | |||
permissionTemplateService.applyDefault(dbSession, project, projectCreatorUserId); | |||
permissionTemplateService.applyDefault(dbSession, organizationUuid, project, projectCreatorUserId); | |||
return project; | |||
} |
@@ -44,7 +44,6 @@ import org.sonar.db.permission.template.PermissionTemplateCharacteristicDto; | |||
import org.sonar.db.permission.template.PermissionTemplateDto; | |||
import org.sonar.db.permission.template.PermissionTemplateGroupDto; | |||
import org.sonar.db.permission.template.PermissionTemplateUserDto; | |||
import org.sonar.server.organization.DefaultOrganizationProvider; | |||
import org.sonar.server.permission.index.PermissionIndexer; | |||
import org.sonar.server.user.UserSession; | |||
@@ -62,37 +61,20 @@ public class PermissionTemplateService { | |||
private final Settings settings; | |||
private final PermissionIndexer permissionIndexer; | |||
private final UserSession userSession; | |||
private final DefaultOrganizationProvider defaultOrganizationProvider; | |||
public PermissionTemplateService(DbClient dbClient, Settings settings, PermissionIndexer permissionIndexer, UserSession userSession, | |||
DefaultOrganizationProvider defaultOrganizationProvider) { | |||
public PermissionTemplateService(DbClient dbClient, Settings settings, PermissionIndexer permissionIndexer, UserSession userSession) { | |||
this.dbClient = dbClient; | |||
this.settings = settings; | |||
this.permissionIndexer = permissionIndexer; | |||
this.userSession = userSession; | |||
this.defaultOrganizationProvider = defaultOrganizationProvider; | |||
} | |||
/** | |||
* @deprecated replaced by {@link #applyDefault(DbSession, ComponentDto, Long)}, which <b>does not | |||
* @deprecated replaced by {@link #applyDefault(DbSession, String, ComponentDto, Long)}, which <b>does not | |||
* verify that user is authorized to administrate the component</b>. | |||
*/ | |||
@Deprecated | |||
public void applyDefaultPermissionTemplate(String componentKey) { | |||
DbSession session = dbClient.openSession(false); | |||
try { | |||
applyDefaultPermissionTemplate(session, componentKey); | |||
} finally { | |||
session.close(); | |||
} | |||
} | |||
/** | |||
* @deprecated replaced by {@link #applyDefault(DbSession, ComponentDto, Long)}, which <b>does not | |||
* verify that user is authorized to administrate the component</b>. | |||
*/ | |||
@Deprecated | |||
public void applyDefaultPermissionTemplate(DbSession session, String componentKey) { | |||
public void applyDefaultPermissionTemplate(DbSession session, String organizationUuid, String componentKey) { | |||
ComponentDto component = checkFoundWithOptional(dbClient.componentDao().selectByKey(session, componentKey), "Component key '%s' not found", componentKey); | |||
ResourceDto provisioned = dbClient.resourceDao().selectProvisionedProject(session, componentKey); | |||
if (provisioned == null) { | |||
@@ -103,17 +85,18 @@ public class PermissionTemplateService { | |||
Integer currentUserId = userSession.getUserId(); | |||
Long userId = Qualifiers.PROJECT.equals(component.qualifier()) && currentUserId != null ? currentUserId.longValue() : null; | |||
applyDefault(session, component, userId); | |||
applyDefault(session, organizationUuid, component, userId); | |||
} | |||
public boolean wouldUserHavePermissionWithDefaultTemplate(DbSession dbSession, @Nullable Long userId, String permission, @Nullable String branch, String projectKey, | |||
public boolean wouldUserHavePermissionWithDefaultTemplate(DbSession dbSession, | |||
String organizationUuid, @Nullable Long userId, String permission, @Nullable String branch, String projectKey, | |||
String qualifier) { | |||
if (userSession.hasPermission(permission)) { | |||
return true; | |||
} | |||
String effectiveKey = ComponentKeys.createKey(projectKey, branch); | |||
PermissionTemplateDto template = findDefaultTemplate(dbSession, new ComponentDto().setKey(effectiveKey).setQualifier(qualifier)); | |||
PermissionTemplateDto template = findTemplate(dbSession, organizationUuid, new ComponentDto().setKey(effectiveKey).setQualifier(qualifier)); | |||
if (template == null) { | |||
return false; | |||
} | |||
@@ -142,22 +125,18 @@ public class PermissionTemplateService { | |||
/** | |||
* Apply the default permission template to project. The project can already exist (so it has permissions) or | |||
* can be provisioned (so has no permissions yet). | |||
* | |||
* @param dbSession | |||
* @param component | |||
* @param projectCreatorUserId id of the user who creates the project, only if project is provisioned. He will | |||
* benefit from the permissions defined in the template for "project creator". | |||
*/ | |||
public void applyDefault(DbSession dbSession, ComponentDto component, @Nullable Long projectCreatorUserId) { | |||
PermissionTemplateDto template = findDefaultTemplate(dbSession, component); | |||
public void applyDefault(DbSession dbSession, String organizationUuid, ComponentDto component, @Nullable Long projectCreatorUserId) { | |||
PermissionTemplateDto template = findTemplate(dbSession, organizationUuid, component); | |||
checkArgument(template != null, "Cannot retrieve default permission template"); | |||
copyPermissions(dbSession, template, component, projectCreatorUserId); | |||
dbSession.commit(); | |||
indexProjectPermissions(dbSession, asList(component.uuid())); | |||
} | |||
public boolean hasDefaultTemplateWithPermissionOnProjectCreator(DbSession dbSession, ComponentDto component) { | |||
PermissionTemplateDto template = findDefaultTemplate(dbSession, component); | |||
public boolean hasDefaultTemplateWithPermissionOnProjectCreator(DbSession dbSession, String organizationUuid, ComponentDto component) { | |||
PermissionTemplateDto template = findTemplate(dbSession, organizationUuid, component); | |||
return hasProjectCreatorPermission(dbSession, template); | |||
} | |||
@@ -214,8 +193,8 @@ public class PermissionTemplateService { | |||
* template for the component qualifier. | |||
*/ | |||
@CheckForNull | |||
private PermissionTemplateDto findDefaultTemplate(DbSession dbSession, ComponentDto component) { | |||
List<PermissionTemplateDto> allPermissionTemplates = dbClient.permissionTemplateDao().selectAll(dbSession, defaultOrganizationProvider.get().getUuid(), null); | |||
private PermissionTemplateDto findTemplate(DbSession dbSession, String organizationUuid, ComponentDto component) { | |||
List<PermissionTemplateDto> allPermissionTemplates = dbClient.permissionTemplateDao().selectAll(dbSession, organizationUuid, null); | |||
List<PermissionTemplateDto> matchingTemplates = new ArrayList<>(); | |||
for (PermissionTemplateDto permissionTemplateDto : allPermissionTemplates) { | |||
String keyPattern = permissionTemplateDto.getKeyPattern(); |
@@ -21,6 +21,7 @@ package org.sonar.server.component; | |||
import java.util.List; | |||
import java.util.Map; | |||
import org.junit.Before; | |||
import org.junit.Rule; | |||
import org.junit.Test; | |||
import org.sonar.api.config.MapSettings; | |||
@@ -82,6 +83,13 @@ public class DefaultRubyComponentServiceTest { | |||
private DefaultRubyComponentService underTest = new DefaultRubyComponentService(dbClient, resourceDao, componentService, | |||
permissionTemplateService, favoriteUpdater, defaultOrganizationProvider); | |||
private String defaultOrganizationUuid; | |||
@Before | |||
public void setUp() throws Exception { | |||
defaultOrganizationUuid = db.getDefaultOrganization().getUuid(); | |||
} | |||
@Test | |||
public void find_by_key() { | |||
ComponentDto componentDto = componentDb.insertProject(); | |||
@@ -109,7 +117,7 @@ public class DefaultRubyComponentServiceTest { | |||
String componentKey = "new-project"; | |||
String componentName = "New Project"; | |||
String qualifier = Qualifiers.PROJECT; | |||
when(permissionTemplateService.hasDefaultTemplateWithPermissionOnProjectCreator(any(DbSession.class), any(ComponentDto.class))).thenReturn(true); | |||
when(permissionTemplateService.hasDefaultTemplateWithPermissionOnProjectCreator(any(DbSession.class), eq(defaultOrganizationUuid), any(ComponentDto.class))).thenReturn(true); | |||
Long result = underTest.createComponent(componentKey, componentName, qualifier); | |||
@@ -118,7 +126,7 @@ public class DefaultRubyComponentServiceTest { | |||
assertThat(project.name()).isEqualTo(componentName); | |||
assertThat(project.qualifier()).isEqualTo(qualifier); | |||
assertThat(project.getId()).isEqualTo(result); | |||
verify(permissionTemplateService).applyDefaultPermissionTemplate(any(DbSession.class), eq(componentKey)); | |||
verify(permissionTemplateService).applyDefaultPermissionTemplate(any(DbSession.class), eq(defaultOrganizationUuid), eq(componentKey)); | |||
verify(favoriteUpdater).add(any(DbSession.class), eq(project)); | |||
} | |||
@@ -73,6 +73,7 @@ public class ReportSubmitterTest { | |||
public DbTester db = DbTester.create(System2.INSTANCE); | |||
private String defaultOrganizationKey; | |||
private String defaultOrganizationUuid; | |||
private CeQueue queue = mock(CeQueueImpl.class); | |||
private ComponentService componentService = mock(ComponentService.class); | |||
private PermissionTemplateService permissionTemplateService = mock(PermissionTemplateService.class); | |||
@@ -83,6 +84,7 @@ public class ReportSubmitterTest { | |||
@Before | |||
public void setUp() throws Exception { | |||
defaultOrganizationKey = db.getDefaultOrganization().getKey(); | |||
defaultOrganizationUuid = db.getDefaultOrganization().getUuid(); | |||
} | |||
@Test | |||
@@ -137,14 +139,14 @@ public class ReportSubmitterTest { | |||
mockSuccessfulPrepareSubmitCall(); | |||
ComponentDto createdProject = new ComponentDto().setId(23L).setUuid(PROJECT_UUID).setKey(PROJECT_KEY); | |||
when(componentService.create(any(DbSession.class), any(NewComponent.class))).thenReturn(createdProject); | |||
when(permissionTemplateService.wouldUserHavePermissionWithDefaultTemplate(any(DbSession.class), anyLong(), eq(SCAN_EXECUTION), anyString(), eq(PROJECT_KEY), eq(Qualifiers.PROJECT))) | |||
when(permissionTemplateService.wouldUserHavePermissionWithDefaultTemplate(any(DbSession.class), eq(organization.getUuid()), anyLong(), eq(SCAN_EXECUTION), anyString(), eq(PROJECT_KEY), eq(Qualifiers.PROJECT))) | |||
.thenReturn(true); | |||
when(permissionTemplateService.hasDefaultTemplateWithPermissionOnProjectCreator(any(DbSession.class), any(ComponentDto.class))).thenReturn(true); | |||
when(permissionTemplateService.hasDefaultTemplateWithPermissionOnProjectCreator(any(DbSession.class), eq(organization.getUuid()), any(ComponentDto.class))).thenReturn(true); | |||
underTest.submit(organization.getKey(), PROJECT_KEY, null, PROJECT_NAME, IOUtils.toInputStream("{binary}")); | |||
verifyReportIsPersisted(TASK_UUID); | |||
verify(permissionTemplateService).applyDefault(any(DbSession.class), eq(createdProject), anyLong()); | |||
verify(permissionTemplateService).applyDefault(any(DbSession.class), eq(organization.getUuid()), eq(createdProject), anyLong()); | |||
verify(favoriteUpdater).add(any(DbSession.class), eq(createdProject)); | |||
verify(queue).submit(argThat(new TypeSafeMatcher<CeTaskSubmit>() { | |||
@Override | |||
@@ -167,9 +169,9 @@ public class ReportSubmitterTest { | |||
mockSuccessfulPrepareSubmitCall(); | |||
ComponentDto createdProject = new ComponentDto().setId(23L).setUuid(PROJECT_UUID).setKey(PROJECT_KEY); | |||
when(componentService.create(any(DbSession.class), any(NewComponent.class))).thenReturn(createdProject); | |||
when(permissionTemplateService.wouldUserHavePermissionWithDefaultTemplate(any(DbSession.class), anyLong(), eq(SCAN_EXECUTION), anyString(), eq(PROJECT_KEY), eq(Qualifiers.PROJECT))) | |||
when(permissionTemplateService.wouldUserHavePermissionWithDefaultTemplate(any(DbSession.class), eq(defaultOrganizationUuid), anyLong(), eq(SCAN_EXECUTION), anyString(), eq(PROJECT_KEY), eq(Qualifiers.PROJECT))) | |||
.thenReturn(true); | |||
when(permissionTemplateService.hasDefaultTemplateWithPermissionOnProjectCreator(any(DbSession.class), any(ComponentDto.class))).thenReturn(false); | |||
when(permissionTemplateService.hasDefaultTemplateWithPermissionOnProjectCreator(any(DbSession.class), eq(defaultOrganizationUuid), any(ComponentDto.class))).thenReturn(false); | |||
underTest.submit(defaultOrganizationKey, PROJECT_KEY, null, PROJECT_NAME, IOUtils.toInputStream("{binary}")); | |||
@@ -182,7 +184,7 @@ public class ReportSubmitterTest { | |||
mockSuccessfulPrepareSubmitCall(); | |||
when(componentService.create(any(DbSession.class), any(NewComponent.class))).thenReturn(new ComponentDto().setId(23L).setUuid(PROJECT_UUID).setKey(PROJECT_KEY)); | |||
when(permissionTemplateService.wouldUserHavePermissionWithDefaultTemplate(any(DbSession.class), anyLong(), eq(SCAN_EXECUTION), anyString(), eq(PROJECT_KEY), eq(Qualifiers.PROJECT))) | |||
when(permissionTemplateService.wouldUserHavePermissionWithDefaultTemplate(any(DbSession.class), eq(defaultOrganizationUuid), anyLong(), eq(SCAN_EXECUTION), anyString(), eq(PROJECT_KEY), eq(Qualifiers.PROJECT))) | |||
.thenReturn(true); | |||
underTest.submit(defaultOrganizationKey, PROJECT_KEY, null, PROJECT_NAME, IOUtils.toInputStream("{binary}")); |
@@ -37,8 +37,6 @@ import org.sonar.db.permission.template.PermissionTemplateDbTester; | |||
import org.sonar.db.permission.template.PermissionTemplateDto; | |||
import org.sonar.db.user.GroupDto; | |||
import org.sonar.db.user.UserDto; | |||
import org.sonar.server.organization.DefaultOrganizationProvider; | |||
import org.sonar.server.organization.TestDefaultOrganizationProvider; | |||
import org.sonar.server.permission.index.PermissionIndexer; | |||
import org.sonar.server.tester.UserSessionRule; | |||
@@ -46,14 +44,12 @@ import static java.util.Collections.singletonList; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
import static org.mockito.Mockito.mock; | |||
import static org.mockito.Mockito.when; | |||
import static org.sonar.core.permission.GlobalPermissions.PROVISIONING; | |||
import static org.sonar.core.permission.GlobalPermissions.SCAN_EXECUTION; | |||
import static org.sonar.db.component.ComponentTesting.newProjectDto; | |||
import static org.sonar.db.user.GroupTesting.newGroupDto; | |||
public class PermissionTemplateServiceTest { | |||
private static final String DEFAULT_TEMPLATE = "default_20130101_010203"; | |||
private static final ComponentDto PROJECT = newProjectDto().setId(123L).setUuid("THE_PROJECT_UUID"); | |||
private static final long NOW = 123456789L; | |||
@@ -70,9 +66,8 @@ public class PermissionTemplateServiceTest { | |||
private DbSession session = dbTester.getSession(); | |||
private Settings settings = new MapSettings(); | |||
private PermissionIndexer permissionIndexer = mock(PermissionIndexer.class); | |||
private DefaultOrganizationProvider defaultOrganizationProvider = TestDefaultOrganizationProvider.from(dbTester); | |||
private PermissionTemplateService underTest = new PermissionTemplateService(dbTester.getDbClient(), settings, | |||
permissionIndexer, userSession, defaultOrganizationProvider); | |||
permissionIndexer, userSession); | |||
@Before | |||
public void setUp() { | |||
@@ -109,18 +104,6 @@ public class PermissionTemplateServiceTest { | |||
userId, project.getId()); | |||
} | |||
@Test | |||
public void applyDefaultPermissionTemplate_from_component_key() { | |||
dbTester.prepareDbUnit(getClass(), "apply_default_permission_template_by_component_id.xml"); | |||
userSession.setGlobalPermissions(PROVISIONING); | |||
settings.setProperty("sonar.permission.template.default", DEFAULT_TEMPLATE); | |||
underTest.applyDefaultPermissionTemplate("org.struts:struts"); | |||
session.commit(); | |||
dbTester.assertDbUnitTable(getClass(), "apply_default_permission_template_by_component_id-result.xml", "user_roles", "user_id", "resource_id", "role"); | |||
} | |||
@Test | |||
public void would_user_have_permission_with_default_permission_template() { | |||
UserDto user = dbTester.users().insertUser(); | |||
@@ -134,25 +117,25 @@ public class PermissionTemplateServiceTest { | |||
templateDb.addGroupToTemplate(template.getId(), null, UserRole.ISSUE_ADMIN); | |||
// authenticated user | |||
checkWouldUserHavePermission(user.getId(), UserRole.ADMIN, false); | |||
checkWouldUserHavePermission(user.getId(), SCAN_EXECUTION, true); | |||
checkWouldUserHavePermission(user.getId(), UserRole.USER, true); | |||
checkWouldUserHavePermission(user.getId(), UserRole.CODEVIEWER, true); | |||
checkWouldUserHavePermission(user.getId(), UserRole.ISSUE_ADMIN, true); | |||
checkWouldUserHavePermission(template.getOrganizationUuid(), user.getId(), UserRole.ADMIN, false); | |||
checkWouldUserHavePermission(template.getOrganizationUuid(), user.getId(), SCAN_EXECUTION, true); | |||
checkWouldUserHavePermission(template.getOrganizationUuid(), user.getId(), UserRole.USER, true); | |||
checkWouldUserHavePermission(template.getOrganizationUuid(), user.getId(), UserRole.CODEVIEWER, true); | |||
checkWouldUserHavePermission(template.getOrganizationUuid(), user.getId(), UserRole.ISSUE_ADMIN, true); | |||
// anonymous user | |||
checkWouldUserHavePermission(null, UserRole.ADMIN, false); | |||
checkWouldUserHavePermission(null, SCAN_EXECUTION, false); | |||
checkWouldUserHavePermission(null, UserRole.USER, false); | |||
checkWouldUserHavePermission(null, UserRole.CODEVIEWER, false); | |||
checkWouldUserHavePermission(null, UserRole.ISSUE_ADMIN, true); | |||
checkWouldUserHavePermission(template.getOrganizationUuid(), null, UserRole.ADMIN, false); | |||
checkWouldUserHavePermission(template.getOrganizationUuid(), null, SCAN_EXECUTION, false); | |||
checkWouldUserHavePermission(template.getOrganizationUuid(), null, UserRole.USER, false); | |||
checkWouldUserHavePermission(template.getOrganizationUuid(), null, UserRole.CODEVIEWER, false); | |||
checkWouldUserHavePermission(template.getOrganizationUuid(), null, UserRole.ISSUE_ADMIN, true); | |||
} | |||
@Test | |||
public void would_user_have_permission_with_unknown_default_permission_template() { | |||
setDefaultTemplateUuid("UNKNOWN_TEMPLATE_UUID"); | |||
checkWouldUserHavePermission(null, UserRole.ADMIN, false); | |||
checkWouldUserHavePermission(dbTester.getDefaultOrganization().getUuid(), null, UserRole.ADMIN, false); | |||
} | |||
@Test | |||
@@ -160,11 +143,11 @@ public class PermissionTemplateServiceTest { | |||
PermissionTemplateDto template = templateDb.insertTemplate(); | |||
setDefaultTemplateUuid(template.getUuid()); | |||
checkWouldUserHavePermission(null, UserRole.ADMIN, false); | |||
checkWouldUserHavePermission(template.getOrganizationUuid(), null, UserRole.ADMIN, false); | |||
} | |||
private void checkWouldUserHavePermission(@Nullable Long userId, String permission, boolean expectedResult) { | |||
assertThat(underTest.wouldUserHavePermissionWithDefaultTemplate(session, userId, permission, null, "PROJECT_KEY", Qualifiers.PROJECT)).isEqualTo(expectedResult); | |||
private void checkWouldUserHavePermission(String organizationUuid, @Nullable Long userId, String permission, boolean expectedResult) { | |||
assertThat(underTest.wouldUserHavePermissionWithDefaultTemplate(session, organizationUuid, userId, permission, null, "PROJECT_KEY", Qualifiers.PROJECT)).isEqualTo(expectedResult); | |||
} | |||
private void checkAuthorizationUpdatedAtIsUpdated() { |
@@ -40,8 +40,6 @@ import org.sonar.server.exceptions.BadRequestException; | |||
import org.sonar.server.exceptions.ForbiddenException; | |||
import org.sonar.server.exceptions.NotFoundException; | |||
import org.sonar.server.issue.index.IssueIndexDefinition; | |||
import org.sonar.server.organization.DefaultOrganizationProvider; | |||
import org.sonar.server.organization.TestDefaultOrganizationProvider; | |||
import org.sonar.server.permission.PermissionTemplateService; | |||
import org.sonar.server.permission.index.PermissionIndexer; | |||
import org.sonar.server.permission.index.PermissionIndexerTester; | |||
@@ -72,12 +70,11 @@ public class ApplyTemplateActionTest extends BasePermissionWsTest<ApplyTemplateA | |||
private PermissionTemplateDto template2; | |||
private PermissionIndexerTester authorizationIndexerTester = new PermissionIndexerTester(esTester); | |||
private PermissionIndexer permissionIndexer = new PermissionIndexer(db.getDbClient(), esTester.client()); | |||
private DefaultOrganizationProvider defaultOrganizationProvider = TestDefaultOrganizationProvider.from(db); | |||
@Override | |||
protected ApplyTemplateAction buildWsAction() { | |||
PermissionTemplateService permissionTemplateService = new PermissionTemplateService(db.getDbClient(), | |||
new MapSettings(), permissionIndexer, userSession, defaultOrganizationProvider); | |||
new MapSettings(), permissionIndexer, userSession); | |||
return new ApplyTemplateAction(db.getDbClient(), userSession, permissionTemplateService, newPermissionWsSupport()); | |||
} | |||
@@ -34,8 +34,6 @@ import org.sonar.db.user.UserDto; | |||
import org.sonar.server.exceptions.BadRequestException; | |||
import org.sonar.server.exceptions.NotFoundException; | |||
import org.sonar.server.i18n.I18nRule; | |||
import org.sonar.server.organization.DefaultOrganizationProvider; | |||
import org.sonar.server.organization.TestDefaultOrganizationProvider; | |||
import org.sonar.server.permission.PermissionTemplateService; | |||
import org.sonar.server.permission.index.PermissionIndexer; | |||
import org.sonar.server.permission.ws.BasePermissionWsTest; | |||
@@ -58,12 +56,11 @@ public class BulkApplyTemplateActionTest extends BasePermissionWsTest<BulkApplyT | |||
private PermissionTemplateDto template1; | |||
private PermissionTemplateDto template2; | |||
private PermissionIndexer issuePermissionIndexer = mock(PermissionIndexer.class); | |||
private DefaultOrganizationProvider defaultOrganizationProvider = TestDefaultOrganizationProvider.from(db); | |||
@Override | |||
protected BulkApplyTemplateAction buildWsAction() { | |||
PermissionTemplateService permissionTemplateService = new PermissionTemplateService(db.getDbClient(), new MapSettings(), | |||
issuePermissionIndexer, userSession, defaultOrganizationProvider); | |||
issuePermissionIndexer, userSession); | |||
return new BulkApplyTemplateAction(db.getDbClient(), userSession, permissionTemplateService, newPermissionWsSupport(), new I18nRule(), newRootResourceTypes()); | |||
} | |||