From: Simon Brandhof Date: Sun, 5 Feb 2017 15:13:33 +0000 (+0100) Subject: SONAR-8716 remove usages of UserSessionRule#setGlobalPermissions() X-Git-Tag: 6.3-RC1~139 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=1b6a668e28ef481564ef0ac73c8c2860974d9eab;p=sonarqube.git SONAR-8716 remove usages of UserSessionRule#setGlobalPermissions() --- diff --git a/server/sonar-server/src/test/java/org/sonar/server/ce/ws/ComponentActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/ce/ws/ComponentActionTest.java index 42f126d376a..0f7d102132a 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/ce/ws/ComponentActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/ce/ws/ComponentActionTest.java @@ -24,7 +24,6 @@ import org.junit.Test; import org.junit.rules.ExpectedException; import org.sonar.api.utils.System2; import org.sonar.api.web.UserRole; -import org.sonar.core.permission.GlobalPermissions; import org.sonar.core.util.Protobuf; import org.sonar.db.DbTester; import org.sonar.db.ce.CeActivityDto; @@ -110,7 +109,7 @@ public class ComponentActionTest { @Test public void search_tasks_by_component_key() { ComponentDto project = componentDbTester.insertProject(); - setUserWithBrowsePermission(project); + logInWithBrowsePermission(project); insertActivity("T1", project.uuid(), CeActivityDto.Status.SUCCESS); TestResponse wsResponse = ws.newRequest() @@ -156,11 +155,12 @@ public class ComponentActionTest { } @Test - public void fail_when_insufficient_permissions() { + public void throw_ForbiddenException_if_user_cant_access_project() { ComponentDto project = componentDbTester.insertProject(); - userSession.setGlobalPermissions(GlobalPermissions.SCAN_EXECUTION); + userSession.logIn(); expectedException.expect(ForbiddenException.class); + expectedException.expectMessage("Insufficient privileges"); ws.newRequest() .setParam(PARAM_COMPONENT_ID, project.uuid()) @@ -170,13 +170,13 @@ public class ComponentActionTest { @Test public void fail_when_no_component_parameter() { expectedException.expect(IllegalArgumentException.class); - setUserWithBrowsePermission(componentDbTester.insertProject()); + logInWithBrowsePermission(componentDbTester.insertProject()); ws.newRequest().execute(); } - private void setUserWithBrowsePermission(ComponentDto project) { - userSession.addProjectUuidPermissions(UserRole.USER, project.uuid()); + private void logInWithBrowsePermission(ComponentDto project) { + userSession.logIn().addProjectUuidPermissions(UserRole.USER, project.uuid()); } private CeQueueDto insertQueue(String taskUuid, String componentUuid, CeQueueDto.Status status) { diff --git a/server/sonar-server/src/test/java/org/sonar/server/ce/ws/TaskActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/ce/ws/TaskActionTest.java index dff0f9b0ab4..43886fe5c16 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/ce/ws/TaskActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/ce/ws/TaskActionTest.java @@ -42,9 +42,7 @@ import org.sonarqube.ws.WsCe; import static java.util.Collections.singleton; import static org.assertj.core.api.Assertions.assertThat; -import static org.sonar.core.permission.GlobalPermissions.PROVISIONING; import static org.sonar.core.permission.GlobalPermissions.SCAN_EXECUTION; -import static org.sonar.core.permission.GlobalPermissions.SYSTEM_ADMIN; import static org.sonarqube.ws.MediaTypes.PROTOBUF; public class TaskActionTest { @@ -74,7 +72,7 @@ public class TaskActionTest { @Test public void task_is_in_queue() throws Exception { - userSession.logIn("john").setGlobalPermissions(SYSTEM_ADMIN); + logInAsRoot(); CeQueueDto queueDto = new CeQueueDto(); queueDto.setTaskType(CeTaskTypes.REPORT); @@ -103,7 +101,7 @@ public class TaskActionTest { @Test public void task_is_archived() throws Exception { - userSession.logIn("john").setGlobalPermissions(SYSTEM_ADMIN); + logInAsRoot(); CeActivityDto activityDto = createActivityDto(SOME_TASK_UUID); persist(activityDto); @@ -128,7 +126,7 @@ public class TaskActionTest { @Test public void return_stacktrace_of_failed_activity_with_stacktrace_when_additionalField_is_set() { - userSession.logIn("john").setGlobalPermissions(SYSTEM_ADMIN); + logInAsRoot(); CeActivityDto activityDto = createActivityDto(SOME_TASK_UUID) .setErrorMessage("error msg") @@ -151,7 +149,7 @@ public class TaskActionTest { @Test public void do_not_return_stacktrace_of_failed_activity_with_stacktrace_when_additionalField_is_not_set() { - userSession.logIn("john").setGlobalPermissions(SYSTEM_ADMIN); + logInAsRoot(); CeActivityDto activityDto = createActivityDto(SOME_TASK_UUID) .setErrorMessage("error msg") @@ -172,7 +170,7 @@ public class TaskActionTest { @Test public void return_scannerContext_of_activity_with_scannerContext_when_additionalField_is_set() { - userSession.logIn("john").setGlobalPermissions(SYSTEM_ADMIN); + logInAsRoot(); String scannerContext = "this is some scanner context, yeah!"; persist(createActivityDto(SOME_TASK_UUID)); @@ -192,7 +190,7 @@ public class TaskActionTest { @Test public void do_not_return_scannerContext_of_activity_with_scannerContext_when_additionalField_is_not_set() { - userSession.logIn("john").setGlobalPermissions(SYSTEM_ADMIN); + logInAsRoot(); String scannerContext = "this is some scanner context, yeah!"; persist(createActivityDto(SOME_TASK_UUID)); @@ -212,7 +210,7 @@ public class TaskActionTest { @Test public void do_not_return_stacktrace_of_failed_activity_without_stacktrace() { - userSession.logIn("john").setGlobalPermissions(SYSTEM_ADMIN); + logInAsRoot(); CeActivityDto activityDto = createActivityDto(SOME_TASK_UUID) .setErrorMessage("error msg"); @@ -232,7 +230,7 @@ public class TaskActionTest { @Test public void task_not_found() throws Exception { - userSession.logIn("john").setGlobalPermissions(SYSTEM_ADMIN); + logInAsRoot(); expectedException.expect(NotFoundException.class); ws.newRequest() @@ -242,7 +240,7 @@ public class TaskActionTest { @Test public void not_fail_on_queue_task_not_linked_on_project_with_system_admin_permissions() { - userSession.logIn("john").setGlobalPermissions(SYSTEM_ADMIN); + logInAsRoot(); CeQueueDto queueDto = new CeQueueDto(); queueDto.setTaskType("fake"); @@ -258,7 +256,7 @@ public class TaskActionTest { @Test public void not_fail_on_queue_task_not_linked_on_project_with_global_scan_permissions() { - userSession.logIn("john").setGlobalPermissions(SCAN_EXECUTION); + logInAsRoot(); CeQueueDto queueDto = new CeQueueDto(); queueDto.setTaskType("fake"); @@ -274,8 +272,6 @@ public class TaskActionTest { @Test public void fail_on_queue_task_not_linked_on_project_if_not_admin_nor_scan_permission() { - userSession.logIn("john").setGlobalPermissions(PROVISIONING); - CeQueueDto queueDto = new CeQueueDto(); queueDto.setTaskType("fake"); queueDto.setUuid(SOME_TASK_UUID); @@ -283,6 +279,7 @@ public class TaskActionTest { persist(queueDto); expectedException.expect(ForbiddenException.class); + ws.newRequest() .setMediaType(PROTOBUF) .setParam("id", SOME_TASK_UUID) @@ -291,7 +288,7 @@ public class TaskActionTest { @Test public void not_fail_on_queue_task_linked_on_project_with_project_scan_permission() { - userSession.logIn("john").addProjectUuidPermissions(SCAN_EXECUTION, project.uuid()); + userSession.logIn().addProjectUuidPermissions(SCAN_EXECUTION, project.uuid()); CeQueueDto queueDto = new CeQueueDto(); queueDto.setTaskType("fake"); @@ -308,7 +305,7 @@ public class TaskActionTest { @Test public void not_fail_on_archived_task_linked_on_project_with_project_scan_permission() throws Exception { - userSession.logIn("john").addProjectUuidPermissions(SCAN_EXECUTION, project.uuid()); + userSession.logIn().addProjectUuidPermissions(SCAN_EXECUTION, project.uuid()); CeActivityDto activityDto = createActivityDto(SOME_TASK_UUID) .setComponentUuid(project.uuid()); @@ -348,4 +345,8 @@ public class TaskActionTest { dbTester.commit(); } + private void logInAsRoot() { + userSession.logIn().setRoot(); + } + } diff --git a/server/sonar-server/src/test/java/org/sonar/server/component/ComponentServiceUpdateKeyTest.java b/server/sonar-server/src/test/java/org/sonar/server/component/ComponentServiceUpdateKeyTest.java index a715e26308b..c8142d55c3a 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/component/ComponentServiceUpdateKeyTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/component/ComponentServiceUpdateKeyTest.java @@ -25,7 +25,6 @@ import org.junit.Test; import org.junit.rules.ExpectedException; import org.sonar.api.utils.System2; import org.sonar.api.web.UserRole; -import org.sonar.core.permission.GlobalPermissions; import org.sonar.db.DbClient; import org.sonar.db.DbSession; import org.sonar.db.DbTester; @@ -132,7 +131,7 @@ public class ComponentServiceUpdateKeyTest { @Test public void fail_if_old_key_and_new_key_are_the_same() { - setGlobalAdminPermission(); + logInAsRoot(); ComponentDto project = insertSampleRootProject(); ComponentDto anotherProject = componentDb.insertProject(); @@ -144,7 +143,7 @@ public class ComponentServiceUpdateKeyTest { @Test public void fail_if_new_key_is_empty() { - setGlobalAdminPermission(); + logInAsRoot(); ComponentDto project = insertSampleRootProject(); expectedException.expect(BadRequestException.class); @@ -155,7 +154,7 @@ public class ComponentServiceUpdateKeyTest { @Test public void fail_if_new_key_is_not_formatted_correctly() { - setGlobalAdminPermission(); + logInAsRoot(); ComponentDto project = insertSampleRootProject(); expectedException.expect(BadRequestException.class); @@ -166,7 +165,7 @@ public class ComponentServiceUpdateKeyTest { @Test public void fail_if_update_is_not_on_module_or_project() { - setGlobalAdminPermission(); + logInAsRoot(); ComponentDto project = insertSampleRootProject(); ComponentDto file = componentDb.insertComponent(newFileDto(project, null)); @@ -202,8 +201,8 @@ public class ComponentServiceUpdateKeyTest { assertThat(dbClient.componentDao().selectByKey(dbSession, key)).isPresent(); } - private void setGlobalAdminPermission() { - userSession.setGlobalPermissions(GlobalPermissions.SYSTEM_ADMIN); + private void logInAsRoot() { + userSession.logIn().setRoot(); } private ComponentDto insertSampleRootProject() { diff --git a/server/sonar-server/src/test/java/org/sonar/server/component/ws/BulkUpdateKeyActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/component/ws/BulkUpdateKeyActionTest.java index 0b74934b3c6..719e447e401 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/component/ws/BulkUpdateKeyActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/component/ws/BulkUpdateKeyActionTest.java @@ -30,7 +30,6 @@ import org.junit.rules.ExpectedException; import org.sonar.api.config.MapSettings; import org.sonar.api.server.ws.WebService; import org.sonar.api.utils.System2; -import org.sonar.core.permission.GlobalPermissions; import org.sonar.db.DbClient; import org.sonar.db.DbSession; import org.sonar.db.DbTester; @@ -95,7 +94,7 @@ public class BulkUpdateKeyActionTest { @Before public void setUp() { - userSession.setGlobalPermissions(GlobalPermissions.SYSTEM_ADMIN); + userSession.logIn().setRoot(); } @Test @@ -241,12 +240,13 @@ public class BulkUpdateKeyActionTest { } @Test - public void fail_if_insufficient_privileges() { - expectedException.expect(ForbiddenException.class); + public void throw_ForbiddenException_if_not_root_administrator() { userSession.anonymous(); - ComponentDto project = insertMyProject(); + expectedException.expect(ForbiddenException.class); + + callDryRunByUuid(project.uuid(), FROM, TO); } diff --git a/server/sonar-server/src/test/java/org/sonar/server/component/ws/ShowActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/component/ws/ShowActionTest.java index 065484a276b..f1155139f8c 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/component/ws/ShowActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/component/ws/ShowActionTest.java @@ -29,7 +29,6 @@ import org.junit.rules.ExpectedException; import org.sonar.api.resources.Qualifiers; import org.sonar.api.utils.System2; import org.sonar.api.web.UserRole; -import org.sonar.core.permission.GlobalPermissions; import org.sonar.db.DbTester; import org.sonar.db.component.ComponentDbTester; import org.sonar.db.component.ComponentDto; @@ -51,12 +50,11 @@ import static org.sonar.test.JsonAssert.assertJson; import static org.sonarqube.ws.client.component.ComponentsWsParameters.PARAM_ID; import static org.sonarqube.ws.client.component.ComponentsWsParameters.PARAM_KEY; - public class ShowActionTest { @Rule public ExpectedException expectedException = ExpectedException.none(); @Rule - public UserSessionRule userSession = UserSessionRule.standalone().logIn().setRoot().setGlobalPermissions(GlobalPermissions.SYSTEM_ADMIN); + public UserSessionRule userSession = UserSessionRule.standalone().logIn().setRoot(); @Rule public DbTester db = DbTester.create(System2.INSTANCE); @@ -78,7 +76,7 @@ public class ShowActionTest { @Test public void show_with_browse_permission() { - userSession.anonymous().addProjectUuidPermissions(UserRole.USER, "project-uuid"); + userSession.logIn().addProjectUuidPermissions(UserRole.USER, "project-uuid"); componentDb.insertProjectAndSnapshot(newProjectDto(db.organizations().insert(), "project-uuid")); ShowWsResponse response = newRequest("project-uuid", null); @@ -97,7 +95,8 @@ public class ShowActionTest { @Test public void fail_if_not_enough_privilege() { - userSession.anonymous().setGlobalPermissions(GlobalPermissions.QUALITY_PROFILE_ADMIN); + userSession.anonymous(); + expectedException.expect(ForbiddenException.class); componentDb.insertProjectAndSnapshot(newProjectDto(db.organizations().insert(), "project-uuid")); diff --git a/server/sonar-server/src/test/java/org/sonar/server/component/ws/TreeActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/component/ws/TreeActionTest.java index 255f69968d1..535304c8b3b 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/component/ws/TreeActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/component/ws/TreeActionTest.java @@ -40,7 +40,6 @@ import org.sonar.api.resources.Qualifiers; import org.sonar.api.server.ws.WebService.Param; import org.sonar.api.utils.System2; import org.sonar.api.web.UserRole; -import org.sonar.core.permission.GlobalPermissions; import org.sonar.db.DbClient; import org.sonar.db.DbTester; import org.sonar.db.component.ComponentDbTester; @@ -90,7 +89,6 @@ public class TreeActionTest { @Before public void setUp() { userSession.logIn().setRoot(); - userSession.setGlobalPermissions(GlobalPermissions.SYSTEM_ADMIN); ws = new WsActionTester(new TreeAction(dbClient, new ComponentFinder(dbClient), resourceTypes, userSession, Mockito.mock(I18n.class))); resourceTypes.setChildrenQualifiers(Qualifiers.MODULE, Qualifiers.FILE, Qualifiers.DIRECTORY); resourceTypes.setLeavesQualifiers(Qualifiers.FILE, Qualifiers.UNIT_TEST_FILE); 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 b3a93c68a77..90c03498360 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 @@ -28,7 +28,6 @@ import org.junit.Rule; import org.junit.Test; import org.sonar.api.issue.Issue; import org.sonar.api.web.UserRole; -import org.sonar.core.permission.GlobalPermissions; import org.sonar.db.DbClient; import org.sonar.db.DbSession; import org.sonar.db.component.ComponentDao; @@ -273,7 +272,7 @@ public class IssueServiceMediumTest { ComponentDto project = ComponentTesting.newProjectDto(organization); tester.get(ComponentDao.class).insert(session, project); - userSessionRule.logIn("admin").addProjectPermissions(UserRole.USER, project.key()).setGlobalPermissions(GlobalPermissions.SYSTEM_ADMIN); + userSessionRule.logIn().addProjectUuidPermissions(UserRole.USER, project.uuid()); session.commit(); // project can be seen by group "anyone" 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 7066c712161..235907431f5 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 @@ -31,7 +31,6 @@ import org.sonar.api.rule.RuleStatus; import org.sonar.api.server.ws.WebService; import org.sonar.api.utils.DateUtils; import org.sonar.api.web.UserRole; -import org.sonar.core.permission.GlobalPermissions; import org.sonar.db.DbClient; import org.sonar.db.DbSession; import org.sonar.db.component.ComponentDto; @@ -670,7 +669,7 @@ public class SearchActionComponentsMediumTest { } private void setAnyoneProjectPermission(ComponentDto project, String permission) { - userSessionRule.logIn("admin").setGlobalPermissions(GlobalPermissions.SYSTEM_ADMIN); + userSessionRule.logIn().setRoot(); // TODO correctly feed default organization. Not a problem as long as issues search does not support "anyone" // for each organization GroupPermissionChange permissionChange = new GroupPermissionChange(PermissionChange.Operation.ADD, permission, new ProjectId(project), GroupIdOrAnyone.forAnyone(project.getOrganizationUuid())); 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 44852baafa5..35f18c62916 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 @@ -31,7 +31,6 @@ import org.sonar.api.rule.RuleStatus; import org.sonar.api.server.ws.WebService; import org.sonar.api.utils.DateUtils; import org.sonar.api.web.UserRole; -import org.sonar.core.permission.GlobalPermissions; import org.sonar.core.util.stream.Collectors; import org.sonar.db.DbClient; import org.sonar.db.DbSession; @@ -700,7 +699,7 @@ public class SearchActionMediumTest { private void setDefaultProjectPermission(ComponentDto project) { // project can be seen by anyone and by code viewer - userSessionRule.logIn("admin").setGlobalPermissions(GlobalPermissions.SYSTEM_ADMIN); + userSessionRule.logIn().addProjectUuidPermissions(UserRole.USER, project.uuid()); // TODO correctly feed default organization. Not a problem as long as issues search does not support "anyone" // for each organization GroupPermissionChange permissionChange = new GroupPermissionChange(PermissionChange.Operation.ADD, UserRole.USER, new ProjectId(project), GroupIdOrAnyone.forAnyone(project.getOrganizationUuid())); diff --git a/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/CreateActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/CreateActionTest.java index eb4e87540c0..52379c3491a 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/CreateActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/CreateActionTest.java @@ -31,7 +31,6 @@ import org.sonar.api.measures.Metric; import org.sonar.api.measures.Metric.ValueType; import org.sonar.api.utils.System2; import org.sonar.api.web.UserRole; -import org.sonar.core.permission.GlobalPermissions; import org.sonar.db.DbClient; import org.sonar.db.DbSession; import org.sonar.db.DbTester; @@ -91,7 +90,7 @@ public class CreateActionTest { public void setUp() { ws = new WsTester(new CustomMeasuresWs(new CreateAction(dbClient, userSession, System2.INSTANCE, new CustomMeasureValidator(newFullTypeValidations()), new CustomMeasureJsonWriter(new UserJsonWriter(userSession)), new ComponentFinder(dbClient)))); - userSession.logIn("login").setGlobalPermissions(GlobalPermissions.SYSTEM_ADMIN); + userSession.logIn("login").setRoot(); db.getDbClient().userDao().insert(dbSession, new UserDto() .setLogin("login") diff --git a/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/MetricsActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/MetricsActionTest.java index 2b6d356fd94..3120e7bb82d 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/MetricsActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/MetricsActionTest.java @@ -27,7 +27,6 @@ import org.sonar.api.config.MapSettings; import org.sonar.api.measures.Metric; import org.sonar.api.utils.System2; import org.sonar.api.web.UserRole; -import org.sonar.core.permission.GlobalPermissions; import org.sonar.db.DbClient; import org.sonar.db.DbSession; import org.sonar.db.DbTester; @@ -76,8 +75,8 @@ public class MetricsActionTest { .setEmail("login@login.com") .setActive(true)); ws = new WsTester(new CustomMeasuresWs(new MetricsAction(dbClient, userSession, new ComponentFinder(dbClient)))); - userSession.logIn("login").setGlobalPermissions(GlobalPermissions.SYSTEM_ADMIN); defaultProject = insertDefaultProject(); + userSession.logIn().addProjectUuidPermissions(UserRole.ADMIN, defaultProject.uuid()); } @Test diff --git a/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/SearchActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/SearchActionTest.java index bdce7d4e520..fdad7d7d267 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/SearchActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/SearchActionTest.java @@ -31,7 +31,6 @@ import org.sonar.api.server.ws.WebService; import org.sonar.api.utils.DateUtils; import org.sonar.api.utils.System2; import org.sonar.api.web.UserRole; -import org.sonar.core.permission.GlobalPermissions; import org.sonar.db.DbClient; import org.sonar.db.DbSession; import org.sonar.db.DbTester; @@ -82,7 +81,7 @@ public class SearchActionTest { CustomMeasureJsonWriter customMeasureJsonWriter = new CustomMeasureJsonWriter(new UserJsonWriter(userSessionRule)); ws = new WsTester(new CustomMeasuresWs(new SearchAction(dbClient, customMeasureJsonWriter, userSessionRule, new ComponentFinder(dbClient)))); defaultProject = insertDefaultProject(); - userSessionRule.logIn("login").setGlobalPermissions(GlobalPermissions.SYSTEM_ADMIN); + userSessionRule.logIn().addProjectUuidPermissions(UserRole.ADMIN, defaultProject.uuid()); db.getDbClient().userDao().insert(dbSession, new UserDto() .setLogin("login") diff --git a/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/UpdateActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/UpdateActionTest.java index f084ffb3291..2ae57e992e7 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/UpdateActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/measure/custom/ws/UpdateActionTest.java @@ -26,7 +26,6 @@ import org.junit.rules.ExpectedException; import org.sonar.api.config.MapSettings; import org.sonar.api.measures.Metric.ValueType; import org.sonar.api.utils.System2; -import org.sonar.core.permission.GlobalPermissions; import org.sonar.db.DbClient; import org.sonar.db.DbSession; import org.sonar.db.DbTester; @@ -76,7 +75,7 @@ public class UpdateActionTest { CustomMeasureValidator validator = new CustomMeasureValidator(newFullTypeValidations()); ws = new WsTester(new CustomMeasuresWs(new UpdateAction(dbClient, userSessionRule, system, validator, new CustomMeasureJsonWriter(new UserJsonWriter(userSessionRule))))); - userSessionRule.logIn("login").setGlobalPermissions(GlobalPermissions.SYSTEM_ADMIN); + userSessionRule.logIn("login").setRoot(); db.getDbClient().userDao().insert(dbSession, new UserDto() .setLogin("login") @@ -239,7 +238,7 @@ public class UpdateActionTest { @Test public void fail_if_insufficient_privileges() throws Exception { - userSessionRule.logIn("login").setGlobalPermissions(GlobalPermissions.SCAN_EXECUTION); + userSessionRule.logIn(); expectedException.expect(ForbiddenException.class); MetricDto metric = MetricTesting.newMetricDto().setEnabled(true).setValueType(ValueType.STRING.name()); dbClient.metricDao().insert(dbSession, metric); diff --git a/server/sonar-server/src/test/java/org/sonar/server/measure/ws/ComponentActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/measure/ws/ComponentActionTest.java index 0ab0f4ee561..4e61608a7a4 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/measure/ws/ComponentActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/measure/ws/ComponentActionTest.java @@ -29,7 +29,6 @@ import org.junit.rules.ExpectedException; import org.sonar.api.resources.Qualifiers; import org.sonar.api.utils.System2; import org.sonar.api.web.UserRole; -import org.sonar.core.permission.GlobalPermissions; import org.sonar.db.DbClient; import org.sonar.db.DbSession; import org.sonar.db.DbTester; @@ -51,7 +50,6 @@ import org.sonarqube.ws.WsMeasures.ComponentWsResponse; import static org.assertj.core.api.Assertions.assertThat; import static org.sonar.api.utils.DateUtils.parseDateTime; -import static org.sonar.core.permission.GlobalPermissions.SYSTEM_ADMIN; import static org.sonar.db.component.ComponentTesting.newDeveloper; import static org.sonar.db.component.ComponentTesting.newFileDto; import static org.sonar.db.component.ComponentTesting.newProjectCopy; @@ -84,7 +82,7 @@ public class ComponentActionTest { @Before public void setUp() { - userSession.logIn().setRoot().setGlobalPermissions(SYSTEM_ADMIN); + userSession.logIn().setRoot(); } @Test @@ -232,7 +230,7 @@ public class ComponentActionTest { @Test public void fail_when_not_enough_permission() { - userSession.logIn().setGlobalPermissions(GlobalPermissions.QUALITY_PROFILE_ADMIN); + userSession.logIn(); componentDb.insertProjectAndSnapshot(newProjectDto(db.organizations().insert(), PROJECT_UUID)); insertNclocMetric(); diff --git a/server/sonar-server/src/test/java/org/sonar/server/measure/ws/ComponentTreeActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/measure/ws/ComponentTreeActionTest.java index d463407a3f5..678d8f3d4ef 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/measure/ws/ComponentTreeActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/measure/ws/ComponentTreeActionTest.java @@ -32,7 +32,6 @@ import org.sonar.api.resources.Qualifiers; import org.sonar.api.server.ws.WebService.Param; import org.sonar.api.utils.System2; import org.sonar.api.web.UserRole; -import org.sonar.core.permission.GlobalPermissions; import org.sonar.db.DbClient; import org.sonar.db.DbSession; import org.sonar.db.DbTester; @@ -106,7 +105,7 @@ public class ComponentTreeActionTest { @Before public void setUp() { - userSession.logIn().setRoot().setGlobalPermissions(GlobalPermissions.SYSTEM_ADMIN); + userSession.logIn().setRoot(); resourceTypes.setChildrenQualifiers(Qualifiers.MODULE, Qualifiers.FILE, Qualifiers.DIRECTORY); resourceTypes.setLeavesQualifiers(Qualifiers.FILE, Qualifiers.UNIT_TEST_FILE); } @@ -574,7 +573,7 @@ public class ComponentTreeActionTest { @Test public void fail_when_insufficient_privileges() { - userSession.anonymous().setGlobalPermissions(GlobalPermissions.QUALITY_PROFILE_ADMIN); + userSession.logIn(); componentDb.insertProjectAndSnapshot(newProjectDto(db.getDefaultOrganization(), "project-uuid")); expectedException.expect(ForbiddenException.class); 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 04ffc23e1ad..e964afb00da 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 @@ -25,7 +25,6 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.sonar.api.web.UserRole; -import org.sonar.core.permission.GlobalPermissions; import org.sonar.db.component.ComponentDto; import org.sonar.db.permission.PermissionQuery; import org.sonar.db.permission.template.PermissionTemplateDto; @@ -179,7 +178,6 @@ public class ApplyTemplateActionTest extends BasePermissionWsTest changes = ruleActivator.activate(dbSession, activation, profileDto); dbSession.commit(); dbSession.clearCache(); diff --git a/server/sonar-server/src/test/java/org/sonar/server/rule/ws/CreateActionMediumTest.java b/server/sonar-server/src/test/java/org/sonar/server/rule/ws/CreateActionMediumTest.java index abec6d10127..4b590cad415 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/rule/ws/CreateActionMediumTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/rule/ws/CreateActionMediumTest.java @@ -29,7 +29,6 @@ import org.mockito.runners.MockitoJUnitRunner; import org.sonar.api.rule.RuleKey; import org.sonar.api.rule.RuleStatus; import org.sonar.api.rule.Severity; -import org.sonar.core.permission.GlobalPermissions; import org.sonar.db.DbClient; import org.sonar.db.DbSession; import org.sonar.db.rule.RuleDao; @@ -47,8 +46,7 @@ public class CreateActionMediumTest { public static ServerTester tester = new ServerTester().withEsIndexes(); @Rule - public UserSessionRule userSessionRule = UserSessionRule.forServerTester(tester).logIn() - .setGlobalPermissions(GlobalPermissions.QUALITY_PROFILE_ADMIN); + public UserSessionRule userSessionRule = UserSessionRule.forServerTester(tester).logIn().setRoot(); WsTester wsTester; RuleDao ruleDao; diff --git a/server/sonar-server/src/test/java/org/sonar/server/rule/ws/ShowActionMediumTest.java b/server/sonar-server/src/test/java/org/sonar/server/rule/ws/ShowActionMediumTest.java index 69ed7033814..54c4f63c04e 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/rule/ws/ShowActionMediumTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/rule/ws/ShowActionMediumTest.java @@ -41,6 +41,7 @@ import org.sonar.db.rule.RuleDto; import org.sonar.db.rule.RuleDto.Format; import org.sonar.db.rule.RuleParamDto; import org.sonar.db.rule.RuleTesting; +import org.sonar.server.organization.DefaultOrganizationProvider; import org.sonar.server.qualityprofile.index.ActiveRuleIndexer; import org.sonar.server.rule.NewCustomRule; import org.sonar.server.rule.RuleCreator; @@ -60,7 +61,7 @@ public class ShowActionMediumTest { @Rule public UserSessionRule userSessionRule = UserSessionRule.forServerTester(tester).logIn() - .setGlobalPermissions(GlobalPermissions.QUALITY_PROFILE_ADMIN); + .addOrganizationPermission(tester.get(DefaultOrganizationProvider.class).get().getUuid(), GlobalPermissions.QUALITY_PROFILE_ADMIN); WsTester wsTester;