aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-server/src/test/java
diff options
context:
space:
mode:
authorPierre Guillot <pierre.guillot@sonarsource.com>2019-06-27 10:50:51 +0200
committerSonarTech <sonartech@sonarsource.com>2019-06-28 20:21:11 +0200
commit2098582cd1c07e385b4a08943cd7b12a6b352a09 (patch)
tree47584454ea5648506c788859ccc4759256f9de2c /server/sonar-server/src/test/java
parent5123a65651d5c87742f4889d1eca1c3378e26748 (diff)
downloadsonarqube-2098582cd1c07e385b4a08943cd7b12a6b352a09.tar.gz
sonarqube-2098582cd1c07e385b4a08943cd7b12a6b352a09.zip
SONAR-11723 Prevent updating attributes of non-local users
Diffstat (limited to 'server/sonar-server/src/test/java')
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/user/ws/UpdateActionTest.java32
1 files changed, 31 insertions, 1 deletions
diff --git a/server/sonar-server/src/test/java/org/sonar/server/user/ws/UpdateActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/user/ws/UpdateActionTest.java
index efab9c999c0..8901a4c7dd5 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/user/ws/UpdateActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/user/ws/UpdateActionTest.java
@@ -98,6 +98,32 @@ public class UpdateActionTest {
}
@Test
+ public void fail_on_update_name_non_local_user() {
+ createUser(false);
+
+ expectedException.expect(IllegalArgumentException.class);
+ expectedException.expectMessage("Name cannot be updated for a non-local user");
+
+ ws.newRequest()
+ .setParam("login", "john")
+ .setParam("name", "Jean Neige")
+ .execute();
+ }
+
+ @Test
+ public void fail_on_update_email_non_local_user() {
+ createUser(false);
+
+ expectedException.expect(IllegalArgumentException.class);
+ expectedException.expectMessage("Email cannot be updated for a non-local user");
+
+ ws.newRequest()
+ .setParam("login", "john")
+ .setParam("email", "jean.neige@thegreatw.all")
+ .execute();
+ }
+
+ @Test
public void update_only_name() {
createUser();
@@ -283,13 +309,17 @@ public class UpdateActionTest {
}
private void createUser() {
+ createUser(true);
+ }
+
+ private void createUser(boolean local) {
UserDto userDto = newUserDto()
.setEmail("john@email.com")
.setLogin("john")
.setName("John")
.setScmAccounts(newArrayList("jn"))
.setActive(true)
- .setLocal(true)
+ .setLocal(local)
.setExternalLogin("jo")
.setExternalIdentityProvider("sonarqube");
dbClient.userDao().insert(dbSession, userDto);