From 2d00e017b5cb93997fc81d9646c44c754bf26544 Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=A9bastien=20Lesaint?= Date: Thu, 2 Feb 2017 15:11:38 +0100 Subject: [PATCH] SONAR-8608 bulk apply template only on projects of template's org --- .../permission/ws/PermissionWsSupport.java | 2 +- .../ws/template/BulkApplyTemplateAction.java | 5 +- .../permission/ws/AddGroupActionTest.java | 30 ++++---- .../permission/ws/AddUserActionTest.java | 28 ++++---- .../permission/ws/BasePermissionWsTest.java | 13 ---- .../permission/ws/GroupsActionTest.java | 18 ++--- .../permission/ws/RemoveGroupActionTest.java | 30 ++++---- .../permission/ws/RemoveUserActionTest.java | 28 ++++---- .../ws/SearchGlobalPermissionsActionTest.java | 4 +- .../server/permission/ws/UsersActionTest.java | 28 ++++---- .../AddGroupToTemplateActionTest.java | 26 +++---- ...AddProjectCreatorToTemplateActionTest.java | 10 +-- .../template/AddUserToTemplateActionTest.java | 20 +++--- .../ws/template/ApplyTemplateActionTest.java | 20 +++--- .../template/BulkApplyTemplateActionTest.java | 69 ++++++++++++------- .../ws/template/CreateTemplateActionTest.java | 14 ++-- .../ws/template/DeleteTemplateActionTest.java | 4 +- .../RemoveGroupFromTemplateActionTest.java | 4 +- ...eProjectCreatorFromTemplateActionTest.java | 4 +- .../RemoveUserFromTemplateActionTest.java | 24 +++---- .../ws/template/TemplateGroupsActionTest.java | 26 +++---- .../ws/template/TemplateUsersActionTest.java | 22 +++--- .../ws/template/UpdateTemplateActionTest.java | 20 +++--- 23 files changed, 230 insertions(+), 219 deletions(-) diff --git a/server/sonar-server/src/main/java/org/sonar/server/permission/ws/PermissionWsSupport.java b/server/sonar-server/src/main/java/org/sonar/server/permission/ws/PermissionWsSupport.java index 8ecf03009fc..30522a2e620 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/permission/ws/PermissionWsSupport.java +++ b/server/sonar-server/src/main/java/org/sonar/server/permission/ws/PermissionWsSupport.java @@ -106,7 +106,7 @@ public class PermissionWsSupport { OrganizationDto org = findOrganization(dbSession, ref.getOrganization()); return checkFound( dbClient.permissionTemplateDao().selectByName(dbSession, org.getUuid(), ref.name()), - "Permission template with name '%s' is not found (case insensitive)", ref.name()); + "Permission template with name '%s' is not found (case insensitive) in organization with key '%s'", ref.name(), org.getKey()); } } } diff --git a/server/sonar-server/src/main/java/org/sonar/server/permission/ws/template/BulkApplyTemplateAction.java b/server/sonar-server/src/main/java/org/sonar/server/permission/ws/template/BulkApplyTemplateAction.java index 926c898152c..3634f286fd0 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/permission/ws/template/BulkApplyTemplateAction.java +++ b/server/sonar-server/src/main/java/org/sonar/server/permission/ws/template/BulkApplyTemplateAction.java @@ -109,13 +109,14 @@ public class BulkApplyTemplateAction implements PermissionsWsAction { try (DbSession dbSession = dbClient.openSession(false)) { PermissionTemplateDto template = wsSupport.findTemplate(dbSession, newTemplateRef( request.getTemplateId(), request.getOrganization(), request.getTemplateName())); + checkGlobalAdmin(userSession, template.getOrganizationUuid()); + ComponentQuery componentQuery = ComponentQuery.builder() .setNameOrKeyQuery(request.getQuery()) .setQualifiers(qualifiers(request.getQualifier())) .build(); - List projects = dbClient.componentDao().selectByQuery(dbSession, componentQuery, 0, Integer.MAX_VALUE); + List projects = dbClient.componentDao().selectByQuery(dbSession, template.getOrganizationUuid(), componentQuery, 0, Integer.MAX_VALUE); - checkGlobalAdmin(userSession, template.getOrganizationUuid()); permissionTemplateService.apply(dbSession, template, projects); } } diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/AddGroupActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/AddGroupActionTest.java index ac5dac8211e..f10aba1d3cf 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/AddGroupActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/AddGroupActionTest.java @@ -57,7 +57,7 @@ public class AddGroupActionTest extends BasePermissionWsTest { @Test public void add_permission_to_group_referenced_by_its_name() throws Exception { GroupDto group = db.users().insertGroup(db.getDefaultOrganization(), "sonar-administrators"); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); newRequest() .setParam(PARAM_GROUP_NAME, "sonar-administrators") @@ -85,7 +85,7 @@ public class AddGroupActionTest extends BasePermissionWsTest { @Test public void add_permission_to_group_referenced_by_its_id() throws Exception { GroupDto group = db.users().insertGroup(db.getDefaultOrganization(), "sonar-administrators"); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); newRequest() .setParam(PARAM_GROUP_ID, group.getId().toString()) @@ -99,7 +99,7 @@ public class AddGroupActionTest extends BasePermissionWsTest { public void add_permission_to_project_referenced_by_its_id() throws Exception { GroupDto group = db.users().insertGroup(db.getDefaultOrganization(), "sonar-administrators"); ComponentDto project = db.components().insertComponent(newProjectDto(db.getDefaultOrganization(), A_PROJECT_UUID).setKey(A_PROJECT_KEY)); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); newRequest() .setParam(PARAM_GROUP_NAME, group.getName()) @@ -115,7 +115,7 @@ public class AddGroupActionTest extends BasePermissionWsTest { public void add_permission_to_project_referenced_by_its_key() throws Exception { GroupDto group = db.users().insertGroup(db.getDefaultOrganization(), "sonar-administrators"); ComponentDto project = db.components().insertComponent(newProjectDto(db.getDefaultOrganization(), A_PROJECT_UUID).setKey(A_PROJECT_KEY)); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); newRequest() .setParam(PARAM_GROUP_NAME, group.getName()) @@ -132,7 +132,7 @@ public class AddGroupActionTest extends BasePermissionWsTest { OrganizationDto organizationDto = db.getDefaultOrganization(); GroupDto group = db.users().insertGroup(db.getDefaultOrganization(), "sonar-administrators"); ComponentDto view = db.components().insertComponent(newView(organizationDto, "view-uuid").setKey("view-key")); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); newRequest() .setParam(PARAM_GROUP_NAME, group.getName()) @@ -147,7 +147,7 @@ public class AddGroupActionTest extends BasePermissionWsTest { @Test public void fail_if_project_uuid_is_not_found() throws Exception { GroupDto group = db.users().insertGroup(db.getDefaultOrganization(), "sonar-administrators"); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(NotFoundException.class); newRequest() @@ -160,7 +160,7 @@ public class AddGroupActionTest extends BasePermissionWsTest { @Test public void adding_a_project_permission_fails_if_project_is_not_set() throws Exception { GroupDto group = db.users().insertGroup(db.getDefaultOrganization(), "sonar-administrators"); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(BadRequestException.class); @@ -173,7 +173,7 @@ public class AddGroupActionTest extends BasePermissionWsTest { GroupDto group = db.users().insertGroup(organizationDto, "sonar-administrators"); ComponentDto project = db.components().insertComponent(newProjectDto(organizationDto, A_PROJECT_UUID).setKey(A_PROJECT_KEY)); ComponentDto file = db.components().insertComponent(ComponentTesting.newFileDto(project, null, "file-uuid")); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(BadRequestException.class); @@ -186,7 +186,7 @@ public class AddGroupActionTest extends BasePermissionWsTest { @Test public void fail_when_get_request() throws Exception { - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(ServerException.class); @@ -199,7 +199,7 @@ public class AddGroupActionTest extends BasePermissionWsTest { @Test public void fail_when_group_name_and_group_id_are_missing() throws Exception { - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(BadRequestException.class); expectedException.expectMessage("Group name or group id must be provided"); @@ -212,7 +212,7 @@ public class AddGroupActionTest extends BasePermissionWsTest { @Test public void fail_when_permission_is_missing() throws Exception { GroupDto group = db.users().insertGroup(db.getDefaultOrganization(), "sonar-administrators"); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(IllegalArgumentException.class); @@ -224,7 +224,7 @@ public class AddGroupActionTest extends BasePermissionWsTest { @Test public void fail_if_not_administrator_of_organization() throws Exception { GroupDto group = db.users().insertGroup(); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(IllegalArgumentException.class); @@ -252,7 +252,7 @@ public class AddGroupActionTest extends BasePermissionWsTest { public void fail_when_project_uuid_and_project_key_are_provided() throws Exception { GroupDto group = db.users().insertGroup(); ComponentDto project = db.components().insertComponent(newProjectDto(db.organizations().insert())); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(BadRequestException.class); expectedException.expectMessage("Project id or project key can be provided, not both."); @@ -321,7 +321,7 @@ public class AddGroupActionTest extends BasePermissionWsTest { UserDto notRootUser = db.users().insertUser(); UserDto notInGroupUser = db.users().insertUser(); db.users().insertMembers(group, rootByUserPermissionUser, rootByGroupPermissionUser, notRootUser); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); executeRequest(group, SYSTEM_ADMIN); @@ -339,7 +339,7 @@ public class AddGroupActionTest extends BasePermissionWsTest { UserDto notRootUser = db.users().insertUser(); UserDto notInGroupUser = db.users().insertUser(); db.users().insertMembers(group, rootByUserPermissionUser, rootByGroupPermissionUser, notRootUser); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); executeRequest(group, db.getDefaultOrganization(), SYSTEM_ADMIN); diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/AddUserActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/AddUserActionTest.java index 3634e569b26..fefa5fc1978 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/AddUserActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/AddUserActionTest.java @@ -60,7 +60,7 @@ public class AddUserActionTest extends BasePermissionWsTest { @Test public void add_permission_to_user() throws Exception { - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); newRequest() .setParam(PARAM_USER_LOGIN, user.getLogin()) .setParam(PARAM_PERMISSION, SYSTEM_ADMIN) @@ -73,7 +73,7 @@ public class AddUserActionTest extends BasePermissionWsTest { public void add_permission_to_project_referenced_by_its_id() throws Exception { ComponentDto project = db.components().insertProject(); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); newRequest() .setParam(PARAM_USER_LOGIN, user.getLogin()) .setParam(PARAM_PROJECT_ID, project.uuid()) @@ -88,7 +88,7 @@ public class AddUserActionTest extends BasePermissionWsTest { public void add_permission_to_project_referenced_by_its_key() throws Exception { ComponentDto project = db.components().insertProject(); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); newRequest() .setParam(PARAM_USER_LOGIN, user.getLogin()) .setParam(PARAM_PROJECT_KEY, project.getKey()) @@ -103,7 +103,7 @@ public class AddUserActionTest extends BasePermissionWsTest { public void add_permission_to_view() throws Exception { ComponentDto view = db.components().insertComponent(newView(db.getDefaultOrganization(), "view-uuid").setKey("view-key")); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); newRequest() .setParam(PARAM_USER_LOGIN, user.getLogin()) .setParam(PARAM_PROJECT_ID, view.uuid()) @@ -116,7 +116,7 @@ public class AddUserActionTest extends BasePermissionWsTest { @Test public void fail_when_project_uuid_is_unknown() throws Exception { - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(NotFoundException.class); @@ -129,7 +129,7 @@ public class AddUserActionTest extends BasePermissionWsTest { @Test public void fail_when_project_permission_without_project() throws Exception { - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(BadRequestException.class); @@ -142,7 +142,7 @@ public class AddUserActionTest extends BasePermissionWsTest { @Test public void fail_when_component_is_not_a_project() throws Exception { db.components().insertComponent(newFileDto(newProjectDto(db.organizations().insert(), "project-uuid"), null, "file-uuid")); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(BadRequestException.class); @@ -155,7 +155,7 @@ public class AddUserActionTest extends BasePermissionWsTest { @Test public void fail_when_get_request() throws Exception { - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(ServerException.class); @@ -168,7 +168,7 @@ public class AddUserActionTest extends BasePermissionWsTest { @Test public void fail_when_user_login_is_missing() throws Exception { - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(IllegalArgumentException.class); @@ -179,7 +179,7 @@ public class AddUserActionTest extends BasePermissionWsTest { @Test public void fail_when_permission_is_missing() throws Exception { - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(NotFoundException.class); @@ -191,7 +191,7 @@ public class AddUserActionTest extends BasePermissionWsTest { @Test public void fail_when_project_uuid_and_project_key_are_provided() throws Exception { db.components().insertProject(); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(BadRequestException.class); expectedException.expectMessage("Project id or project key can be provided, not both."); @@ -253,7 +253,7 @@ public class AddUserActionTest extends BasePermissionWsTest { UserDto rootByUserPermissionUser = db.users().insertRootByUserPermission(); UserDto rootByGroupPermissionUser = db.users().insertRootByGroupPermission(); UserDto notRootUser = db.users().insertUser(); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); executeRequest(notRootUser, SYSTEM_ADMIN); db.rootFlag().verify(notRootUser, true); @@ -276,7 +276,7 @@ public class AddUserActionTest extends BasePermissionWsTest { UserDto rootByUserPermissionUser = db.users().insertRootByUserPermission(); UserDto rootByGroupPermissionUser = db.users().insertRootByGroupPermission(); UserDto notRootUser = db.users().insertUser(); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); executeRequest(notRootUser, SYSTEM_ADMIN, db.getDefaultOrganization()); db.rootFlag().verify(notRootUser, true); @@ -321,7 +321,7 @@ public class AddUserActionTest extends BasePermissionWsTest { @Test public void organization_parameter_must_not_be_set_on_project_permissions() { ComponentDto project = db.components().insertProject(); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("Organization must not be set when project is set."); 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 11f7ca93055..67827374ead 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 @@ -29,7 +29,6 @@ import org.sonar.db.DbTester; import org.sonar.db.component.ResourceTypesRule; import org.sonar.db.organization.OrganizationDto; import org.sonar.db.permission.template.PermissionTemplateDto; -import org.sonar.db.permission.template.PermissionTemplateTesting; import org.sonar.server.component.ComponentFinder; import org.sonar.server.organization.TestDefaultOrganizationProvider; import org.sonar.server.permission.GroupPermissionChanger; @@ -87,18 +86,6 @@ public abstract class BasePermissionWsTest { return wsTester.newRequest().setMethod("POST"); } - protected PermissionTemplateDto insertTemplate() { - PermissionTemplateDto dto = PermissionTemplateTesting.newPermissionTemplateDto() - .setOrganizationUuid(db.getDefaultOrganization().getUuid()); - dto = db.getDbClient().permissionTemplateDao().insert(db.getSession(), dto); - db.commit(); - return dto; - } - - protected void loginAsAdminOnDefaultOrganization() { - loginAsAdmin(db.getDefaultOrganization()); - } - protected void loginAsAdmin(OrganizationDto org, OrganizationDto... otherOrgs) { userSession.logIn().addOrganizationPermission(org.getUuid(), SYSTEM_ADMIN); for (OrganizationDto otherOrg : otherOrgs) { diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/GroupsActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/GroupsActionTest.java index 485dc6b35ab..2fc6cbf3cc1 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/GroupsActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/GroupsActionTest.java @@ -73,7 +73,7 @@ public class GroupsActionTest extends BasePermissionWsTest { @Test public void search_for_groups_with_one_permission() throws Exception { - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); String json = newRequest() .setParam(PARAM_PERMISSION, SCAN_EXECUTION) @@ -112,7 +112,7 @@ public class GroupsActionTest extends BasePermissionWsTest { @Test public void search_with_selection() throws Exception { - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); String result = newRequest() .setParam(PARAM_PERMISSION, SCAN_EXECUTION) .execute() @@ -123,7 +123,7 @@ public class GroupsActionTest extends BasePermissionWsTest { @Test public void search_groups_with_pagination() throws Exception { - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); String result = newRequest() .setParam(PARAM_PERMISSION, SCAN_EXECUTION) .setParam(PAGE_SIZE, "1") @@ -138,7 +138,7 @@ public class GroupsActionTest extends BasePermissionWsTest { @Test public void search_groups_with_query() throws Exception { - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); String result = newRequest() .setParam(PARAM_PERMISSION, SCAN_EXECUTION) .setParam(TEXT_QUERY, "group-") @@ -185,7 +185,7 @@ public class GroupsActionTest extends BasePermissionWsTest { GroupDto groupWithoutPermission = db.users().insertGroup(organizationDto, "group-without-permission"); GroupDto anotherGroup = db.users().insertGroup(organizationDto, "another-group"); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); String result = newRequest() .setParam(PARAM_PERMISSION, ISSUE_ADMIN) .setParam(PARAM_PROJECT_ID, "project-uuid") @@ -206,7 +206,7 @@ public class GroupsActionTest extends BasePermissionWsTest { GroupDto groupWithoutPermission = db.users().insertGroup(db.getDefaultOrganization(), "group-without-permission"); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); String result = newRequest() .setParam(PARAM_PERMISSION, ISSUE_ADMIN) .setParam(PARAM_PROJECT_ID, project.uuid()) @@ -224,7 +224,7 @@ public class GroupsActionTest extends BasePermissionWsTest { GroupDto group = db.users().insertGroup(organizationDto, "group-with-permission"); db.users().insertProjectPermissionOnGroup(group, ISSUE_ADMIN, project); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); String result = newRequest() .setParam(PARAM_PROJECT_ID, project.uuid()) .setParam(TEXT_QUERY, "nyo") @@ -240,7 +240,7 @@ public class GroupsActionTest extends BasePermissionWsTest { GroupDto group = db.users().insertGroup(db.getDefaultOrganization(), "project-group-name"); db.users().insertProjectPermissionOnGroup(group, ISSUE_ADMIN, view); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); String result = newRequest() .setParam(PARAM_PERMISSION, ISSUE_ADMIN) .setParam(PARAM_PROJECT_ID, "view-uuid") @@ -279,7 +279,7 @@ public class GroupsActionTest extends BasePermissionWsTest { expectedException.expect(BadRequestException.class); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); newRequest() .setParam(PARAM_PERMISSION, SCAN_EXECUTION) .setParam(PARAM_PROJECT_ID, "project-uuid") diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/RemoveGroupActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/RemoveGroupActionTest.java index 893d82828e1..3a27d7ed396 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/RemoveGroupActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/RemoveGroupActionTest.java @@ -63,7 +63,7 @@ public class RemoveGroupActionTest extends BasePermissionWsTest public void remove_permission_from_user() throws Exception { db.users().insertPermissionOnUser(user, PROVISIONING); db.users().insertPermissionOnUser(user, QUALITY_GATE_ADMIN); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); newRequest() .setParam(PARAM_USER_LOGIN, user.getLogin()) @@ -82,7 +82,7 @@ public class RemoveUserActionTest extends BasePermissionWsTest public void fail_to_remove_admin_permission_if_last_admin() throws Exception { db.users().insertPermissionOnUser(user, CODEVIEWER); db.users().insertPermissionOnUser(user, ADMIN); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(BadRequestException.class); expectedException.expectMessage("Last user with permission 'admin'. Permission cannot be removed."); @@ -98,7 +98,7 @@ public class RemoveUserActionTest extends BasePermissionWsTest ComponentDto project = db.components().insertComponent(newProjectDto(db.organizations().insert(), A_PROJECT_UUID).setKey(A_PROJECT_KEY)); db.users().insertProjectPermissionOnUser(user, CODEVIEWER, project); db.users().insertProjectPermissionOnUser(user, ISSUE_ADMIN, project); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); newRequest() .setParam(PARAM_USER_LOGIN, user.getLogin()) @@ -114,7 +114,7 @@ public class RemoveUserActionTest extends BasePermissionWsTest ComponentDto project = db.components().insertComponent(newProjectDto(db.organizations().insert(), A_PROJECT_UUID).setKey(A_PROJECT_KEY)); db.users().insertProjectPermissionOnUser(user, ISSUE_ADMIN, project); db.users().insertProjectPermissionOnUser(user, CODEVIEWER, project); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); newRequest() .setParam(PARAM_USER_LOGIN, user.getLogin()) @@ -130,7 +130,7 @@ public class RemoveUserActionTest extends BasePermissionWsTest ComponentDto view = db.components().insertComponent(newView(db.organizations().insert(), "view-uuid").setKey("view-key")); db.users().insertProjectPermissionOnUser(user, ISSUE_ADMIN, view); db.users().insertProjectPermissionOnUser(user, CODEVIEWER, view); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); newRequest() .setParam(PARAM_USER_LOGIN, user.getLogin()) @@ -143,7 +143,7 @@ public class RemoveUserActionTest extends BasePermissionWsTest @Test public void fail_when_project_does_not_exist() throws Exception { - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(NotFoundException.class); @@ -156,7 +156,7 @@ public class RemoveUserActionTest extends BasePermissionWsTest @Test public void fail_when_project_permission_without_permission() throws Exception { - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(BadRequestException.class); @@ -169,7 +169,7 @@ public class RemoveUserActionTest extends BasePermissionWsTest @Test public void fail_when_component_is_not_a_project() throws Exception { db.components().insertComponent(newFileDto(newProjectDto(db.organizations().insert()), null, "file-uuid")); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(BadRequestException.class); @@ -182,7 +182,7 @@ public class RemoveUserActionTest extends BasePermissionWsTest @Test public void fail_when_get_request() throws Exception { - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(ServerException.class); @@ -195,7 +195,7 @@ public class RemoveUserActionTest extends BasePermissionWsTest @Test public void fail_when_user_login_is_missing() throws Exception { - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(IllegalArgumentException.class); @@ -206,7 +206,7 @@ public class RemoveUserActionTest extends BasePermissionWsTest @Test public void fail_when_permission_is_missing() throws Exception { - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(IllegalArgumentException.class); @@ -218,7 +218,7 @@ public class RemoveUserActionTest extends BasePermissionWsTest @Test public void fail_when_project_uuid_and_project_key_are_provided() throws Exception { ComponentDto project = db.components().insertComponent(newProjectDto(db.organizations().insert(), A_PROJECT_UUID).setKey(A_PROJECT_KEY)); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(BadRequestException.class); expectedException.expectMessage("Project id or project key can be provided, not both."); @@ -235,7 +235,7 @@ public class RemoveUserActionTest extends BasePermissionWsTest public void sets_root_flag_to_false_when_removing_user_admin_permission_of_default_organization_without_org_parameter() throws Exception { UserDto lastAdminUser = db.users().insertRootByUserPermission(); UserDto adminUser = db.users().insertRootByUserPermission(); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); executeRequest(adminUser, SYSTEM_ADMIN); @@ -246,7 +246,7 @@ public class RemoveUserActionTest extends BasePermissionWsTest public void sets_root_flag_to_false_when_removing_user_admin_permission_of_default_organization_with_org_parameter() throws Exception { UserDto lastAdminUser = db.users().insertRootByUserPermission(); UserDto adminUser = db.users().insertRootByUserPermission(); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); executeRequest(adminUser, db.getDefaultOrganization(), SYSTEM_ADMIN); diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/SearchGlobalPermissionsActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/SearchGlobalPermissionsActionTest.java index 2bb6e4985c3..063ef3d6aff 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/SearchGlobalPermissionsActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/SearchGlobalPermissionsActionTest.java @@ -114,7 +114,7 @@ public class SearchGlobalPermissionsActionTest extends BasePermissionWsTest { db.users().insertPermissionOnUser(user1, QUALITY_PROFILE_ADMIN); db.users().insertPermissionOnUser(user2, SCAN_EXECUTION); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); String result = newRequest().execute().getInput(); assertJson(result).withStrictArrayOrder().isSimilarTo(getClass().getResource("users-example.json")); @@ -69,7 +69,7 @@ public class UsersActionTest extends BasePermissionWsTest { public void search_for_users_with_one_permission() throws Exception { insertUsersHavingGlobalPermissions(); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); String result = newRequest().setParam("permission", "scan").execute().getInput(); assertJson(result).withStrictArrayOrder().isSimilarTo(getClass().getResource("UsersActionTest/users.json")); @@ -112,7 +112,7 @@ public class UsersActionTest extends BasePermissionWsTest { // User has no permission UserDto withoutPermission = db.users().insertUser(); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); String result = newRequest() .setParam(PARAM_PROJECT_ID, project.uuid()) .execute() @@ -134,8 +134,12 @@ public class UsersActionTest extends BasePermissionWsTest { UserDto withoutPermission = db.users().insertUser(newUserDto("without-permission-login", "without-permission-name", "without-permission-email")); UserDto anotherUser = db.users().insertUser(newUserDto("another-user", "another-user", "another-user")); - loginAsAdminOnDefaultOrganization(); - String result = newRequest().setParam(PARAM_PROJECT_ID, project.uuid()).setParam(TEXT_QUERY, "name").execute().getInput(); + loginAsAdmin(db.getDefaultOrganization()); + String result = newRequest() + .setParam(PARAM_PROJECT_ID, project.uuid()) + .setParam(TEXT_QUERY, "with") + .execute() + .getInput(); assertThat(result).contains(user.getLogin(), withoutPermission.getLogin()).doesNotContain(anotherUser.getLogin()); } @@ -151,7 +155,7 @@ public class UsersActionTest extends BasePermissionWsTest { UserDto withoutPermission = db.users().insertUser(newUserDto("without-permission-login", "without-permission-name", "without-permission-email")); UserDto anotherUser = db.users().insertUser(newUserDto("another-user", "another-user", "another-user")); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); String result = newRequest().setParam(PARAM_PROJECT_ID, project.uuid()).setParam(TEXT_QUERY, "email").execute().getInput(); assertThat(result).contains(user.getLogin(), withoutPermission.getLogin()).doesNotContain(anotherUser.getLogin()); @@ -168,7 +172,7 @@ public class UsersActionTest extends BasePermissionWsTest { UserDto withoutPermission = db.users().insertUser(newUserDto("without-permission-login", "without-permission-name", "without-permission-email")); UserDto anotherUser = db.users().insertUser(newUserDto("another-user", "another-user", "another-user")); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); String result = newRequest().setParam(PARAM_PROJECT_ID, project.uuid()).setParam(TEXT_QUERY, "login").execute().getInput(); assertThat(result).contains(user.getLogin(), withoutPermission.getLogin()).doesNotContain(anotherUser.getLogin()); @@ -178,7 +182,7 @@ public class UsersActionTest extends BasePermissionWsTest { public void search_for_users_with_query_as_a_parameter() throws Exception { insertUsersHavingGlobalPermissions(); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); String result = newRequest() .setParam("permission", "scan") .setParam(TEXT_QUERY, "ame-1") @@ -194,7 +198,7 @@ public class UsersActionTest extends BasePermissionWsTest { public void search_for_users_with_select_as_a_parameter() throws Exception { insertUsersHavingGlobalPermissions(); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); String result = newRequest() .execute() .getInput(); @@ -204,7 +208,7 @@ public class UsersActionTest extends BasePermissionWsTest { @Test public void fail_if_project_permission_without_project() throws Exception { - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(BadRequestException.class); @@ -239,7 +243,7 @@ public class UsersActionTest extends BasePermissionWsTest { @Test public void fail_if_project_uuid_and_project_key_are_provided() throws Exception { db.components().insertComponent(newProjectDto(db.organizations().insert(), "project-uuid").setKey("project-key")); - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(BadRequestException.class); expectedException.expectMessage("Project id or project key can be provided, not both."); @@ -253,7 +257,7 @@ public class UsersActionTest extends BasePermissionWsTest { @Test public void fail_if_search_query_is_too_short() throws Exception { - loginAsAdminOnDefaultOrganization(); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(BadRequestException.class); expectedException.expectMessage("The 'q' parameter must have at least 3 characters"); diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/AddGroupToTemplateActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/AddGroupToTemplateActionTest.java index a0c275b5326..d6df86ef898 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/AddGroupToTemplateActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/AddGroupToTemplateActionTest.java @@ -57,13 +57,13 @@ public class AddGroupToTemplateActionTest extends BasePermissionWsTest selectProjectPermissionGroups(ComponentDto project, String permission) { PermissionQuery query = PermissionQuery.builder().setPermission(permission).setComponentUuid(project.uuid()).build(); - return db.getDbClient().groupPermissionDao().selectGroupNamesByQuery(db.getSession(), db.getDefaultOrganization().getUuid(), query); + return db.getDbClient().groupPermissionDao().selectGroupNamesByQuery(db.getSession(), project.getOrganizationUuid(), query); } private List selectProjectPermissionUsers(ComponentDto project, String permission) { PermissionQuery query = PermissionQuery.builder().setPermission(permission).setComponentUuid(project.uuid()).build(); - return db.getDbClient().userPermissionDao().selectUserIds(db.getSession(), db.getDefaultOrganization().getUuid(), query); + return db.getDbClient().userPermissionDao().selectUserIds(db.getSession(), project.getOrganizationUuid(), query); } } diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/CreateTemplateActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/CreateTemplateActionTest.java index 1b541324c7e..722d9269ecc 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/CreateTemplateActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/CreateTemplateActionTest.java @@ -49,7 +49,7 @@ public class CreateTemplateActionTest extends BasePermissionWsTest