aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-server/src
diff options
context:
space:
mode:
authorBenoit <benoit.gianinetti@sonarsource.com>2019-06-26 09:44:17 +0200
committerSonarTech <sonartech@sonarsource.com>2019-07-05 20:21:12 +0200
commit35c9cbb3ff8894f904113899851eead68228be56 (patch)
tree340b6171fde1029d8b24d2a71e64fc2573936882 /server/sonar-server/src
parent0eadd0c465f864f83a86a9110cb936d3507cf7d4 (diff)
downloadsonarqube-35c9cbb3ff8894f904113899851eead68228be56.tar.gz
sonarqube-35c9cbb3ff8894f904113899851eead68228be56.zip
SC-764 Users can remove their personal organization
Diffstat (limited to 'server/sonar-server/src')
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/organization/ws/DeleteAction.java6
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/organization/ws/SearchAction.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/organization/ws/DeleteActionTest.java11
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/organization/ws/SearchActionTest.java8
4 files changed, 4 insertions, 23 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/organization/ws/DeleteAction.java b/server/sonar-server/src/main/java/org/sonar/server/organization/ws/DeleteAction.java
index f02b990843b..152540a8027 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/organization/ws/DeleteAction.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/organization/ws/DeleteAction.java
@@ -109,11 +109,7 @@ public class DeleteAction implements OrganizationsWsAction {
preventDeletionOfDefaultOrganization(key, defaultOrganizationProvider.get());
OrganizationDto organization = checkFoundWithOptional(dbClient.organizationDao().selectByKey(dbSession, key), "Organization with key '%s' not found", key);
- if (organization.isGuarded()) {
- userSession.checkIsSystemAdministrator();
- } else {
- userSession.checkPermission(ADMINISTER, organization);
- }
+ userSession.checkPermission(ADMINISTER, organization);
deleteProjects(dbSession, organization);
deletePermissions(dbSession, organization);
diff --git a/server/sonar-server/src/main/java/org/sonar/server/organization/ws/SearchAction.java b/server/sonar-server/src/main/java/org/sonar/server/organization/ws/SearchAction.java
index 2939d677279..d19e3ae109b 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/organization/ws/SearchAction.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/organization/ws/SearchAction.java
@@ -149,7 +149,7 @@ public class SearchAction implements OrganizationsWsAction {
wsOrganization.setActions(Organization.Actions.newBuilder()
.setAdmin(isAdmin)
.setProvision(canProvision)
- .setDelete(o.isGuarded() ? userSession.isRoot() : isAdmin));
+ .setDelete(isAdmin));
response.addOrganizations(toOrganization(wsOrganization, o, organizationAlmBindingByOrgUuid.get(o.getUuid()), onlyMembershipOrganizations));
});
return response.build();
diff --git a/server/sonar-server/src/test/java/org/sonar/server/organization/ws/DeleteActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/organization/ws/DeleteActionTest.java
index c6e9711f937..8b19fa4b1ec 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/organization/ws/DeleteActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/organization/ws/DeleteActionTest.java
@@ -335,17 +335,6 @@ public class DeleteActionTest {
}
@Test
- public void delete_specified_guarded_organization_if_exists_and_user_is_system_administrator() {
- OrganizationDto organization = db.organizations().insert(dto -> dto.setGuarded(true));
- logInAsSystemAdministrator();
-
- sendRequest(organization);
-
- verifyOrganizationDoesNotExist(organization);
- verify(projectLifeCycleListeners).onProjectsDeleted(emptySet());
- }
-
- @Test
@UseDataProvider("OneOrMoreIterations")
public void delete_components_of_specified_organization(int numberOfIterations) {
OrganizationDto organization = db.organizations().insert();
diff --git a/server/sonar-server/src/test/java/org/sonar/server/organization/ws/SearchActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/organization/ws/SearchActionTest.java
index aa52e7cc9fb..b190cb30202 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/organization/ws/SearchActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/organization/ws/SearchActionTest.java
@@ -82,14 +82,11 @@ public class SearchActionTest {
OrganizationDto userAdminOrganization = db.organizations().insert();
OrganizationDto groupAdminOrganization = db.organizations().insert();
OrganizationDto browseOrganization = db.organizations().insert();
- OrganizationDto guardedOrganization = db.organizations().insert(dto -> dto.setGuarded(true));
UserDto user = db.users().insertUser();
GroupDto group = db.users().insertGroup(groupAdminOrganization);
db.users().insertMember(group, user);
- userSession.logIn(user).addPermission(ADMINISTER, userAdminOrganization)
- .addPermission(ADMINISTER, guardedOrganization);
+ userSession.logIn(user).addPermission(ADMINISTER, userAdminOrganization);
db.users().insertPermissionOnUser(userAdminOrganization, user, ADMINISTER);
- db.users().insertPermissionOnUser(guardedOrganization, user, ADMINISTER);
db.users().insertPermissionOnGroup(group, ADMINISTER);
SearchWsResponse result = call(ws.newRequest());
@@ -99,8 +96,7 @@ public class SearchActionTest {
.containsExactlyInAnyOrder(
tuple(userAdminOrganization.getKey(), true, true),
tuple(browseOrganization.getKey(), false, false),
- tuple(groupAdminOrganization.getKey(), true, true),
- tuple(guardedOrganization.getKey(), true, false));
+ tuple(groupAdminOrganization.getKey(), true, true));
}
@Test