diff options
Diffstat (limited to 'server/sonar-server/src/test/java')
-rw-r--r-- | server/sonar-server/src/test/java/org/sonar/server/user/ws/UpdateActionTest.java | 32 |
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); |