Browse Source

SONAR-13936 Rename OrganizationPermission to GlobalPermission

tags/8.6.0.39681
Julien Lancelot 3 years ago
parent
commit
b493fce1f2
100 changed files with 242 additions and 241 deletions
  1. 2
    1
      server/sonar-db-dao/src/main/java/org/sonar/core/permission/GlobalPermissions.java
  2. 2
    2
      server/sonar-db-dao/src/main/java/org/sonar/db/organization/OrganizationHelper.java
  3. 2
    2
      server/sonar-db-dao/src/main/java/org/sonar/db/permission/AuthorizationDao.java
  4. 4
    4
      server/sonar-db-dao/src/main/java/org/sonar/db/permission/GlobalPermission.java
  5. 3
    3
      server/sonar-db-dao/src/test/java/org/sonar/db/permission/AuthorizationDaoTest.java
  6. 3
    3
      server/sonar-db-dao/src/test/java/org/sonar/db/permission/GlobalPermissionTest.java
  7. 3
    3
      server/sonar-db-dao/src/test/java/org/sonar/db/permission/GroupPermissionDaoTest.java
  8. 6
    6
      server/sonar-db-dao/src/test/java/org/sonar/db/permission/UserPermissionDaoTest.java
  9. 2
    2
      server/sonar-db-dao/src/test/java/org/sonar/db/purge/PurgeCommandsTest.java
  10. 1
    1
      server/sonar-db-dao/src/test/java/org/sonar/db/user/RoleDaoTest.java
  11. 1
    1
      server/sonar-db-dao/src/testFixtures/java/org/sonar/db/permission/PermissionsTestHelper.java
  12. 10
    10
      server/sonar-db-dao/src/testFixtures/java/org/sonar/db/user/UserDbTester.java
  13. 2
    2
      server/sonar-webserver-auth/src/main/java/org/sonar/server/authentication/SafeModeUserSession.java
  14. 1
    1
      server/sonar-webserver-auth/src/main/java/org/sonar/server/organization/MemberUpdater.java
  15. 3
    3
      server/sonar-webserver-auth/src/main/java/org/sonar/server/organization/OrganizationUpdaterImpl.java
  16. 2
    2
      server/sonar-webserver-auth/src/main/java/org/sonar/server/permission/PermissionService.java
  17. 8
    8
      server/sonar-webserver-auth/src/main/java/org/sonar/server/permission/PermissionServiceImpl.java
  18. 4
    4
      server/sonar-webserver-auth/src/main/java/org/sonar/server/user/AbstractUserSession.java
  19. 3
    3
      server/sonar-webserver-auth/src/main/java/org/sonar/server/user/DoPrivileged.java
  20. 6
    6
      server/sonar-webserver-auth/src/main/java/org/sonar/server/user/ServerUserSession.java
  21. 3
    3
      server/sonar-webserver-auth/src/main/java/org/sonar/server/user/ThreadLocalUserSession.java
  22. 4
    4
      server/sonar-webserver-auth/src/main/java/org/sonar/server/user/UserSession.java
  23. 2
    2
      server/sonar-webserver-auth/src/test/java/org/sonar/server/authentication/SafeModeUserSessionTest.java
  24. 2
    2
      server/sonar-webserver-auth/src/test/java/org/sonar/server/permission/PermissionServiceImplTest.java
  25. 3
    3
      server/sonar-webserver-auth/src/test/java/org/sonar/server/user/ServerUserSessionTest.java
  26. 4
    4
      server/sonar-webserver-auth/src/testFixtures/java/org/sonar/server/tester/AbstractMockUserSession.java
  27. 4
    4
      server/sonar-webserver-auth/src/testFixtures/java/org/sonar/server/tester/UserSessionRule.java
  28. 2
    2
      server/sonar-webserver-auth/src/testFixtures/java/org/sonar/server/user/TestUserSessionFactory.java
  29. 3
    3
      server/sonar-webserver-core/src/main/java/org/sonar/server/startup/RegisterPermissionTemplates.java
  30. 3
    3
      server/sonar-webserver-core/src/test/java/org/sonar/server/startup/RegisterPermissionTemplatesTest.java
  31. 2
    2
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/batch/ProjectDataLoader.java
  32. 2
    2
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/branch/pr/ws/ListAction.java
  33. 1
    1
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/branch/ws/ListAction.java
  34. 3
    3
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/queue/ReportSubmitter.java
  35. 3
    3
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/TaskAction.java
  36. 1
    1
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/newcodeperiod/ws/ShowAction.java
  37. 4
    4
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/organization/ws/AddMemberAction.java
  38. 2
    2
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/organization/ws/DeleteAction.java
  39. 2
    2
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/organization/ws/EnableSupportAction.java
  40. 3
    3
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/organization/ws/RemoveMemberAction.java
  41. 2
    2
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/organization/ws/SearchAction.java
  42. 1
    1
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/organization/ws/SearchMembersAction.java
  43. 1
    1
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/organization/ws/UpdateAction.java
  44. 2
    2
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/permission/PermissionChange.java
  45. 3
    3
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/permission/PermissionPrivilegeChecker.java
  46. 1
    1
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/permission/PermissionTemplateService.java
  47. 2
    2
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/permission/ws/SearchGlobalPermissionsAction.java
  48. 2
    2
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/project/ws/BulkDeleteAction.java
  49. 1
    1
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/project/ws/CreateAction.java
  50. 2
    2
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/project/ws/DeleteAction.java
  51. 2
    2
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/project/ws/SearchAction.java
  52. 1
    1
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualitygate/ws/CopyAction.java
  53. 2
    2
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualitygate/ws/CreateAction.java
  54. 1
    1
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualitygate/ws/QualityGatesWsSupport.java
  55. 1
    1
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualitygate/ws/SetAsDefaultAction.java
  56. 1
    1
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/CopyAction.java
  57. 1
    1
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/CreateAction.java
  58. 3
    3
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/QProfileWsSupport.java
  59. 1
    1
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/RestoreAction.java
  60. 1
    1
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/SearchAction.java
  61. 1
    1
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/SetDefaultAction.java
  62. 2
    2
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/rule/ws/AppAction.java
  63. 1
    1
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/rule/ws/RuleWsSupport.java
  64. 4
    4
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/setting/ws/SettingsWsSupport.java
  65. 2
    2
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/setting/ws/ValuesAction.java
  66. 6
    6
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/ui/ws/ComponentAction.java
  67. 1
    1
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/ui/ws/OrganizationAction.java
  68. 2
    2
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/user/ws/CurrentAction.java
  69. 1
    1
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/user/ws/DeactivateAction.java
  70. 2
    2
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/user/ws/GroupsAction.java
  71. 1
    1
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/AddUserAction.java
  72. 1
    1
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/CreateAction.java
  73. 3
    3
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/DeleteAction.java
  74. 3
    3
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/RemoveUserAction.java
  75. 1
    1
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/SearchAction.java
  76. 1
    1
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/UpdateAction.java
  77. 2
    2
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/UsersAction.java
  78. 1
    1
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/webhook/ws/WebhookSupport.java
  79. 2
    2
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/branch/pr/ws/ListActionTest.java
  80. 2
    2
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/ce/queue/BranchReportSubmitterTest.java
  81. 10
    10
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/ce/queue/ReportSubmitterTest.java
  82. 3
    3
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/ce/ws/TaskActionTest.java
  83. 7
    7
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/GroupPermissionChangerTest.java
  84. 3
    3
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/PermissionTemplateServiceTest.java
  85. 6
    6
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/UserPermissionChangerTest.java
  86. 1
    1
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/AddGroupActionTest.java
  87. 1
    1
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/AddUserActionTest.java
  88. 1
    1
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/BasePermissionWsTest.java
  89. 2
    2
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/GroupsActionTest.java
  90. 2
    2
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/RemoveGroupActionTest.java
  91. 3
    3
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/RemoveUserActionTest.java
  92. 1
    1
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/SearchGlobalPermissionsActionTest.java
  93. 1
    1
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/SearchProjectPermissionsActionTest.java
  94. 5
    5
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/UsersActionTest.java
  95. 1
    1
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/template/AddProjectCreatorToTemplateActionTest.java
  96. 1
    1
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/template/AddUserToTemplateActionTest.java
  97. 1
    1
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/template/ApplyTemplateActionTest.java
  98. 1
    1
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/template/CreateTemplateActionTest.java
  99. 1
    1
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/template/DeleteTemplateActionTest.java
  100. 0
    0
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/template/RemoveGroupFromTemplateActionTest.java

+ 2
- 1
server/sonar-db-dao/src/main/java/org/sonar/core/permission/GlobalPermissions.java View File

@@ -22,11 +22,12 @@ package org.sonar.core.permission;
import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableList;
import java.util.List;
import org.sonar.db.permission.GlobalPermission;

/**
* Holds the constants representing the various global permissions that can be assigned to users & groups
*
* @deprecated replaced by enum {@link org.sonar.db.permission.OrganizationPermission}
* @deprecated replaced by enum {@link GlobalPermission}
*/
@Deprecated
public final class GlobalPermissions {

+ 2
- 2
server/sonar-db-dao/src/main/java/org/sonar/db/organization/OrganizationHelper.java View File

@@ -23,11 +23,11 @@ import java.util.List;
import java.util.stream.Collectors;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;

public class OrganizationHelper {

private static final String ADMIN_PERMISSION = OrganizationPermission.ADMINISTER.getKey();
private static final String ADMIN_PERMISSION = GlobalPermission.ADMINISTER.getKey();

private final DbClient dbClient;


+ 2
- 2
server/sonar-db-dao/src/main/java/org/sonar/db/permission/AuthorizationDao.java View File

@@ -29,8 +29,8 @@ import org.sonar.db.EmailSubscriberDto;

import static org.sonar.db.DatabaseUtils.executeLargeInputs;
import static org.sonar.db.DatabaseUtils.executeLargeInputsIntoSet;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_PROFILES;

/**
* The SQL requests used to verify authorization (the permissions

server/sonar-db-dao/src/main/java/org/sonar/db/permission/OrganizationPermission.java → server/sonar-db-dao/src/main/java/org/sonar/db/permission/GlobalPermission.java View File

@@ -19,7 +19,7 @@
*/
package org.sonar.db.permission;

public enum OrganizationPermission {
public enum GlobalPermission {

ADMINISTER("admin"),
ADMINISTER_QUALITY_GATES("gateadmin"),
@@ -35,7 +35,7 @@ public enum OrganizationPermission {

private final String key;

OrganizationPermission(String key) {
GlobalPermission(String key) {
this.key = key;
}

@@ -48,8 +48,8 @@ public enum OrganizationPermission {
return key;
}

public static OrganizationPermission fromKey(String key) {
for (OrganizationPermission p : values()) {
public static GlobalPermission fromKey(String key) {
for (GlobalPermission p : values()) {
if (p.getKey().equals(key)) {
return p;
}

+ 3
- 3
server/sonar-db-dao/src/test/java/org/sonar/db/permission/AuthorizationDaoTest.java View File

@@ -46,9 +46,9 @@ import static com.google.common.collect.Sets.newHashSet;
import static java.util.Collections.singleton;
import static org.assertj.core.api.Assertions.assertThat;
import static org.sonar.core.permission.GlobalPermissions.QUALITY_PROFILE_ADMIN;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonar.db.permission.OrganizationPermission.PROVISION_PROJECTS;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonar.db.permission.GlobalPermission.PROVISION_PROJECTS;

public class AuthorizationDaoTest {


server/sonar-db-dao/src/test/java/org/sonar/db/permission/OrganizationPermissionTest.java → server/sonar-db-dao/src/test/java/org/sonar/db/permission/GlobalPermissionTest.java View File

@@ -23,12 +23,12 @@ import org.junit.Test;

import static org.assertj.core.api.Assertions.assertThat;

public class OrganizationPermissionTest {
public class GlobalPermissionTest {

@Test
public void fromKey_returns_enum_with_specified_key() {
for (OrganizationPermission p : OrganizationPermission.values()) {
assertThat(OrganizationPermission.fromKey(p.getKey())).isEqualTo(p);
for (GlobalPermission p : GlobalPermission.values()) {
assertThat(GlobalPermission.fromKey(p.getKey())).isEqualTo(p);
}
}
}

+ 3
- 3
server/sonar-db-dao/src/test/java/org/sonar/db/permission/GroupPermissionDaoTest.java View File

@@ -46,9 +46,9 @@ import static org.sonar.api.web.UserRole.ADMIN;
import static org.sonar.api.web.UserRole.ISSUE_ADMIN;
import static org.sonar.api.web.UserRole.USER;
import static org.sonar.core.permission.GlobalPermissions.SCAN_EXECUTION;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.OrganizationPermission.PROVISION_PROJECTS;
import static org.sonar.db.permission.OrganizationPermission.SCAN;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.PROVISION_PROJECTS;
import static org.sonar.db.permission.GlobalPermission.SCAN;
import static org.sonar.db.permission.PermissionQuery.DEFAULT_PAGE_SIZE;

public class GroupPermissionDaoTest {

+ 6
- 6
server/sonar-db-dao/src/test/java/org/sonar/db/permission/UserPermissionDaoTest.java View File

@@ -50,10 +50,10 @@ import static org.sonar.core.permission.GlobalPermissions.PROVISIONING;
import static org.sonar.core.permission.GlobalPermissions.QUALITY_PROFILE_ADMIN;
import static org.sonar.core.permission.GlobalPermissions.SYSTEM_ADMIN;
import static org.sonar.db.component.ComponentTesting.newPrivateProjectDto;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_GATES;
import static org.sonar.db.permission.OrganizationPermission.PROVISION_PROJECTS;
import static org.sonar.db.permission.OrganizationPermission.SCAN;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_GATES;
import static org.sonar.db.permission.GlobalPermission.PROVISION_PROJECTS;
import static org.sonar.db.permission.GlobalPermission.SCAN;
import static org.sonar.db.permission.PermissionQuery.DEFAULT_PAGE_SIZE;

public class UserPermissionDaoTest {
@@ -654,9 +654,9 @@ public class UserPermissionDaoTest {
assertThat(db.countSql(dbSession, "select count(uuid) from user_roles where component_uuid='" + project.uuid() + "'")).isEqualTo(0);
}

private void assertGlobalPermissionsOfUser(UserDto user, OrganizationPermission... permissions) {
private void assertGlobalPermissionsOfUser(UserDto user, GlobalPermission... permissions) {
assertThat(underTest.selectGlobalPermissionsOfUser(dbSession, user.getUuid()).stream()
.map(OrganizationPermission::fromKey))
.map(GlobalPermission::fromKey))
.containsOnly(permissions);
}


+ 2
- 2
server/sonar-db-dao/src/test/java/org/sonar/db/purge/PurgeCommandsTest.java View File

@@ -48,7 +48,7 @@ import org.sonar.db.metric.MetricDto;
import org.sonar.db.newcodeperiod.NewCodePeriodType;
import org.sonar.db.organization.OrganizationDto;
import org.sonar.db.organization.OrganizationTesting;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.project.ProjectDto;
import org.sonar.db.rule.RuleDefinitionDto;
import org.sonar.db.user.GroupDto;
@@ -654,7 +654,7 @@ public class PurgeCommandsTest {

UserDto user = dbTester.users().insertUser();
dbTester.users().insertProjectPermissionOnUser(user, "doh", root);
dbTester.users().insertPermissionOnUser(user, OrganizationPermission.SCAN);
dbTester.users().insertPermissionOnUser(user, GlobalPermission.SCAN);

assertThat(dbTester.countRowsOfTable("group_roles")).isEqualTo(root.isPrivate() ? 2 : 4);
assertThat(dbTester.countRowsOfTable("user_roles")).isEqualTo(2);

+ 1
- 1
server/sonar-db-dao/src/test/java/org/sonar/db/user/RoleDaoTest.java View File

@@ -32,7 +32,7 @@ import org.sonar.db.DbTester;
import org.sonar.db.component.ComponentDto;

import static org.assertj.core.api.Assertions.assertThat;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;

public class RoleDaoTest {


+ 1
- 1
server/sonar-db-dao/src/testFixtures/java/org/sonar/db/permission/PermissionsTestHelper.java View File

@@ -27,7 +27,7 @@ import org.sonar.core.permission.GlobalPermissions;
public class PermissionsTestHelper {

public static final Set<String> ALL_PERMISSIONS = ImmutableSet.of(UserRole.ADMIN, UserRole.CODEVIEWER, UserRole.ISSUE_ADMIN, UserRole.SECURITYHOTSPOT_ADMIN,
GlobalPermissions.SCAN_EXECUTION, UserRole.USER, OrganizationPermission.APPLICATION_CREATOR.getKey(), OrganizationPermission.PORTFOLIO_CREATOR.getKey());
GlobalPermissions.SCAN_EXECUTION, UserRole.USER, GlobalPermission.APPLICATION_CREATOR.getKey(), GlobalPermission.PORTFOLIO_CREATOR.getKey());

private PermissionsTestHelper() {
}

+ 10
- 10
server/sonar-db-dao/src/testFixtures/java/org/sonar/db/user/UserDbTester.java View File

@@ -35,15 +35,15 @@ import org.sonar.db.DbClient;
import org.sonar.db.DbTester;
import org.sonar.db.ce.CeTaskMessageType;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.permission.GroupPermissionDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.UserPermissionDto;
import org.sonar.db.project.ProjectDto;

import static com.google.common.base.Preconditions.checkArgument;
import static java.util.Arrays.stream;
import static org.apache.commons.lang.math.RandomUtils.nextLong;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.db.user.GroupTesting.newGroupDto;

public class UserDbTester {
@@ -205,7 +205,7 @@ public class UserDbTester {
return dto;
}

public GroupPermissionDto insertPermissionOnAnyone(OrganizationPermission permission) {
public GroupPermissionDto insertPermissionOnAnyone(GlobalPermission permission) {
return insertPermissionOnAnyone(permission.getKey());
}

@@ -219,7 +219,7 @@ public class UserDbTester {
return dto;
}

public GroupPermissionDto insertPermissionOnGroup(GroupDto group, OrganizationPermission permission) {
public GroupPermissionDto insertPermissionOnGroup(GroupDto group, GlobalPermission permission) {
return insertPermissionOnGroup(group, permission.getKey());
}

@@ -281,13 +281,13 @@ public class UserDbTester {
/**
* Grant permission
*/
public UserPermissionDto insertPermissionOnUser(UserDto user, OrganizationPermission permission) {
public UserPermissionDto insertPermissionOnUser(UserDto user, GlobalPermission permission) {
return insertPermissionOnUser(user, permission.getKey());
}

/**
* Grant global permission
* @deprecated use {@link #insertPermissionOnUser(UserDto, OrganizationPermission)}
* @deprecated use {@link #insertPermissionOnUser(UserDto, GlobalPermission)}
*/
@Deprecated
public UserPermissionDto insertPermissionOnUser(UserDto user, String permission) {
@@ -297,7 +297,7 @@ public class UserDbTester {
return dto;
}

public void deletePermissionFromUser(UserDto user, OrganizationPermission permission) {
public void deletePermissionFromUser(UserDto user, GlobalPermission permission) {
db.getDbClient().userPermissionDao().deleteGlobalPermission(db.getSession(), user.getUuid(), permission.getKey());
db.commit();
}
@@ -320,7 +320,7 @@ public class UserDbTester {
return dto;
}

public List<OrganizationPermission> selectPermissionsOfUser(UserDto user) {
public List<GlobalPermission> selectPermissionsOfUser(UserDto user) {
return toListOfOrganizationPermissions(db.getDbClient().userPermissionDao()
.selectGlobalPermissionsOfUser(db.getSession(), user.getUuid()));
}
@@ -329,10 +329,10 @@ public class UserDbTester {
return db.getDbClient().userPermissionDao().selectProjectPermissionsOfUser(db.getSession(), user.getUuid(), project.uuid());
}

private static List<OrganizationPermission> toListOfOrganizationPermissions(List<String> keys) {
private static List<GlobalPermission> toListOfOrganizationPermissions(List<String> keys) {
return keys
.stream()
.map(OrganizationPermission::fromKey)
.map(GlobalPermission::fromKey)
.collect(MoreCollectors.toList());
}


+ 2
- 2
server/sonar-webserver-auth/src/main/java/org/sonar/server/authentication/SafeModeUserSession.java View File

@@ -24,7 +24,7 @@ import java.util.Collections;
import java.util.Optional;
import javax.annotation.CheckForNull;
import javax.annotation.concurrent.Immutable;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.user.GroupDto;
import org.sonar.server.user.AbstractUserSession;

@@ -32,7 +32,7 @@ import org.sonar.server.user.AbstractUserSession;
public class SafeModeUserSession extends AbstractUserSession {

@Override
protected boolean hasPermissionImpl(OrganizationPermission permission) {
protected boolean hasPermissionImpl(GlobalPermission permission) {
return false;
}


+ 1
- 1
server/sonar-webserver-auth/src/main/java/org/sonar/server/organization/MemberUpdater.java View File

@@ -42,7 +42,7 @@ import static java.util.stream.Collectors.toSet;
import static org.sonar.api.CoreProperties.DEFAULT_ISSUE_ASSIGNEE;
import static org.sonar.core.util.stream.MoreCollectors.toList;
import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;

public class MemberUpdater {


+ 3
- 3
server/sonar-webserver-auth/src/main/java/org/sonar/server/organization/OrganizationUpdaterImpl.java View File

@@ -33,8 +33,8 @@ import org.sonar.db.DbSession;
import org.sonar.db.organization.DefaultTemplates;
import org.sonar.db.organization.OrganizationDto;
import org.sonar.db.organization.OrganizationMemberDto;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.permission.GroupPermissionDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.template.PermissionTemplateDto;
import org.sonar.db.qualitygate.QualityGateDto;
import org.sonar.db.qualityprofile.DefaultQProfileDto;
@@ -59,7 +59,7 @@ import static org.sonar.api.web.UserRole.SECURITYHOTSPOT_ADMIN;
import static org.sonar.api.web.UserRole.USER;
import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex;
import static org.sonar.db.organization.OrganizationDto.Subscription.FREE;
import static org.sonar.db.permission.OrganizationPermission.SCAN;
import static org.sonar.db.permission.GlobalPermission.SCAN;

public class OrganizationUpdaterImpl implements OrganizationUpdater {

@@ -224,7 +224,7 @@ public class OrganizationUpdaterImpl implements OrganizationUpdater {
return group;
}

private void addPermissionToGroup(DbSession dbSession, GroupDto group, OrganizationPermission permission) {
private void addPermissionToGroup(DbSession dbSession, GroupDto group, GlobalPermission permission) {
dbClient.groupPermissionDao().insert(
dbSession,
new GroupPermissionDto()

+ 2
- 2
server/sonar-webserver-auth/src/main/java/org/sonar/server/permission/PermissionService.java View File

@@ -20,11 +20,11 @@
package org.sonar.server.permission;

import java.util.List;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;

public interface PermissionService {

List<OrganizationPermission> getGlobalPermissions();
List<GlobalPermission> getGlobalPermissions();
List<String> getAllProjectPermissions();

}

+ 8
- 8
server/sonar-webserver-auth/src/main/java/org/sonar/server/permission/PermissionServiceImpl.java View File

@@ -25,7 +25,7 @@ import javax.annotation.concurrent.Immutable;
import org.sonar.api.resources.Qualifiers;
import org.sonar.api.resources.ResourceTypes;
import org.sonar.api.web.UserRole;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;

import static java.util.stream.Collectors.toList;

@@ -35,19 +35,19 @@ public class PermissionServiceImpl implements PermissionService {
private static final List<String> ALL_PROJECT_PERMISSIONS = ImmutableList.of(
UserRole.ADMIN, UserRole.CODEVIEWER, UserRole.ISSUE_ADMIN, UserRole.SECURITYHOTSPOT_ADMIN, UserRole.SCAN, UserRole.USER);

private static final List<OrganizationPermission> ALL_GLOBAL_PERMISSIONS = ImmutableList.copyOf(OrganizationPermission.values());
private static final List<GlobalPermission> ALL_GLOBAL_PERMISSIONS = ImmutableList.copyOf(GlobalPermission.values());

private final List<OrganizationPermission> globalPermissions;
private final List<GlobalPermission> globalPermissions;
private final List<String> projectPermissions;

public PermissionServiceImpl(ResourceTypes resourceTypes) {
globalPermissions = ImmutableList.copyOf(ALL_GLOBAL_PERMISSIONS.stream()
.filter(s -> !s.equals(OrganizationPermission.APPLICATION_CREATOR) || resourceTypes.isQualifierPresent(Qualifiers.APP))
.filter(s -> !s.equals(OrganizationPermission.PORTFOLIO_CREATOR) || resourceTypes.isQualifierPresent(Qualifiers.VIEW))
.filter(s -> !s.equals(GlobalPermission.APPLICATION_CREATOR) || resourceTypes.isQualifierPresent(Qualifiers.APP))
.filter(s -> !s.equals(GlobalPermission.PORTFOLIO_CREATOR) || resourceTypes.isQualifierPresent(Qualifiers.VIEW))
.collect(toList()));
projectPermissions = ImmutableList.copyOf(ALL_PROJECT_PERMISSIONS.stream()
.filter(s -> !s.equals(OrganizationPermission.APPLICATION_CREATOR.getKey()) || resourceTypes.isQualifierPresent(Qualifiers.APP))
.filter(s -> !s.equals(OrganizationPermission.PORTFOLIO_CREATOR.getKey()) || resourceTypes.isQualifierPresent(Qualifiers.VIEW))
.filter(s -> !s.equals(GlobalPermission.APPLICATION_CREATOR.getKey()) || resourceTypes.isQualifierPresent(Qualifiers.APP))
.filter(s -> !s.equals(GlobalPermission.PORTFOLIO_CREATOR.getKey()) || resourceTypes.isQualifierPresent(Qualifiers.VIEW))
.collect(toList()));
}

@@ -55,7 +55,7 @@ public class PermissionServiceImpl implements PermissionService {
* Return an immutable Set of all organization permissions
*/
@Override
public List<OrganizationPermission> getGlobalPermissions() {
public List<GlobalPermission> getGlobalPermissions() {
return globalPermissions;
}


+ 4
- 4
server/sonar-webserver-auth/src/main/java/org/sonar/server/user/AbstractUserSession.java View File

@@ -30,7 +30,7 @@ import javax.annotation.Nullable;
import org.sonar.api.web.UserRole;
import org.sonar.core.util.stream.MoreCollectors;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.project.ProjectDto;
import org.sonar.db.user.UserDto;
import org.sonar.server.exceptions.ForbiddenException;
@@ -76,11 +76,11 @@ public abstract class AbstractUserSession implements UserSession {
}

@Override
public final boolean hasPermission(OrganizationPermission permission) {
public final boolean hasPermission(GlobalPermission permission) {
return isRoot() || hasPermissionImpl(permission);
}

protected abstract boolean hasPermissionImpl(OrganizationPermission permission);
protected abstract boolean hasPermissionImpl(GlobalPermission permission);

@Override
public final boolean hasComponentPermission(String permission, ComponentDto component) {
@@ -167,7 +167,7 @@ public abstract class AbstractUserSession implements UserSession {
}

@Override
public final UserSession checkPermission(OrganizationPermission permission) {
public final UserSession checkPermission(GlobalPermission permission) {
if (!hasPermission(permission)) {
throw new ForbiddenException(INSUFFICIENT_PRIVILEGES_MESSAGE);
}

+ 3
- 3
server/sonar-webserver-auth/src/main/java/org/sonar/server/user/DoPrivileged.java View File

@@ -22,11 +22,11 @@ package org.sonar.server.user;
import java.util.Collection;
import java.util.Collections;
import java.util.Optional;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.user.GroupDto;

/**
* Allow code to be executed with the highest privileges possible, as if executed by a {@link OrganizationPermission#ADMINISTER} account.
* Allow code to be executed with the highest privileges possible, as if executed by a {@link GlobalPermission#ADMINISTER} account.
* @since 4.3
*/
public final class DoPrivileged {
@@ -107,7 +107,7 @@ public final class DoPrivileged {
}

@Override
protected boolean hasPermissionImpl(OrganizationPermission permission) {
protected boolean hasPermissionImpl(GlobalPermission permission) {
return true;
}


+ 6
- 6
server/sonar-webserver-auth/src/main/java/org/sonar/server/user/ServerUserSession.java View File

@@ -33,7 +33,7 @@ import org.sonar.core.util.stream.MoreCollectors;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.user.GroupDto;
import org.sonar.db.user.UserDto;

@@ -52,7 +52,7 @@ public class ServerUserSession extends AbstractUserSession {
private final Map<String, String> projectUuidByComponentUuid = new HashMap<>();
private Collection<GroupDto> groups;
private Boolean isSystemAdministrator;
private Set<OrganizationPermission> permissions;
private Set<GlobalPermission> permissions;
private Map<String, Set<String>> permissionsByProjectUuid;

ServerUserSession(DbClient dbClient, @Nullable UserDto userDto) {
@@ -116,7 +116,7 @@ public class ServerUserSession extends AbstractUserSession {
}

@Override
protected boolean hasPermissionImpl(OrganizationPermission permission) {
protected boolean hasPermissionImpl(GlobalPermission permission) {
if (permissions == null) {
permissions = loadGlobalPermissions();
}
@@ -170,7 +170,7 @@ public class ServerUserSession extends AbstractUserSession {
}
}

private Set<OrganizationPermission> loadGlobalPermissions() {
private Set<GlobalPermission> loadGlobalPermissions() {
Set<String> permissionKeys;
try (DbSession dbSession = dbClient.openSession(false)) {
if (userDto != null && userDto.getUuid() != null) {
@@ -180,7 +180,7 @@ public class ServerUserSession extends AbstractUserSession {
}
}
return permissionKeys.stream()
.map(OrganizationPermission::fromKey)
.map(GlobalPermission::fromKey)
.collect(MoreCollectors.toSet(permissionKeys.size()));
}

@@ -217,6 +217,6 @@ public class ServerUserSession extends AbstractUserSession {
if (isRoot()) {
return true;
}
return hasPermission(OrganizationPermission.ADMINISTER);
return hasPermission(GlobalPermission.ADMINISTER);
}
}

+ 3
- 3
server/sonar-webserver-auth/src/main/java/org/sonar/server/user/ThreadLocalUserSession.java View File

@@ -24,7 +24,7 @@ import java.util.List;
import java.util.Optional;
import javax.annotation.CheckForNull;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.project.ProjectDto;
import org.sonar.db.user.GroupDto;
import org.sonar.server.exceptions.UnauthorizedException;
@@ -111,12 +111,12 @@ public class ThreadLocalUserSession implements UserSession {
}

@Override
public boolean hasPermission(OrganizationPermission permission) {
public boolean hasPermission(GlobalPermission permission) {
return get().hasPermission(permission);
}

@Override
public UserSession checkPermission(OrganizationPermission permission) {
public UserSession checkPermission(GlobalPermission permission) {
get().checkPermission(permission);
return this;
}

+ 4
- 4
server/sonar-webserver-auth/src/main/java/org/sonar/server/user/UserSession.java View File

@@ -27,7 +27,7 @@ import java.util.Optional;
import javax.annotation.CheckForNull;
import javax.annotation.concurrent.Immutable;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.project.ProjectDto;
import org.sonar.db.user.GroupDto;

@@ -169,13 +169,13 @@ public interface UserSession {
* Always returns {@code true} if {@link #isRoot()} is {@code true}, even if
* organization does not exist.
*/
boolean hasPermission(OrganizationPermission permission);
boolean hasPermission(GlobalPermission permission);

/**
* Ensures that {@link #hasPermission(OrganizationPermission)} is {@code true},
* Ensures that {@link #hasPermission(GlobalPermission)} is {@code true},
* otherwise throws a {@link org.sonar.server.exceptions.ForbiddenException}.
*/
UserSession checkPermission(OrganizationPermission permission);
UserSession checkPermission(GlobalPermission permission);

/**
* Returns {@code true} if the permission is granted to user on the component,

+ 2
- 2
server/sonar-webserver-auth/src/test/java/org/sonar/server/authentication/SafeModeUserSessionTest.java View File

@@ -21,7 +21,7 @@ package org.sonar.server.authentication;

import org.junit.Test;
import org.sonar.api.web.UserRole;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;

import static org.assertj.core.api.Assertions.assertThat;

@@ -42,7 +42,7 @@ public class SafeModeUserSessionTest {
public void session_has_no_permissions() {
assertThat(underTest.isRoot()).isFalse();
assertThat(underTest.isSystemAdministrator()).isFalse();
assertThat(underTest.hasPermissionImpl(OrganizationPermission.ADMINISTER)).isFalse();
assertThat(underTest.hasPermissionImpl(GlobalPermission.ADMINISTER)).isFalse();
assertThat(underTest.hasProjectUuidPermission(UserRole.USER, "foo")).isFalse();
}
}

+ 2
- 2
server/sonar-webserver-auth/src/test/java/org/sonar/server/permission/PermissionServiceImplTest.java View File

@@ -21,7 +21,7 @@ package org.sonar.server.permission;

import org.junit.Test;
import org.sonar.db.component.ResourceTypesRule;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;

import static org.assertj.core.api.Assertions.assertThat;

@@ -33,7 +33,7 @@ public class PermissionServiceImplTest {
@Test
public void organizationPermissions_must_be_ordered() {
assertThat(underTest.getGlobalPermissions())
.extracting(OrganizationPermission::getKey)
.extracting(GlobalPermission::getKey)
.containsExactly("admin", "gateadmin", "profileadmin", "provisioning", "scan", "applicationcreator", "portfoliocreator");
}


+ 3
- 3
server/sonar-webserver-auth/src/test/java/org/sonar/server/user/ServerUserSessionTest.java View File

@@ -40,9 +40,9 @@ import static org.sonar.core.permission.GlobalPermissions.PROVISIONING;
import static org.sonar.core.permission.GlobalPermissions.SYSTEM_ADMIN;
import static org.sonar.db.component.ComponentTesting.newChildComponent;
import static org.sonar.db.component.ComponentTesting.newFileDto;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.OrganizationPermission.PROVISION_PROJECTS;
import static org.sonar.db.permission.OrganizationPermission.SCAN;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.PROVISION_PROJECTS;
import static org.sonar.db.permission.GlobalPermission.SCAN;

public class ServerUserSessionTest {


+ 4
- 4
server/sonar-webserver-auth/src/testFixtures/java/org/sonar/server/tester/AbstractMockUserSession.java View File

@@ -29,7 +29,7 @@ import java.util.Optional;
import java.util.Set;
import org.sonar.api.web.UserRole;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.project.ProjectDto;
import org.sonar.server.user.AbstractUserSession;

@@ -40,7 +40,7 @@ public abstract class AbstractMockUserSession<T extends AbstractMockUserSession>

private final Class<T> clazz;
private HashMultimap<String, String> projectUuidByPermission = HashMultimap.create();
private final Set<OrganizationPermission> permissions = new HashSet<>();
private final Set<GlobalPermission> permissions = new HashSet<>();
private Map<String, String> projectUuidByComponentUuid = new HashMap<>();
private Set<String> projectPermissions = new HashSet<>();
private boolean systemAdministrator = false;
@@ -49,13 +49,13 @@ public abstract class AbstractMockUserSession<T extends AbstractMockUserSession>
this.clazz = clazz;
}

public T addPermission(OrganizationPermission permission) {
public T addPermission(GlobalPermission permission) {
permissions.add(permission);
return clazz.cast(this);
}

@Override
protected boolean hasPermissionImpl(OrganizationPermission permission) {
protected boolean hasPermissionImpl(GlobalPermission permission) {
return permissions.contains(permission);
}


+ 4
- 4
server/sonar-webserver-auth/src/testFixtures/java/org/sonar/server/tester/UserSessionRule.java View File

@@ -29,7 +29,7 @@ import org.junit.rules.TestRule;
import org.junit.runner.Description;
import org.junit.runners.model.Statement;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.project.ProjectDto;
import org.sonar.db.user.GroupDto;
import org.sonar.db.user.UserDto;
@@ -197,7 +197,7 @@ public class UserSessionRule implements TestRule, UserSession {
return this;
}

public UserSessionRule addPermission(OrganizationPermission permission) {
public UserSessionRule addPermission(GlobalPermission permission) {
ensureAbstractMockUserSession().addPermission(permission);
return this;
}
@@ -310,12 +310,12 @@ public class UserSessionRule implements TestRule, UserSession {
}

@Override
public boolean hasPermission(OrganizationPermission permission) {
public boolean hasPermission(GlobalPermission permission) {
return currentUserSession.hasPermission(permission);
}

@Override
public UserSession checkPermission(OrganizationPermission permission) {
public UserSession checkPermission(GlobalPermission permission) {
currentUserSession.checkPermission(permission);
return this;
}

+ 2
- 2
server/sonar-webserver-auth/src/testFixtures/java/org/sonar/server/user/TestUserSessionFactory.java View File

@@ -22,7 +22,7 @@ package org.sonar.server.user;
import java.util.Collection;
import java.util.Optional;
import javax.annotation.Nullable;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.user.GroupDto;
import org.sonar.db.user.UserDto;

@@ -102,7 +102,7 @@ public class TestUserSessionFactory implements UserSessionFactory {
}

@Override
protected boolean hasPermissionImpl(OrganizationPermission permission) {
protected boolean hasPermissionImpl(GlobalPermission permission) {
throw notImplemented();
}


+ 3
- 3
server/sonar-webserver-core/src/main/java/org/sonar/server/startup/RegisterPermissionTemplates.java View File

@@ -31,7 +31,7 @@ import org.sonar.api.web.UserRole;
import org.sonar.core.util.UuidFactory;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.permission.template.PermissionTemplateDto;
import org.sonar.db.user.GroupDto;
import org.sonar.server.usergroups.DefaultGroupFinder;
@@ -98,8 +98,8 @@ public class RegisterPermissionTemplates implements Startable {
Optional<GroupDto> admins = dbClient.groupDao().selectByName(dbSession, DefaultGroups.ADMINISTRATORS);
if (admins.isPresent()) {
insertGroupPermission(dbSession, template, UserRole.ADMIN, admins.get());
insertGroupPermission(dbSession, template, OrganizationPermission.APPLICATION_CREATOR.getKey(), admins.get());
insertGroupPermission(dbSession, template, OrganizationPermission.PORTFOLIO_CREATOR.getKey(), admins.get());
insertGroupPermission(dbSession, template, GlobalPermission.APPLICATION_CREATOR.getKey(), admins.get());
insertGroupPermission(dbSession, template, GlobalPermission.PORTFOLIO_CREATOR.getKey(), admins.get());
} else {
LOG.error("Cannot setup default permission for group: " + DefaultGroups.ADMINISTRATORS);
}

+ 3
- 3
server/sonar-webserver-core/src/test/java/org/sonar/server/startup/RegisterPermissionTemplatesTest.java View File

@@ -32,7 +32,7 @@ import org.sonar.api.utils.log.LoggerLevel;
import org.sonar.api.web.UserRole;
import org.sonar.core.util.UuidFactoryFast;
import org.sonar.db.DbTester;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.permission.template.PermissionTemplateDto;
import org.sonar.db.permission.template.PermissionTemplateGroupDto;
import org.sonar.db.user.GroupDto;
@@ -66,8 +66,8 @@ public class RegisterPermissionTemplatesTest {
List<PermissionTemplateGroupDto> groupPermissions = selectGroupPermissions(defaultTemplate);
assertThat(groupPermissions).hasSize(7);
expectGroupPermission(groupPermissions, UserRole.ADMIN, DefaultGroups.ADMINISTRATORS);
expectGroupPermission(groupPermissions, OrganizationPermission.APPLICATION_CREATOR.getKey(), DefaultGroups.ADMINISTRATORS);
expectGroupPermission(groupPermissions, OrganizationPermission.PORTFOLIO_CREATOR.getKey(), DefaultGroups.ADMINISTRATORS);
expectGroupPermission(groupPermissions, GlobalPermission.APPLICATION_CREATOR.getKey(), DefaultGroups.ADMINISTRATORS);
expectGroupPermission(groupPermissions, GlobalPermission.PORTFOLIO_CREATOR.getKey(), DefaultGroups.ADMINISTRATORS);
expectGroupPermission(groupPermissions, UserRole.CODEVIEWER, defaultGroup.getName());
expectGroupPermission(groupPermissions, UserRole.USER, defaultGroup.getName());
expectGroupPermission(groupPermissions, UserRole.ISSUE_ADMIN, defaultGroup.getName());

+ 2
- 2
server/sonar-webserver-webapi/src/main/java/org/sonar/server/batch/ProjectDataLoader.java View File

@@ -30,7 +30,7 @@ import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.component.FilePathWithHashDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.scanner.protocol.input.FileData;
import org.sonar.scanner.protocol.input.MultiModuleProjectRepository;
import org.sonar.scanner.protocol.input.ProjectRepositories;
@@ -62,7 +62,7 @@ public class ProjectDataLoader {
ComponentDto project = componentFinder.getByKey(session, projectKey);
checkRequest(project.isRootProject(), "Key '%s' belongs to a component which is not a Project", projectKey);
boolean hasScanPerm = userSession.hasComponentPermission(UserRole.SCAN, project) ||
userSession.hasPermission(OrganizationPermission.SCAN);
userSession.hasPermission(GlobalPermission.SCAN);
checkPermission(hasScanPerm);
ComponentDto branchOrMainModule = (branch == null && pullRequest == null) ? project
: componentFinder.getByKeyAndOptionalBranchOrPullRequest(session, projectKey, branch, pullRequest);

+ 2
- 2
server/sonar-webserver-webapi/src/main/java/org/sonar/server/branch/pr/ws/ListAction.java View File

@@ -36,7 +36,7 @@ import org.sonar.db.DbSession;
import org.sonar.db.component.BranchDto;
import org.sonar.db.component.SnapshotDto;
import org.sonar.db.measure.LiveMeasureDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.project.ProjectDto;
import org.sonar.db.protobuf.DbProjectBranches;
import org.sonar.server.component.ComponentFinder;
@@ -127,7 +127,7 @@ public class ListAction implements PullRequestWsAction {
private void checkPermission(ProjectDto project) {
if (userSession.hasProjectPermission(USER, project) ||
userSession.hasProjectPermission(UserRole.SCAN, project) ||
userSession.hasPermission(OrganizationPermission.SCAN)) {
userSession.hasPermission(GlobalPermission.SCAN)) {
return;
}
throw insufficientPrivilegesException();

+ 1
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/branch/ws/ListAction.java View File

@@ -49,7 +49,7 @@ import static org.sonar.api.web.UserRole.USER;
import static org.sonar.core.util.stream.MoreCollectors.toList;
import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex;
import static org.sonar.db.component.BranchType.BRANCH;
import static org.sonar.db.permission.OrganizationPermission.SCAN;
import static org.sonar.db.permission.GlobalPermission.SCAN;
import static org.sonar.server.branch.ws.BranchesWs.addProjectParam;
import static org.sonar.server.branch.ws.ProjectBranchesParameters.ACTION_LIST;
import static org.sonar.server.branch.ws.ProjectBranchesParameters.PARAM_PROJECT;

+ 3
- 3
server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/queue/ReportSubmitter.java View File

@@ -38,7 +38,7 @@ import org.sonar.db.ce.CeTaskTypes;
import org.sonar.db.component.BranchDto;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.organization.OrganizationDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.server.component.ComponentUpdater;
import org.sonar.server.component.NewComponent;
import org.sonar.server.exceptions.BadRequestException;
@@ -129,7 +129,7 @@ public class ReportSubmitter {
// they don't have the direct permission on the project.
// That means that dropping the permission on the project does not have any effects
// if user has still the permission on the organization
if (!userSession.hasComponentPermission(UserRole.SCAN, project) && !userSession.hasPermission(OrganizationPermission.SCAN)) {
if (!userSession.hasComponentPermission(UserRole.SCAN, project) && !userSession.hasPermission(GlobalPermission.SCAN)) {
throw insufficientPrivilegesException();
}
}
@@ -164,7 +164,7 @@ public class ReportSubmitter {
}

private ComponentDto createProject(DbSession dbSession, OrganizationDto organization, BranchSupport.ComponentKey componentKey, @Nullable String projectName) {
userSession.checkPermission(OrganizationPermission.PROVISION_PROJECTS);
userSession.checkPermission(GlobalPermission.PROVISION_PROJECTS);
String userUuid = userSession.getUuid();

boolean wouldCurrentUserHaveScanPermission = permissionTemplateService.wouldUserHaveScanPermissionWithDefaultTemplate(

+ 3
- 3
server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/TaskAction.java View File

@@ -41,7 +41,7 @@ import org.sonar.db.ce.CeActivityDto;
import org.sonar.db.ce.CeQueueDto;
import org.sonar.db.ce.CeTaskMessageDto;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.server.user.UserSession;
import org.sonarqube.ws.Ce;

@@ -126,8 +126,8 @@ public class TaskAction implements CeWsAction {
private void checkPermission(Optional<ComponentDto> component) {
if (component.isPresent()) {
String orgUuid = component.get().getOrganizationUuid();
if (!userSession.hasPermission(OrganizationPermission.ADMINISTER) &&
!userSession.hasPermission(OrganizationPermission.SCAN) &&
if (!userSession.hasPermission(GlobalPermission.ADMINISTER) &&
!userSession.hasPermission(GlobalPermission.SCAN) &&
!userSession.hasComponentPermission(UserRole.SCAN, component.get())) {
throw insufficientPrivilegesException();
}

+ 1
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/newcodeperiod/ws/ShowAction.java View File

@@ -38,7 +38,7 @@ import org.sonar.server.user.UserSession;
import org.sonarqube.ws.NewCodePeriods;

import static java.lang.String.format;
import static org.sonar.db.permission.OrganizationPermission.SCAN;
import static org.sonar.db.permission.GlobalPermission.SCAN;
import static org.sonar.server.user.AbstractUserSession.insufficientPrivilegesException;
import static org.sonar.server.ws.WsUtils.writeProtobuf;
import static org.sonarqube.ws.NewCodePeriods.ShowWSResponse;

+ 4
- 4
server/sonar-webserver-webapi/src/main/java/org/sonar/server/organization/ws/AddMemberAction.java View File

@@ -26,7 +26,7 @@ import org.sonar.api.server.ws.WebService.NewController;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.organization.OrganizationDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.user.GroupMembershipQuery;
import org.sonar.db.user.UserDto;
import org.sonar.server.issue.AvatarResolver;
@@ -38,11 +38,11 @@ import org.sonarqube.ws.Organizations.User;
import static com.google.common.base.Strings.emptyToNull;
import static java.util.Optional.ofNullable;
import static org.sonar.db.user.GroupMembershipQuery.IN;
import static org.sonar.server.exceptions.NotFoundException.checkFound;
import static org.sonar.server.exceptions.NotFoundException.checkFoundWithOptional;
import static org.sonar.server.organization.ws.OrganizationsWsSupport.PARAM_LOGIN;
import static org.sonar.server.organization.ws.OrganizationsWsSupport.PARAM_ORGANIZATION;
import static org.sonar.server.ws.KeyExamples.KEY_ORG_EXAMPLE_001;
import static org.sonar.server.exceptions.NotFoundException.checkFound;
import static org.sonar.server.exceptions.NotFoundException.checkFoundWithOptional;
import static org.sonar.server.ws.WsUtils.writeProtobuf;

public class AddMemberAction implements OrganizationsWsAction {
@@ -93,7 +93,7 @@ public class AddMemberAction implements OrganizationsWsAction {
try (DbSession dbSession = dbClient.openSession(false)) {
OrganizationDto organization = checkFoundWithOptional(dbClient.organizationDao().selectByKey(dbSession, organizationKey), "Organization '%s' is not found",
organizationKey);
userSession.checkPermission(OrganizationPermission.ADMINISTER);
userSession.checkPermission(GlobalPermission.ADMINISTER);
wsSupport.checkMemberSyncIsDisabled(dbSession, organization);
UserDto user = checkFound(dbClient.userDao().selectByLogin(dbSession, login), "User '%s' is not found", login);
memberUpdater.addMember(dbSession, organization, user);

+ 2
- 2
server/sonar-webserver-webapi/src/main/java/org/sonar/server/organization/ws/DeleteAction.java View File

@@ -31,11 +31,11 @@ import org.sonar.server.organization.OrganizationFlags;
import org.sonar.server.user.UserSession;

import static com.google.common.base.Preconditions.checkArgument;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.server.exceptions.NotFoundException.checkFoundWithOptional;
import static org.sonar.server.organization.ws.OrganizationsWsSupport.PARAM_KEY;
import static org.sonar.server.organization.ws.OrganizationsWsSupport.PARAM_ORGANIZATION;
import static org.sonar.server.ws.KeyExamples.KEY_ORG_EXAMPLE_002;
import static org.sonar.server.exceptions.NotFoundException.checkFoundWithOptional;

public class DeleteAction implements OrganizationsWsAction {
private static final String ACTION = "delete";

+ 2
- 2
server/sonar-webserver-webapi/src/main/java/org/sonar/server/organization/ws/EnableSupportAction.java View File

@@ -23,7 +23,7 @@ import org.sonar.api.server.ws.Change;
import org.sonar.api.server.ws.Request;
import org.sonar.api.server.ws.Response;
import org.sonar.api.server.ws.WebService;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.server.organization.DefaultOrganizationProvider;
import org.sonar.server.organization.OrganisationSupport;
import org.sonar.server.user.UserSession;
@@ -65,7 +65,7 @@ public class EnableSupportAction implements OrganizationsWsAction {
}

private void verifySystemAdministrator() {
userSession.checkLoggedIn().checkPermission(OrganizationPermission.ADMINISTER);
userSession.checkLoggedIn().checkPermission(GlobalPermission.ADMINISTER);
}

}

+ 3
- 3
server/sonar-webserver-webapi/src/main/java/org/sonar/server/organization/ws/RemoveMemberAction.java View File

@@ -30,12 +30,12 @@ import org.sonar.db.user.UserDto;
import org.sonar.server.organization.MemberUpdater;
import org.sonar.server.user.UserSession;

import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.server.exceptions.NotFoundException.checkFound;
import static org.sonar.server.exceptions.NotFoundException.checkFoundWithOptional;
import static org.sonar.server.organization.ws.OrganizationsWsSupport.PARAM_LOGIN;
import static org.sonar.server.organization.ws.OrganizationsWsSupport.PARAM_ORGANIZATION;
import static org.sonar.server.ws.KeyExamples.KEY_ORG_EXAMPLE_001;
import static org.sonar.server.exceptions.NotFoundException.checkFound;
import static org.sonar.server.exceptions.NotFoundException.checkFoundWithOptional;

public class RemoveMemberAction implements OrganizationsWsAction {
private final DbClient dbClient;

+ 2
- 2
server/sonar-webserver-webapi/src/main/java/org/sonar/server/organization/ws/SearchAction.java View File

@@ -46,8 +46,8 @@ import static java.util.Optional.ofNullable;
import static org.sonar.core.util.stream.MoreCollectors.toSet;
import static org.sonar.db.Pagination.forPage;
import static org.sonar.db.organization.OrganizationQuery.newOrganizationQueryBuilder;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.OrganizationPermission.PROVISION_PROJECTS;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.PROVISION_PROJECTS;
import static org.sonar.server.ws.WsUtils.writeProtobuf;
import static org.sonarqube.ws.Common.Paging;


+ 1
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/organization/ws/SearchMembersAction.java View File

@@ -51,7 +51,7 @@ import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Strings.emptyToNull;
import static java.util.Optional.ofNullable;
import static org.sonar.api.server.ws.WebService.SelectionMode.SELECTED;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.server.es.SearchOptions.MAX_PAGE_SIZE;
import static org.sonar.server.exceptions.NotFoundException.checkFoundWithOptional;
import static org.sonar.server.organization.ws.OrganizationsWsSupport.PARAM_ORGANIZATION;

+ 1
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/organization/ws/UpdateAction.java View File

@@ -35,7 +35,7 @@ import org.sonar.server.user.UserSession;
import org.sonarqube.ws.Organizations;

import static java.lang.String.format;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.server.organization.ws.OrganizationsWsSupport.PARAM_AVATAR_URL;
import static org.sonar.server.organization.ws.OrganizationsWsSupport.PARAM_DESCRIPTION;
import static org.sonar.server.organization.ws.OrganizationsWsSupport.PARAM_KEY;

+ 2
- 2
server/sonar-webserver-webapi/src/main/java/org/sonar/server/permission/PermissionChange.java View File

@@ -21,7 +21,7 @@ package org.sonar.server.permission;

import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;

import static java.util.Objects.requireNonNull;
import static org.sonar.core.util.stream.MoreCollectors.toList;
@@ -46,7 +46,7 @@ public abstract class PermissionChange {
if (projectUuid == null) {
checkRequest(permissionService.getGlobalPermissions().stream().anyMatch(p -> p.getKey().equals(permission)),
"Invalid global permission '%s'. Valid values are %s", permission,
permissionService.getGlobalPermissions().stream().map(OrganizationPermission::getKey).collect(toList()));
permissionService.getGlobalPermissions().stream().map(GlobalPermission::getKey).collect(toList()));
} else {
checkRequest(permissionService.getAllProjectPermissions().contains(permission), "Invalid project permission '%s'. Valid values are %s", permission,
permissionService.getAllProjectPermissions());

+ 3
- 3
server/sonar-webserver-webapi/src/main/java/org/sonar/server/permission/PermissionPrivilegeChecker.java View File

@@ -21,7 +21,7 @@ package org.sonar.server.permission;

import java.util.Optional;
import org.sonar.api.web.UserRole;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.server.user.UserSession;

import static org.sonar.server.user.AbstractUserSession.insufficientPrivilegesException;
@@ -34,7 +34,7 @@ public class PermissionPrivilegeChecker {
public static void checkGlobalAdmin(UserSession userSession) {
userSession
.checkLoggedIn()
.checkPermission(OrganizationPermission.ADMINISTER);
.checkPermission(GlobalPermission.ADMINISTER);
}

/**
@@ -44,7 +44,7 @@ public class PermissionPrivilegeChecker {
public static void checkProjectAdmin(UserSession userSession, Optional<ProjectUuid> projectUuid) {
userSession.checkLoggedIn();

if (userSession.hasPermission(OrganizationPermission.ADMINISTER)) {
if (userSession.hasPermission(GlobalPermission.ADMINISTER)) {
return;
}


+ 1
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/permission/PermissionTemplateService.java View File

@@ -53,7 +53,7 @@ import static java.lang.String.format;
import static java.util.Collections.singletonList;
import static org.sonar.api.security.DefaultGroups.isAnyone;
import static org.sonar.api.web.UserRole.PUBLIC_PERMISSIONS;
import static org.sonar.db.permission.OrganizationPermission.SCAN;
import static org.sonar.db.permission.GlobalPermission.SCAN;

@ServerSide
public class PermissionTemplateService {

+ 2
- 2
server/sonar-webserver-webapi/src/main/java/org/sonar/server/permission/ws/SearchGlobalPermissionsAction.java View File

@@ -26,7 +26,7 @@ import org.sonar.api.server.ws.WebService;
import org.sonar.core.i18n.I18n;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.permission.PermissionQuery;
import org.sonar.server.permission.PermissionService;
import org.sonar.server.user.UserSession;
@@ -81,7 +81,7 @@ public class SearchGlobalPermissionsAction implements PermissionsWsAction {
Permission.Builder permission = newBuilder();

permissionService.getGlobalPermissions().stream()
.map(OrganizationPermission::getKey)
.map(GlobalPermission::getKey)
.forEach(permissionKey -> {
PermissionQuery query = permissionQuery(permissionKey);
response.addPermissions(

+ 2
- 2
server/sonar-webserver-webapi/src/main/java/org/sonar/server/project/ws/BulkDeleteAction.java View File

@@ -36,7 +36,7 @@ import org.sonar.db.DbSession;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.component.ComponentQuery;
import org.sonar.db.organization.OrganizationDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.server.component.ComponentCleanerService;
import org.sonar.server.project.Project;
import org.sonar.server.project.ProjectLifeCycleListeners;
@@ -140,7 +140,7 @@ public class BulkDeleteAction implements ProjectsWsAction {
userSession.checkLoggedIn();
try (DbSession dbSession = dbClient.openSession(false)) {
OrganizationDto organization = support.getOrganization(dbSession, searchRequest.getOrganization());
userSession.checkPermission(OrganizationPermission.ADMINISTER);
userSession.checkPermission(GlobalPermission.ADMINISTER);
checkAtLeastOneParameterIsPresent(searchRequest);

ComponentQuery query = buildDbQuery(searchRequest);

+ 1
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/project/ws/CreateAction.java View File

@@ -39,7 +39,7 @@ import static org.apache.commons.lang.StringUtils.abbreviate;
import static org.sonar.api.resources.Qualifiers.PROJECT;
import static org.sonar.core.component.ComponentKeys.MAX_COMPONENT_KEY_LENGTH;
import static org.sonar.db.component.ComponentValidator.MAX_COMPONENT_NAME_LENGTH;
import static org.sonar.db.permission.OrganizationPermission.PROVISION_PROJECTS;
import static org.sonar.db.permission.GlobalPermission.PROVISION_PROJECTS;
import static org.sonar.server.component.NewComponent.newComponentBuilder;
import static org.sonar.server.project.ws.ProjectsWsSupport.PARAM_ORGANIZATION;
import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_001;

+ 2
- 2
server/sonar-webserver-webapi/src/main/java/org/sonar/server/project/ws/DeleteAction.java View File

@@ -25,7 +25,7 @@ import org.sonar.api.server.ws.WebService;
import org.sonar.api.web.UserRole;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.project.ProjectDto;
import org.sonar.server.component.ComponentCleanerService;
import org.sonar.server.component.ComponentFinder;
@@ -90,7 +90,7 @@ public class DeleteAction implements ProjectsWsAction {

private void checkPermission(ProjectDto project) {
if (!userSession.hasProjectPermission(UserRole.ADMIN, project)) {
userSession.checkPermission(OrganizationPermission.ADMINISTER);
userSession.checkPermission(GlobalPermission.ADMINISTER);
}
}
}

+ 2
- 2
server/sonar-webserver-webapi/src/main/java/org/sonar/server/project/ws/SearchAction.java View File

@@ -37,7 +37,7 @@ import org.sonar.db.component.ComponentDto;
import org.sonar.db.component.ComponentQuery;
import org.sonar.db.component.SnapshotDto;
import org.sonar.db.organization.OrganizationDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.server.project.Visibility;
import org.sonar.server.user.UserSession;
import org.sonarqube.ws.Projects.SearchWsResponse;
@@ -156,7 +156,7 @@ public class SearchAction implements ProjectsWsAction {
private SearchWsResponse doHandle(SearchRequest request) {
try (DbSession dbSession = dbClient.openSession(false)) {
OrganizationDto organization = support.getOrganization(dbSession, request.getOrganization());
userSession.checkPermission(OrganizationPermission.ADMINISTER);
userSession.checkPermission(GlobalPermission.ADMINISTER);

ComponentQuery query = buildDbQuery(request);
Paging paging = buildPaging(dbSession, request, organization, query);

+ 1
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualitygate/ws/CopyAction.java View File

@@ -32,7 +32,7 @@ import org.sonar.server.user.UserSession;

import static com.google.common.base.Preconditions.checkArgument;
import static org.sonar.core.util.Uuids.UUID_EXAMPLE_01;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_GATES;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_GATES;
import static org.sonar.server.qualitygate.ws.CreateAction.NAME_MAXIMUM_LENGTH;
import static org.sonar.server.qualitygate.ws.QualityGatesWsParameters.PARAM_ID;
import static org.sonar.server.qualitygate.ws.QualityGatesWsParameters.PARAM_NAME;

+ 2
- 2
server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualitygate/ws/CreateAction.java View File

@@ -26,7 +26,7 @@ import org.sonar.api.server.ws.WebService;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.organization.OrganizationDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.qualitygate.QualityGateDto;
import org.sonar.server.qualitygate.QualityGateUpdater;
import org.sonar.server.user.UserSession;
@@ -79,7 +79,7 @@ public class CreateAction implements QualityGatesWsAction {
try (DbSession dbSession = dbClient.openSession(false)) {
OrganizationDto organizationDto = wsSupport.getOrganization(dbSession, request);

userSession.checkPermission(OrganizationPermission.ADMINISTER_QUALITY_GATES);
userSession.checkPermission(GlobalPermission.ADMINISTER_QUALITY_GATES);

String name = request.mandatoryParam(PARAM_NAME);


+ 1
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualitygate/ws/QualityGatesWsSupport.java View File

@@ -41,7 +41,7 @@ import org.sonarqube.ws.Qualitygates;
import static com.google.common.base.Preconditions.checkArgument;
import static java.lang.String.format;
import static org.sonar.api.web.UserRole.ADMIN;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_GATES;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_GATES;
import static org.sonar.server.exceptions.NotFoundException.checkFound;
import static org.sonar.server.exceptions.NotFoundException.checkFoundWithOptional;
import static org.sonar.server.qualitygate.ws.QualityGatesWsParameters.PARAM_ORGANIZATION;

+ 1
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualitygate/ws/SetAsDefaultAction.java View File

@@ -31,7 +31,7 @@ import org.sonar.server.user.UserSession;

import static com.google.common.base.Preconditions.checkArgument;
import static org.sonar.core.util.Uuids.UUID_EXAMPLE_01;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_GATES;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_GATES;
import static org.sonar.server.qualitygate.ws.CreateAction.NAME_MAXIMUM_LENGTH;
import static org.sonar.server.qualitygate.ws.QualityGatesWsParameters.PARAM_ID;
import static org.sonar.server.qualitygate.ws.QualityGatesWsParameters.PARAM_NAME;

+ 1
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/CopyAction.java View File

@@ -34,7 +34,7 @@ import org.sonarqube.ws.Qualityprofiles.CopyWsResponse;

import static java.util.Optional.ofNullable;
import static org.sonar.core.util.Uuids.UUID_EXAMPLE_01;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonar.server.ws.WsUtils.writeProtobuf;
import static org.sonarqube.ws.client.qualityprofile.QualityProfileWsParameters.ACTION_COPY;


+ 1
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/CreateAction.java View File

@@ -39,7 +39,7 @@ import org.sonar.server.user.UserSession;
import org.sonarqube.ws.Qualityprofiles.CreateWsResponse;

import static com.google.common.base.Preconditions.checkArgument;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonar.server.language.LanguageParamUtils.getOrderedLanguageKeys;
import static org.sonar.server.ws.WsUtils.writeProtobuf;
import static org.sonarqube.ws.client.qualityprofile.QualityProfileWsParameters.ACTION_CREATE;

+ 3
- 3
server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/QProfileWsSupport.java View File

@@ -25,7 +25,7 @@ import org.sonar.api.server.ServerSide;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.organization.OrganizationDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.qualityprofile.QProfileDto;
import org.sonar.db.rule.RuleDefinitionDto;
import org.sonar.db.user.GroupDto;
@@ -103,14 +103,14 @@ public class QProfileWsSupport {
}

public void checkPermission(DbSession dbSession) {
userSession.checkPermission(OrganizationPermission.ADMINISTER_QUALITY_PROFILES);
userSession.checkPermission(GlobalPermission.ADMINISTER_QUALITY_PROFILES);
}

boolean canEdit(DbSession dbSession, QProfileDto profile) {
if (profile.isBuiltIn() || !userSession.isLoggedIn()) {
return false;
}
if (userSession.hasPermission(OrganizationPermission.ADMINISTER_QUALITY_PROFILES)) {
if (userSession.hasPermission(GlobalPermission.ADMINISTER_QUALITY_PROFILES)) {
return true;
}


+ 1
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/RestoreAction.java View File

@@ -38,7 +38,7 @@ import org.sonar.server.user.UserSession;

import static com.google.common.base.Preconditions.checkArgument;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonarqube.ws.client.qualityprofile.QualityProfileWsParameters.RestoreActionParameters.PARAM_BACKUP;

public class RestoreAction implements QProfileWsAction {

+ 1
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/SearchAction.java View File

@@ -59,7 +59,7 @@ import static java.util.function.Function.identity;
import static org.sonar.api.rule.RuleStatus.DEPRECATED;
import static org.sonar.api.utils.DateUtils.formatDateTime;
import static org.sonar.core.util.stream.MoreCollectors.toList;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_001;
import static org.sonar.server.ws.WsUtils.writeProtobuf;
import static org.sonarqube.ws.client.qualityprofile.QualityProfileWsParameters.ACTION_SEARCH;

+ 1
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/SetDefaultAction.java View File

@@ -30,7 +30,7 @@ import org.sonar.db.qualityprofile.DefaultQProfileDto;
import org.sonar.db.qualityprofile.QProfileDto;
import org.sonar.server.user.UserSession;

import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonarqube.ws.client.qualityprofile.QualityProfileWsParameters.ACTION_SET_DEFAULT;

public class SetDefaultAction implements QProfileWsAction {

+ 2
- 2
server/sonar-webserver-webapi/src/main/java/org/sonar/server/rule/ws/AppAction.java View File

@@ -27,7 +27,7 @@ import org.sonar.api.server.ws.WebService;
import org.sonar.api.utils.text.JsonWriter;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.server.user.UserSession;

public class AppAction implements RulesWsAction {
@@ -65,7 +65,7 @@ public class AppAction implements RulesWsAction {
}

private void addPermissions(JsonWriter json) {
boolean canWrite = userSession.hasPermission(OrganizationPermission.ADMINISTER_QUALITY_PROFILES);
boolean canWrite = userSession.hasPermission(GlobalPermission.ADMINISTER_QUALITY_PROFILES);
json.prop("canWrite", canWrite);
}


+ 1
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/rule/ws/RuleWsSupport.java View File

@@ -48,7 +48,7 @@ import static org.sonar.core.util.Uuids.UUID_EXAMPLE_01;
import static org.sonar.core.util.Uuids.UUID_EXAMPLE_02;
import static org.sonar.core.util.stream.MoreCollectors.toSet;
import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonar.server.rule.ws.RulesWsParameters.PARAM_ACTIVATION;
import static org.sonar.server.rule.ws.RulesWsParameters.PARAM_ACTIVE_SEVERITIES;
import static org.sonar.server.rule.ws.RulesWsParameters.PARAM_AVAILABLE_SINCE;

+ 4
- 4
server/sonar-webserver-webapi/src/main/java/org/sonar/server/setting/ws/SettingsWsSupport.java View File

@@ -23,7 +23,7 @@ import java.util.Optional;
import org.sonar.api.server.ServerSide;
import org.sonar.api.web.UserRole;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.process.ProcessProperties;
import org.sonar.server.organization.DefaultOrganizationProvider;
import org.sonar.server.user.UserSession;
@@ -54,7 +54,7 @@ public class SettingsWsSupport {
}

boolean isVisible(String key, Optional<ComponentDto> component) {
return hasPermission(OrganizationPermission.SCAN, UserRole.SCAN, component) || verifySecuredSetting(key, component);
return hasPermission(GlobalPermission.SCAN, UserRole.SCAN, component) || verifySecuredSetting(key, component);
}

static boolean isSecured(String key) {
@@ -62,10 +62,10 @@ public class SettingsWsSupport {
}

private boolean verifySecuredSetting(String key, Optional<ComponentDto> component) {
return (!isSecured(key) || hasPermission(OrganizationPermission.ADMINISTER, ADMIN, component));
return (!isSecured(key) || hasPermission(GlobalPermission.ADMINISTER, ADMIN, component));
}

private boolean hasPermission(OrganizationPermission orgPermission, String projectPermission, Optional<ComponentDto> component) {
private boolean hasPermission(GlobalPermission orgPermission, String projectPermission, Optional<ComponentDto> component) {
if (userSession.isSystemAdministrator()) {
return true;
}

+ 2
- 2
server/sonar-webserver-webapi/src/main/java/org/sonar/server/setting/ws/ValuesAction.java View File

@@ -47,7 +47,7 @@ import org.sonar.core.util.stream.MoreCollectors;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.property.PropertyDto;
import org.sonar.server.component.ComponentFinder;
import org.sonar.server.user.UserSession;
@@ -158,7 +158,7 @@ public class ValuesAction implements SettingsWsAction {
ComponentDto component = componentFinder.getByKey(dbSession, componentKey);
if (!userSession.hasComponentPermission(USER, component) &&
!userSession.hasComponentPermission(UserRole.SCAN, component) &&
!userSession.hasPermission(OrganizationPermission.SCAN)) {
!userSession.hasPermission(GlobalPermission.SCAN)) {
throw insufficientPrivilegesException();
}
return Optional.of(component);

+ 6
- 6
server/sonar-webserver-webapi/src/main/java/org/sonar/server/ui/ws/ComponentAction.java View File

@@ -46,7 +46,7 @@ import org.sonar.db.component.ComponentDto;
import org.sonar.db.component.SnapshotDto;
import org.sonar.db.measure.LiveMeasureDto;
import org.sonar.db.organization.OrganizationDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.property.PropertyDto;
import org.sonar.db.property.PropertyQuery;
import org.sonar.db.qualitygate.QualityGateDto;
@@ -70,8 +70,8 @@ import static org.sonar.api.utils.DateUtils.formatDateTime;
import static org.sonar.api.web.UserRole.ADMIN;
import static org.sonar.api.web.UserRole.USER;
import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_GATES;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_GATES;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonar.server.user.AbstractUserSession.insufficientPrivilegesException;
import static org.sonar.server.ws.KeyExamples.KEY_BRANCH_EXAMPLE_001;
import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_001;
@@ -293,9 +293,9 @@ public class ComponentAction implements NavigationWsAction {
boolean isProject = Qualifiers.PROJECT.equals(component.qualifier());
boolean showManualMeasures = isProjectAdmin && !Qualifiers.DIRECTORY.equals(component.qualifier());
boolean showBackgroundTasks = isProjectAdmin && (isProject || Qualifiers.VIEW.equals(component.qualifier()) || Qualifiers.APP.equals(component.qualifier()));
boolean isQualityProfileAdmin = userSession.hasPermission(OrganizationPermission.ADMINISTER_QUALITY_PROFILES);
boolean isQualityGateAdmin = userSession.hasPermission(OrganizationPermission.ADMINISTER_QUALITY_GATES);
boolean isOrganizationAdmin = userSession.hasPermission(OrganizationPermission.ADMINISTER);
boolean isQualityProfileAdmin = userSession.hasPermission(GlobalPermission.ADMINISTER_QUALITY_PROFILES);
boolean isQualityGateAdmin = userSession.hasPermission(GlobalPermission.ADMINISTER_QUALITY_GATES);
boolean isOrganizationAdmin = userSession.hasPermission(GlobalPermission.ADMINISTER);
boolean canBrowseProject = userSession.hasComponentPermission(USER, component);

json.prop("showSettings", isProjectAdmin && componentTypeHasProperty(component, PROPERTY_CONFIGURABLE));

+ 1
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/ui/ws/OrganizationAction.java View File

@@ -41,7 +41,7 @@ import org.sonar.server.project.Visibility;
import org.sonar.server.ui.PageRepository;
import org.sonar.server.user.UserSession;

import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.server.exceptions.NotFoundException.checkFoundWithOptional;
import static org.sonar.server.ws.KeyExamples.KEY_ORG_EXAMPLE_001;


+ 2
- 2
server/sonar-webserver-webapi/src/main/java/org/sonar/server/user/ws/CurrentAction.java View File

@@ -33,7 +33,7 @@ import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.component.BranchDto;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.project.ProjectDto;
import org.sonar.db.user.UserDto;
import org.sonar.server.issue.AvatarResolver;
@@ -135,7 +135,7 @@ public class CurrentAction implements UsersWsAction {
String defaultOrganizationUuid = defaultOrganizationProvider.get().getUuid();
return permissionService.getGlobalPermissions().stream()
.filter(permission -> userSession.hasPermission(permission))
.map(OrganizationPermission::getKey)
.map(GlobalPermission::getKey)
.collect(toList());
}


+ 1
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/user/ws/DeactivateAction.java View File

@@ -35,7 +35,7 @@ import org.sonar.server.user.index.UserIndexer;

import static java.util.Collections.singletonList;
import static org.sonar.api.CoreProperties.DEFAULT_ISSUE_ASSIGNEE;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.server.exceptions.BadRequestException.checkRequest;
import static org.sonar.server.exceptions.NotFoundException.checkFound;


+ 2
- 2
server/sonar-webserver-webapi/src/main/java/org/sonar/server/user/ws/GroupsAction.java View File

@@ -31,7 +31,7 @@ import org.sonar.api.server.ws.WebService.SelectionMode;
import org.sonar.api.utils.Paging;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.user.GroupDto;
import org.sonar.db.user.GroupMembershipDto;
import org.sonar.db.user.GroupMembershipQuery;
@@ -96,7 +96,7 @@ public class GroupsAction implements UsersWsAction {
private GroupsWsResponse doHandle(GroupsRequest request) {

try (DbSession dbSession = dbClient.openSession(false)) {
userSession.checkPermission(OrganizationPermission.ADMINISTER);
userSession.checkPermission(GlobalPermission.ADMINISTER);

String login = request.getLogin();
GroupMembershipQuery query = GroupMembershipQuery.builder()

+ 1
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/AddUserAction.java View File

@@ -32,7 +32,7 @@ import org.sonar.db.user.UserGroupDto;
import org.sonar.server.user.UserSession;

import static java.lang.String.format;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.server.exceptions.NotFoundException.checkFound;
import static org.sonar.server.usergroups.ws.GroupWsSupport.PARAM_GROUP_ID;
import static org.sonar.server.usergroups.ws.GroupWsSupport.PARAM_GROUP_NAME;

+ 1
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/CreateAction.java View File

@@ -34,7 +34,7 @@ import org.sonarqube.ws.UserGroups;

import static java.lang.String.format;
import static org.sonar.api.user.UserGroupValidation.GROUP_NAME_MAX_LENGTH;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.server.usergroups.ws.GroupWsSupport.DESCRIPTION_MAX_LENGTH;
import static org.sonar.server.usergroups.ws.GroupWsSupport.PARAM_GROUP_DESCRIPTION;
import static org.sonar.server.usergroups.ws.GroupWsSupport.PARAM_GROUP_NAME;

+ 3
- 3
server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/DeleteAction.java View File

@@ -26,7 +26,7 @@ import org.sonar.api.server.ws.WebService;
import org.sonar.api.server.ws.WebService.NewController;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.user.GroupDto;
import org.sonar.server.user.UserSession;

@@ -68,7 +68,7 @@ public class DeleteAction implements UserGroupsWsAction {
public void handle(Request request, Response response) throws Exception {
try (DbSession dbSession = dbClient.openSession(false)) {
GroupDto group = support.findGroupDto(dbSession, request);
userSession.checkPermission(OrganizationPermission.ADMINISTER);
userSession.checkPermission(GlobalPermission.ADMINISTER);

support.checkGroupIsNotDefault(dbSession, group);
checkNotTryingToDeleteLastAdminGroup(dbSession, group);
@@ -85,7 +85,7 @@ public class DeleteAction implements UserGroupsWsAction {

private void checkNotTryingToDeleteLastAdminGroup(DbSession dbSession, GroupDto group) {
int remaining = dbClient.authorizationDao().countUsersWithGlobalPermissionExcludingGroup(dbSession,
OrganizationPermission.ADMINISTER.getKey(), group.getUuid());
GlobalPermission.ADMINISTER.getKey(), group.getUuid());

checkArgument(remaining > 0, "The last system admin group cannot be deleted");
}

+ 3
- 3
server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/RemoveUserAction.java View File

@@ -26,7 +26,7 @@ import org.sonar.api.server.ws.WebService.NewAction;
import org.sonar.api.server.ws.WebService.NewController;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.user.GroupDto;
import org.sonar.db.user.UserDto;
import org.sonar.server.user.UserSession;
@@ -75,7 +75,7 @@ public class RemoveUserAction implements UserGroupsWsAction {

try (DbSession dbSession = dbClient.openSession(false)) {
GroupDto group = support.findGroupDto(dbSession, request);
userSession.checkPermission(OrganizationPermission.ADMINISTER);
userSession.checkPermission(GlobalPermission.ADMINISTER);
support.checkGroupIsNotDefault(dbSession, group);

String login = request.mandatoryParam(PARAM_LOGIN);
@@ -95,7 +95,7 @@ public class RemoveUserAction implements UserGroupsWsAction {
*/
private void ensureLastAdminIsNotRemoved(DbSession dbSession, GroupDto group, UserDto user) {
int remainingAdmins = dbClient.authorizationDao().countUsersWithGlobalPermissionExcludingGroupMember(dbSession,
OrganizationPermission.ADMINISTER.getKey(), group.getUuid(), user.getUuid());
GlobalPermission.ADMINISTER.getKey(), group.getUuid(), user.getUuid());
checkRequest(remainingAdmins > 0, "The last administrator user cannot be removed");
}


+ 1
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/SearchAction.java View File

@@ -41,7 +41,7 @@ import org.sonar.server.usergroups.DefaultGroupFinder;
import static java.util.Optional.ofNullable;
import static org.apache.commons.lang.StringUtils.defaultIfBlank;
import static org.sonar.api.utils.Paging.forPageIndex;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.server.es.SearchOptions.MAX_PAGE_SIZE;
import static org.sonar.server.ws.WsUtils.writeProtobuf;
import static org.sonarqube.ws.UserGroups.Group;

+ 1
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/UpdateAction.java View File

@@ -35,7 +35,7 @@ import org.sonarqube.ws.UserGroups;
import static java.lang.String.format;
import static org.sonar.api.user.UserGroupValidation.GROUP_NAME_MAX_LENGTH;
import static org.sonar.core.util.Uuids.UUID_EXAMPLE_01;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.server.exceptions.NotFoundException.checkFound;
import static org.sonar.server.qualitygate.ws.QualityGatesWsParameters.PARAM_CURRENT_NAME;
import static org.sonar.server.usergroups.ws.GroupWsSupport.DESCRIPTION_MAX_LENGTH;

+ 2
- 2
server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/UsersAction.java View File

@@ -31,7 +31,7 @@ import org.sonar.api.utils.Paging;
import org.sonar.api.utils.text.JsonWriter;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.user.UserMembershipDto;
import org.sonar.db.user.UserMembershipQuery;
import org.sonar.server.permission.GroupUuid;
@@ -82,7 +82,7 @@ public class UsersAction implements UserGroupsWsAction {

try (DbSession dbSession = dbClient.openSession(false)) {
GroupUuid group = support.findGroup(dbSession, request);
userSession.checkPermission(OrganizationPermission.ADMINISTER);
userSession.checkPermission(GlobalPermission.ADMINISTER);

UserMembershipQuery query = UserMembershipQuery.builder()
.groupUuid(group.getUuid())

+ 1
- 1
server/sonar-webserver-webapi/src/main/java/org/sonar/server/webhook/ws/WebhookSupport.java View File

@@ -30,7 +30,7 @@ import org.sonar.server.user.UserSession;

import static java.lang.String.format;
import static org.sonar.api.web.UserRole.ADMIN;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.process.ProcessProperties.Property.SONAR_VALIDATE_WEBHOOKS;

public class WebhookSupport {

+ 2
- 2
server/sonar-webserver-webapi/src/test/java/org/sonar/server/branch/pr/ws/ListActionTest.java View File

@@ -36,7 +36,7 @@ import org.sonar.db.component.ComponentTesting;
import org.sonar.db.component.ResourceTypesRule;
import org.sonar.db.metric.MetricDto;
import org.sonar.db.organization.OrganizationDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.protobuf.DbProjectBranches;
import org.sonar.db.rule.RuleDefinitionDto;
import org.sonar.server.component.ComponentFinder;
@@ -387,7 +387,7 @@ public class ListActionTest {
@Test
public void does_not_fail_when_only_scan_permission_on_organization() {
OrganizationDto organization = db.organizations().insert();
userSession.logIn().addPermission(OrganizationPermission.SCAN);
userSession.logIn().addPermission(GlobalPermission.SCAN);
ComponentDto project = db.components().insertPublicProject(organization);
db.components().insertProjectBranch(project,
b -> b.setKey("123")

+ 2
- 2
server/sonar-webserver-webapi/src/test/java/org/sonar/server/ce/queue/BranchReportSubmitterTest.java View File

@@ -74,8 +74,8 @@ import static org.sonar.core.permission.GlobalPermissions.SCAN_EXECUTION;
import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex;
import static org.sonar.db.component.ComponentTesting.newBranchDto;
import static org.sonar.db.component.ComponentTesting.newPrivateProjectDto;
import static org.sonar.db.permission.OrganizationPermission.PROVISION_PROJECTS;
import static org.sonar.db.permission.OrganizationPermission.SCAN;
import static org.sonar.db.permission.GlobalPermission.PROVISION_PROJECTS;
import static org.sonar.db.permission.GlobalPermission.SCAN;

/**
* Tests of {@link ReportSubmitter} when branch support is installed.

+ 10
- 10
server/sonar-webserver-webapi/src/test/java/org/sonar/server/ce/queue/ReportSubmitterTest.java View File

@@ -40,7 +40,7 @@ import org.sonar.db.ce.CeTaskTypes;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.component.ComponentTesting;
import org.sonar.db.organization.OrganizationDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.user.UserDto;
import org.sonar.server.component.ComponentUpdater;
import org.sonar.server.es.TestProjectIndexers;
@@ -68,8 +68,8 @@ import static org.mockito.Mockito.when;
import static org.sonar.core.permission.GlobalPermissions.SCAN_EXECUTION;
import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex;
import static org.sonar.db.component.ComponentTesting.newModuleDto;
import static org.sonar.db.permission.OrganizationPermission.PROVISION_PROJECTS;
import static org.sonar.db.permission.OrganizationPermission.SCAN;
import static org.sonar.db.permission.GlobalPermission.PROVISION_PROJECTS;
import static org.sonar.db.permission.GlobalPermission.SCAN;

public class ReportSubmitterTest {

@@ -106,7 +106,7 @@ public class ReportSubmitterTest {
@Test
public void submit_with_characteristics_fails_with_ISE_when_no_branch_support_delegate() {
userSession
.addPermission(OrganizationPermission.SCAN)
.addPermission(GlobalPermission.SCAN)
.addPermission(PROVISION_PROJECTS);
mockSuccessfulPrepareSubmitCall();
when(permissionTemplateService.wouldUserHaveScanPermissionWithDefaultTemplate(any(), any(), eq(PROJECT_KEY)))
@@ -125,7 +125,7 @@ public class ReportSubmitterTest {
@Test
public void submit_stores_report() {
userSession
.addPermission(OrganizationPermission.SCAN)
.addPermission(GlobalPermission.SCAN)
.addPermission(PROVISION_PROJECTS);
mockSuccessfulPrepareSubmitCall();
when(permissionTemplateService.wouldUserHaveScanPermissionWithDefaultTemplate(any(), any(), eq(PROJECT_KEY)))
@@ -157,7 +157,7 @@ public class ReportSubmitterTest {
public void provision_project_if_does_not_exist() {
OrganizationDto organization = db.organizations().insert();
userSession
.addPermission(OrganizationPermission.SCAN)
.addPermission(GlobalPermission.SCAN)
.addPermission(PROVISION_PROJECTS);
mockSuccessfulPrepareSubmitCall();
when(permissionTemplateService.wouldUserHaveScanPermissionWithDefaultTemplate(any(DbSession.class), any(), eq(PROJECT_KEY))).thenReturn(true);
@@ -178,7 +178,7 @@ public class ReportSubmitterTest {
OrganizationDto organization = db.organizations().insert();
userSession
.logIn(user)
.addPermission(OrganizationPermission.SCAN)
.addPermission(GlobalPermission.SCAN)
.addPermission(PROVISION_PROJECTS);
mockSuccessfulPrepareSubmitCall();
when(permissionTemplateService.wouldUserHaveScanPermissionWithDefaultTemplate(any(DbSession.class), any(), eq(PROJECT_KEY))).thenReturn(true);
@@ -193,7 +193,7 @@ public class ReportSubmitterTest {
@Test
public void do_no_add_favorite_when_no_project_creator_permission_on_permission_template() {
userSession
.addPermission(OrganizationPermission.SCAN)
.addPermission(GlobalPermission.SCAN)
.addPermission(PROVISION_PROJECTS);
when(permissionTemplateService.wouldUserHaveScanPermissionWithDefaultTemplate(any(DbSession.class), any(), eq(PROJECT_KEY)))
.thenReturn(true);
@@ -213,7 +213,7 @@ public class ReportSubmitterTest {
OrganizationDto organization = db.organizations().insert();
userSession
.logIn(user)
.addPermission(OrganizationPermission.SCAN)
.addPermission(GlobalPermission.SCAN)
.addPermission(PROVISION_PROJECTS);
mockSuccessfulPrepareSubmitCall();
when(permissionTemplateService.wouldUserHaveScanPermissionWithDefaultTemplate(any(DbSession.class), any(), eq(PROJECT_KEY))).thenReturn(true);
@@ -228,7 +228,7 @@ public class ReportSubmitterTest {
@Test
public void submit_a_report_on_new_project_with_scan_permission_on_organization() {
userSession
.addPermission(OrganizationPermission.SCAN)
.addPermission(GlobalPermission.SCAN)
.addPermission(PROVISION_PROJECTS);
mockSuccessfulPrepareSubmitCall();
when(permissionTemplateService.wouldUserHaveScanPermissionWithDefaultTemplate(any(DbSession.class), any(), eq(PROJECT_KEY)))

+ 3
- 3
server/sonar-webserver-webapi/src/test/java/org/sonar/server/ce/ws/TaskActionTest.java View File

@@ -42,7 +42,7 @@ import org.sonar.db.ce.CeTaskMessageType;
import org.sonar.db.ce.CeTaskTypes;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.organization.OrganizationDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.user.UserDto;
import org.sonar.server.exceptions.ForbiddenException;
import org.sonar.server.exceptions.NotFoundException;
@@ -57,7 +57,7 @@ import static org.sonar.core.permission.GlobalPermissions.SCAN_EXECUTION;
import static org.sonar.db.ce.CeTaskCharacteristicDto.BRANCH_KEY;
import static org.sonar.db.ce.CeTaskCharacteristicDto.BRANCH_TYPE_KEY;
import static org.sonar.db.component.BranchType.BRANCH;
import static org.sonar.db.permission.OrganizationPermission.SCAN;
import static org.sonar.db.permission.GlobalPermission.SCAN;

public class TaskActionTest {

@@ -469,7 +469,7 @@ public class TaskActionTest {

@Test
public void get_warnings_on_private_project_archived_task_if_scan_on_organization() {
userSession.logIn().addPermission(OrganizationPermission.SCAN);
userSession.logIn().addPermission(GlobalPermission.SCAN);

getWarningsImpl(createAndPersistArchivedTask(privateProject));
}

+ 7
- 7
server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/GroupPermissionChangerTest.java View File

@@ -34,17 +34,17 @@ import org.sonar.core.util.Uuids;
import org.sonar.db.DbTester;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.component.ResourceTypesRule;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.permission.GroupPermissionDto;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.user.GroupDto;
import org.sonar.db.user.UserDto;
import org.sonar.server.exceptions.BadRequestException;

import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.fail;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_GATES;
import static org.sonar.db.permission.OrganizationPermission.PROVISION_PROJECTS;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_GATES;
import static org.sonar.db.permission.GlobalPermission.PROVISION_PROJECTS;

public class GroupPermissionChangerTest {

@@ -316,7 +316,7 @@ public class GroupPermissionChangerTest {
GroupUuidOrAnyone groupUuid = GroupUuidOrAnyone.from(group);

permissionService.getGlobalPermissions().stream()
.map(OrganizationPermission::getKey)
.map(GlobalPermission::getKey)
.filter(perm -> !UserRole.ADMIN.equals(perm) && !GlobalPermissions.SCAN_EXECUTION.equals(perm))
.forEach(perm -> {
try {
@@ -334,7 +334,7 @@ public class GroupPermissionChangerTest {
GroupUuidOrAnyone groupUuid = GroupUuidOrAnyone.from(group);

permissionService.getGlobalPermissions().stream()
.map(OrganizationPermission::getKey)
.map(GlobalPermission::getKey)
.filter(perm -> !UserRole.ADMIN.equals(perm) && !GlobalPermissions.SCAN_EXECUTION.equals(perm))
.forEach(perm -> {
try {
@@ -353,7 +353,7 @@ public class GroupPermissionChangerTest {

permissionService.getAllProjectPermissions()
.stream()
.filter(perm -> !GlobalPermissions.SCAN_EXECUTION.equals(perm) && !OrganizationPermission.ADMINISTER.getKey().equals(perm))
.filter(perm -> !GlobalPermissions.SCAN_EXECUTION.equals(perm) && !GlobalPermission.ADMINISTER.getKey().equals(perm))
.forEach(permission -> {
try {
apply(new GroupPermissionChange(PermissionChange.Operation.ADD, permission, null, groupUuid, permissionService));

+ 3
- 3
server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/PermissionTemplateServiceTest.java View File

@@ -43,9 +43,9 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.sonar.api.resources.Qualifiers.APP;
import static org.sonar.api.resources.Qualifiers.PROJECT;
import static org.sonar.api.resources.Qualifiers.VIEW;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.OrganizationPermission.PROVISION_PROJECTS;
import static org.sonar.db.permission.OrganizationPermission.SCAN;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.PROVISION_PROJECTS;
import static org.sonar.db.permission.GlobalPermission.SCAN;

public class PermissionTemplateServiceTest {


+ 6
- 6
server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/UserPermissionChangerTest.java View File

@@ -31,7 +31,7 @@ import org.sonar.core.util.SequenceUuidFactory;
import org.sonar.db.DbTester;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.component.ResourceTypesRule;
import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.permission.GlobalPermission;
import org.sonar.db.user.GroupDto;
import org.sonar.db.user.UserDto;
import org.sonar.server.exceptions.BadRequestException;
@@ -44,9 +44,9 @@ import static org.sonar.api.web.UserRole.USER;
import static org.sonar.core.permission.GlobalPermissions.QUALITY_GATE_ADMIN;
import static org.sonar.core.permission.GlobalPermissions.SCAN_EXECUTION;
import static org.sonar.core.permission.GlobalPermissions.SYSTEM_ADMIN;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_GATES;
import static org.sonar.db.permission.OrganizationPermission.SCAN;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_GATES;
import static org.sonar.db.permission.GlobalPermission.SCAN;
import static org.sonar.server.permission.PermissionChange.Operation.ADD;
import static org.sonar.server.permission.PermissionChange.Operation.REMOVE;

@@ -88,11 +88,11 @@ public class UserPermissionChangerTest {
@Test
public void apply_removes_any_organization_permission_to_user() {
// give ADMIN perm to user2 so that user1 is not the only one with this permission and it can be removed from user1
db.users().insertPermissionOnUser(user2, OrganizationPermission.ADMINISTER);
db.users().insertPermissionOnUser(user2, GlobalPermission.ADMINISTER);
permissionService.getGlobalPermissions().stream()
.forEach(perm -> db.users().insertPermissionOnUser(user1, perm));
assertThat(db.users().selectPermissionsOfUser(user1))
.containsOnly(permissionService.getGlobalPermissions().toArray(new OrganizationPermission[0]));
.containsOnly(permissionService.getGlobalPermissions().toArray(new GlobalPermission[0]));

permissionService.getGlobalPermissions().stream()
.forEach(perm -> {

+ 1
- 1
server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/AddGroupActionTest.java View File

@@ -50,7 +50,7 @@ import static org.sonar.db.component.ComponentTesting.newFileDto;
import static org.sonar.db.component.ComponentTesting.newModuleDto;
import static org.sonar.db.component.ComponentTesting.newPrivateProjectDto;
import static org.sonar.db.component.ComponentTesting.newSubView;
import static org.sonar.db.permission.OrganizationPermission.SCAN;
import static org.sonar.db.permission.GlobalPermission.SCAN;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_GROUP_ID;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_GROUP_NAME;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_PERMISSION;

+ 1
- 1
server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/AddUserActionTest.java View File

@@ -45,7 +45,7 @@ import static org.sonar.db.component.ComponentTesting.newFileDto;
import static org.sonar.db.component.ComponentTesting.newModuleDto;
import static org.sonar.db.component.ComponentTesting.newSubView;
import static org.sonar.db.component.ComponentTesting.newView;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_PERMISSION;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_PROJECT_ID;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_PROJECT_KEY;

+ 1
- 1
server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/BasePermissionWsTest.java View File

@@ -43,7 +43,7 @@ import org.sonar.server.usergroups.ws.GroupWsSupport;
import org.sonar.server.ws.TestRequest;
import org.sonar.server.ws.WsActionTester;

import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.db.permission.template.PermissionTemplateTesting.newPermissionTemplateDto;

public abstract class BasePermissionWsTest<A extends PermissionsWsAction> {

+ 2
- 2
server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/GroupsActionTest.java View File

@@ -47,8 +47,8 @@ import static org.sonar.api.web.UserRole.ISSUE_ADMIN;
import static org.sonar.core.permission.GlobalPermissions.SCAN_EXECUTION;
import static org.sonar.db.component.ComponentTesting.newPrivateProjectDto;
import static org.sonar.db.component.ComponentTesting.newView;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.OrganizationPermission.SCAN;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.SCAN;
import static org.sonar.test.JsonAssert.assertJson;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_PERMISSION;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_PROJECT_ID;

+ 2
- 2
server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/RemoveGroupActionTest.java View File

@@ -50,8 +50,8 @@ import static org.sonar.db.component.ComponentTesting.newDirectory;
import static org.sonar.db.component.ComponentTesting.newFileDto;
import static org.sonar.db.component.ComponentTesting.newModuleDto;
import static org.sonar.db.component.ComponentTesting.newSubView;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.OrganizationPermission.PROVISION_PROJECTS;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.PROVISION_PROJECTS;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_GROUP_ID;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_GROUP_NAME;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_PERMISSION;

+ 3
- 3
server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/RemoveUserActionTest.java View File

@@ -47,9 +47,9 @@ import static org.sonar.db.component.ComponentTesting.newDirectory;
import static org.sonar.db.component.ComponentTesting.newFileDto;
import static org.sonar.db.component.ComponentTesting.newModuleDto;
import static org.sonar.db.component.ComponentTesting.newSubView;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_GATES;
import static org.sonar.db.permission.OrganizationPermission.PROVISION_PROJECTS;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_GATES;
import static org.sonar.db.permission.GlobalPermission.PROVISION_PROJECTS;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_PERMISSION;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_PROJECT_ID;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_PROJECT_KEY;

+ 1
- 1
server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/SearchGlobalPermissionsActionTest.java View File

@@ -35,7 +35,7 @@ import org.sonarqube.ws.Permissions;

import static org.assertj.core.api.Assertions.assertThat;
import static org.sonar.core.permission.GlobalPermissions.SCAN_EXECUTION;
import static org.sonar.db.permission.OrganizationPermission.SCAN;
import static org.sonar.db.permission.GlobalPermission.SCAN;

public class SearchGlobalPermissionsActionTest extends BasePermissionWsTest<SearchGlobalPermissionsAction> {


+ 1
- 1
server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/SearchProjectPermissionsActionTest.java View File

@@ -47,7 +47,7 @@ import static org.sonar.api.server.ws.WebService.Param.TEXT_QUERY;
import static org.sonar.db.component.ComponentTesting.newPrivateProjectDto;
import static org.sonar.db.component.ComponentTesting.newProjectCopy;
import static org.sonar.db.component.ComponentTesting.newView;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.test.JsonAssert.assertJson;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_PROJECT_ID;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_PROJECT_KEY;

+ 5
- 5
server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/UsersActionTest.java View File

@@ -45,11 +45,11 @@ import static org.sonar.api.server.ws.WebService.Param.PAGE_SIZE;
import static org.sonar.api.server.ws.WebService.Param.TEXT_QUERY;
import static org.sonar.api.web.UserRole.ISSUE_ADMIN;
import static org.sonar.core.permission.GlobalPermissions.SYSTEM_ADMIN;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_GATES;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonar.db.permission.OrganizationPermission.PROVISION_PROJECTS;
import static org.sonar.db.permission.OrganizationPermission.SCAN;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_GATES;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonar.db.permission.GlobalPermission.PROVISION_PROJECTS;
import static org.sonar.db.permission.GlobalPermission.SCAN;
import static org.sonar.db.user.UserTesting.newUserDto;
import static org.sonar.test.JsonAssert.assertJson;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_PERMISSION;

+ 1
- 1
server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/template/AddProjectCreatorToTemplateActionTest.java View File

@@ -42,7 +42,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
import static org.sonar.core.permission.GlobalPermissions.QUALITY_GATE_ADMIN;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_GATES;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_GATES;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_PERMISSION;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_TEMPLATE_ID;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_TEMPLATE_NAME;

+ 1
- 1
server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/template/AddUserToTemplateActionTest.java View File

@@ -42,7 +42,7 @@ import org.sonar.server.ws.TestRequest;
import static org.assertj.core.api.Assertions.assertThat;
import static org.sonar.api.web.UserRole.CODEVIEWER;
import static org.sonar.api.web.UserRole.ISSUE_ADMIN;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_PERMISSION;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_TEMPLATE_ID;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_TEMPLATE_NAME;

+ 1
- 1
server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/template/ApplyTemplateActionTest.java View File

@@ -47,7 +47,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.sonar.api.resources.Qualifiers.APP;
import static org.sonar.api.resources.Qualifiers.PROJECT;
import static org.sonar.api.resources.Qualifiers.VIEW;
import static org.sonar.db.permission.OrganizationPermission.SCAN;
import static org.sonar.db.permission.GlobalPermission.SCAN;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_PROJECT_ID;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_PROJECT_KEY;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_TEMPLATE_ID;

+ 1
- 1
server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/template/CreateTemplateActionTest.java View File

@@ -31,7 +31,7 @@ import org.sonar.server.ws.TestRequest;
import org.sonar.server.ws.TestResponse;

import static org.assertj.core.api.Assertions.assertThat;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER_QUALITY_PROFILES;
import static org.sonar.test.JsonAssert.assertJson;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_DESCRIPTION;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_NAME;

+ 1
- 1
server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/template/DeleteTemplateActionTest.java View File

@@ -53,7 +53,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.sonar.api.resources.Qualifiers.APP;
import static org.sonar.api.resources.Qualifiers.PROJECT;
import static org.sonar.api.resources.Qualifiers.VIEW;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.db.permission.GlobalPermission.ADMINISTER;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_TEMPLATE_ID;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_TEMPLATE_NAME;


+ 0
- 0
server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/template/RemoveGroupFromTemplateActionTest.java View File


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save