aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@sonarsource.com>2017-02-05 15:56:06 +0100
committerSimon Brandhof <simon.brandhof@sonarsource.com>2017-02-07 14:30:43 +0100
commitdb9e95760685d6fa23a6881364ff972b9eb4e0a5 (patch)
tree7e59e7469e6bc7ae81f5751f9ef5c9285d4091a8
parentddc17837168ac23f2dada9cfd23cb50eb92426c6 (diff)
downloadsonarqube-db9e95760685d6fa23a6881364ff972b9eb4e0a5.tar.gz
sonarqube-db9e95760685d6fa23a6881364ff972b9eb4e0a5.zip
SONAR-8716 fix check of permissions in api/users/search
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/user/ws/UserJsonWriter.java3
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/user/ws/SearchActionTest.java13
2 files changed, 7 insertions, 9 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/user/ws/UserJsonWriter.java b/server/sonar-server/src/main/java/org/sonar/server/user/ws/UserJsonWriter.java
index 990d4db28ff..ea4458513a9 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/user/ws/UserJsonWriter.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/user/ws/UserJsonWriter.java
@@ -25,7 +25,6 @@ import java.util.Collections;
import java.util.Set;
import javax.annotation.Nullable;
import org.sonar.api.utils.text.JsonWriter;
-import org.sonar.core.permission.GlobalPermissions;
import org.sonar.db.user.UserDto;
import org.sonar.server.user.UserSession;
@@ -94,7 +93,7 @@ public class UserJsonWriter {
}
private void writeGroupsIfNeeded(JsonWriter json, Collection<String> groups, @Nullable Collection<String> fields) {
- if (isFieldNeeded(FIELD_GROUPS, fields) && userSession.hasPermission(GlobalPermissions.SYSTEM_ADMIN)) {
+ if (isFieldNeeded(FIELD_GROUPS, fields) && userSession.isRoot()) {
json.name(FIELD_GROUPS).beginArray();
for (String groupName : groups) {
json.value(groupName);
diff --git a/server/sonar-server/src/test/java/org/sonar/server/user/ws/SearchActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/user/ws/SearchActionTest.java
index b1ce2579bbb..9a32918b688 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/user/ws/SearchActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/user/ws/SearchActionTest.java
@@ -26,7 +26,6 @@ import org.junit.Test;
import org.sonar.api.config.MapSettings;
import org.sonar.api.server.ws.WebService.Param;
import org.sonar.api.utils.System2;
-import org.sonar.core.permission.GlobalPermissions;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.DbTester;
@@ -94,7 +93,7 @@ public class SearchActionTest {
dbClient.userTokenDao().insert(dbSession, newUserToken().setLogin(fmallet.getLogin()));
db.commit();
userIndexer.index();
- loginAsAdmin();
+ loginAsRoot();
String response = ws.newGetRequest("api/users", "search").execute().outputAsString();
@@ -177,7 +176,7 @@ public class SearchActionTest {
.doesNotContain("scmAccounts")
.doesNotContain("groups");
- loginAsAdmin();
+ loginAsRoot();
assertThat(ws.newGetRequest("api/users", "search").execute().outputAsString())
.contains("login")
@@ -196,7 +195,7 @@ public class SearchActionTest {
@Test
public void search_with_groups() throws Exception {
- loginAsAdmin();
+ loginAsRoot();
List<UserDto> users = injectUsers(1);
GroupDto group1 = dbClient.groupDao().insert(dbSession, newGroupDto().setName("sonar-users"));
@@ -260,12 +259,12 @@ public class SearchActionTest {
return userDtos;
}
- private void loginAsAdmin() {
- userSession.logIn("admin").setGlobalPermissions(GlobalPermissions.SYSTEM_ADMIN);
+ private void loginAsRoot() {
+ userSession.logIn().setRoot();
}
private void loginAsSimpleUser() {
- userSession.logIn("user");
+ userSession.logIn();
}
}