diff options
author | Sébastien Lesaint <sebastien.lesaint@sonarsource.com> | 2017-04-26 15:22:26 +0200 |
---|---|---|
committer | Sébastien Lesaint <sebastien.lesaint@sonarsource.com> | 2017-04-27 14:42:50 +0200 |
commit | 681ae7cfbd1672f468154f7ccc12245f72750382 (patch) | |
tree | b8fb3a7b30352063c2851628d16a5b3b59ff3fc5 /server/sonar-server/src | |
parent | 174fdeb183d803faeab1b9266a0be25a076fe344 (diff) | |
download | sonarqube-681ae7cfbd1672f468154f7ccc12245f72750382.tar.gz sonarqube-681ae7cfbd1672f468154f7ccc12245f72750382.zip |
SONAR-9159 support project visibility in api/permissions/remove_user
Diffstat (limited to 'server/sonar-server/src')
-rw-r--r-- | server/sonar-server/src/test/java/org/sonar/server/permission/ws/RemoveUserActionTest.java | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/RemoveUserActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/RemoveUserActionTest.java index 45c3d039abc..730f6bcdf9c 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/RemoveUserActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/RemoveUserActionTest.java @@ -24,6 +24,7 @@ import org.junit.Test; import org.sonar.api.web.UserRole; import org.sonar.db.component.ComponentDto; import org.sonar.db.component.ComponentTesting; +import org.sonar.db.organization.OrganizationDto; import org.sonar.db.user.UserDto; import org.sonar.server.exceptions.BadRequestException; import org.sonar.server.exceptions.ForbiddenException; @@ -34,6 +35,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.sonar.api.web.UserRole.ADMIN; import static org.sonar.api.web.UserRole.CODEVIEWER; import static org.sonar.api.web.UserRole.ISSUE_ADMIN; +import static org.sonar.api.web.UserRole.USER; import static org.sonar.core.permission.GlobalPermissions.PROVISIONING; import static org.sonar.core.permission.GlobalPermissions.QUALITY_GATE_ADMIN; import static org.sonar.core.permission.GlobalPermissions.SYSTEM_ADMIN; @@ -277,4 +279,36 @@ public class RemoveUserActionTest extends BasePermissionWsTest<RemoveUserAction> assertThat(db.users().selectProjectPermissionsOfUser(user, project)).containsOnly(CODEVIEWER); } + @Test + public void fail_when_removing_USER_permission_on_a_public_project() { + OrganizationDto organization = db.organizations().insert(); + ComponentDto project = db.components().insertPublicProject(organization); + userSession.logIn().addProjectPermission(UserRole.ADMIN, project); + + expectedException.expect(BadRequestException.class); + expectedException.expectMessage("Permission user can't be removed from a public component"); + + newRequest() + .setParam(PARAM_USER_LOGIN, user.getLogin()) + .setParam(PARAM_PROJECT_ID, project.uuid()) + .setParam(PARAM_PERMISSION, USER) + .execute(); + } + + @Test + public void fail_when_removing_CODEVIEWER_permission_on_a_public_project() { + OrganizationDto organization = db.organizations().insert(); + ComponentDto project = db.components().insertPublicProject(organization); + userSession.logIn().addProjectPermission(UserRole.ADMIN, project); + + expectedException.expect(BadRequestException.class); + expectedException.expectMessage("Permission codeviewer can't be removed from a public component"); + + newRequest() + .setParam(PARAM_USER_LOGIN, user.getLogin()) + .setParam(PARAM_PROJECT_ID, project.uuid()) + .setParam(PARAM_PERMISSION, CODEVIEWER) + .execute(); + } + } |