]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-6467 Rename parameter for SCM accounts
authorJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>
Mon, 18 May 2015 09:39:32 +0000 (11:39 +0200)
committerJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>
Mon, 18 May 2015 13:04:17 +0000 (15:04 +0200)
server/sonar-server/src/main/java/org/sonar/server/user/ws/CreateAction.java
server/sonar-server/src/main/java/org/sonar/server/user/ws/UpdateAction.java
server/sonar-server/src/test/java/org/sonar/server/user/ws/CreateActionTest.java
server/sonar-server/src/test/java/org/sonar/server/user/ws/UpdateActionTest.java
server/sonar-server/src/test/java/org/sonar/server/user/ws/UsersWsTest.java

index bd47e88ad2ac2c48ee3c30081ffb4559a88471c4..be89ca92fbcda98de118557ee488e949dccc122e 100644 (file)
@@ -36,10 +36,10 @@ public class CreateAction implements UsersWsAction {
 
   private static final String PARAM_LOGIN = "login";
   private static final String PARAM_PASSWORD = "password";
-  private static final String PARAM_PASSWORD_CONFIRMATION = "password_confirmation";
   private static final String PARAM_NAME = "name";
   private static final String PARAM_EMAIL = "email";
-  private static final String PARAM_SCM_ACCOUNTS = "scm_accounts";
+  private static final String PARAM_SCM_ACCOUNTS = "scmAccounts";
+  private static final String PARAM_SCM_ACCOUNTS_DEPRECATED = "scm_accounts";
 
   private final UserIndex index;
   private final UserUpdater userUpdater;
@@ -71,11 +71,6 @@ public class CreateAction implements UsersWsAction {
       .setRequired(true)
       .setExampleValue("mypassword");
 
-    action.createParam(PARAM_PASSWORD_CONFIRMATION)
-      .setDescription("Must be the same value as \"password\"")
-      .setRequired(true)
-      .setExampleValue("mypassword");
-
     action.createParam(PARAM_NAME)
       .setDescription("User name")
       .setRequired(true)
@@ -87,7 +82,8 @@ public class CreateAction implements UsersWsAction {
 
     action.createParam(PARAM_SCM_ACCOUNTS)
       .setDescription("SCM accounts. This parameter has been added in 5.1")
-      .setExampleValue("myscmaccount1, myscmaccount2");
+      .setDeprecatedKey(PARAM_SCM_ACCOUNTS_DEPRECATED)
+      .setExampleValue("myscmaccount1,myscmaccount2");
   }
 
   @Override
@@ -95,13 +91,14 @@ public class CreateAction implements UsersWsAction {
     userSession.checkLoggedIn().checkGlobalPermission(GlobalPermissions.SYSTEM_ADMIN);
 
     String login = request.mandatoryParam(PARAM_LOGIN);
+    String password = request.mandatoryParam(PARAM_PASSWORD);
     NewUser newUser = NewUser.create()
       .setLogin(login)
       .setName(request.mandatoryParam(PARAM_NAME))
       .setEmail(request.param(PARAM_EMAIL))
       .setScmAccounts(request.paramAsStrings(PARAM_SCM_ACCOUNTS))
-      .setPassword(request.mandatoryParam(PARAM_PASSWORD))
-      .setPasswordConfirmation(request.mandatoryParam(PARAM_PASSWORD_CONFIRMATION));
+      .setPassword(password)
+      .setPasswordConfirmation(password);
 
     boolean isUserReactivated = userUpdater.create(newUser);
     writeResponse(response, login, isUserReactivated);
index 23a7f2d25217c03a967b98c46047b1474b3f2f5c..19d6c41db8667dfc986aa847e95f71ebe3ed0e2f 100644 (file)
@@ -36,7 +36,8 @@ public class UpdateAction implements UsersWsAction {
   private static final String PARAM_LOGIN = "login";
   private static final String PARAM_NAME = "name";
   private static final String PARAM_EMAIL = "email";
-  private static final String PARAM_SCM_ACCOUNTS = "scm_accounts";
+  private static final String PARAM_SCM_ACCOUNTS = "scmAccounts";
+  private static final String PARAM_SCM_ACCOUNTS_DEPRECATED = "scm_accounts";
 
   private final UserIndex index;
   private final UserUpdater userUpdater;
@@ -72,7 +73,8 @@ public class UpdateAction implements UsersWsAction {
 
     action.createParam(PARAM_SCM_ACCOUNTS)
       .setDescription("SCM accounts. This parameter has been added in 5.1")
-      .setExampleValue("myscmaccount1, myscmaccount2");
+      .setDeprecatedKey(PARAM_SCM_ACCOUNTS_DEPRECATED)
+      .setExampleValue("myscmaccount1,myscmaccount2");
   }
 
   @Override
@@ -87,7 +89,7 @@ public class UpdateAction implements UsersWsAction {
     if (request.hasParam(PARAM_EMAIL)) {
       updateUser.setEmail(request.param(PARAM_EMAIL));
     }
-    if (request.hasParam(PARAM_SCM_ACCOUNTS)) {
+    if (request.hasParam(PARAM_SCM_ACCOUNTS) || request.hasParam(PARAM_SCM_ACCOUNTS_DEPRECATED)) {
       updateUser.setScmAccounts(request.paramAsStrings(PARAM_SCM_ACCOUNTS));
     }
 
index 42a4008c7dd1d254baba7f8ad5625c27194cd412..02613a65adce5121d3e0410890f8f7544b4c17a6 100644 (file)
@@ -118,13 +118,31 @@ public class CreateActionTest {
   public void create_user() throws Exception {
     userSessionRule.login("admin").setGlobalPermissions(GlobalPermissions.SYSTEM_ADMIN);
 
+    tester.newPostRequest("api/users", "create")
+      .setParam("login", "john")
+      .setParam("name", "John")
+      .setParam("email", "john@email.com")
+      .setParam("scmAccounts", "jn")
+      .setParam("password", "1234").execute()
+      .assertJson(getClass(), "create_user.json");
+
+    UserDoc user = index.getByLogin("john");
+    assertThat(user.login()).isEqualTo("john");
+    assertThat(user.name()).isEqualTo("John");
+    assertThat(user.email()).isEqualTo("john@email.com");
+    assertThat(user.scmAccounts()).containsOnly("jn");
+  }
+
+  @Test
+  public void create_user_with_deprecated_scm_parameter() throws Exception {
+    userSessionRule.login("admin").setGlobalPermissions(GlobalPermissions.SYSTEM_ADMIN);
+
     tester.newPostRequest("api/users", "create")
       .setParam("login", "john")
       .setParam("name", "John")
       .setParam("email", "john@email.com")
       .setParam("scm_accounts", "jn")
-      .setParam("password", "1234")
-      .setParam("password_confirmation", "1234").execute()
+      .setParam("password", "1234").execute()
       .assertJson(getClass(), "create_user.json");
 
     UserDoc user = index.getByLogin("john");
@@ -154,8 +172,7 @@ public class CreateActionTest {
       .setParam("name", "John")
       .setParam("email", "john@email.com")
       .setParam("scm_accounts", "jn")
-      .setParam("password", "1234")
-      .setParam("password_confirmation", "1234").execute()
+      .setParam("password", "1234").execute()
       .assertJson(getClass(), "reactivate_user.json");
 
     assertThat(index.getByLogin("john").active()).isTrue();
@@ -170,7 +187,6 @@ public class CreateActionTest {
       .setParam("name", "John")
       .setParam("email", "john@email.com")
       .setParam("scm_accounts", "jn")
-      .setParam("password", "1234")
-      .setParam("password_confirmation", "1234").execute();
+      .setParam("password", "1234").execute();
   }
 }
index 6ed505a8d225e153a70ef194cc53be08a14f3800..5bd83a3cec60d661d2bfcb56f8d2471714ec7793 100644 (file)
@@ -118,7 +118,7 @@ public class UpdateActionTest {
       .setParam("login", "john")
       .setParam("name", "Jon Snow")
       .setParam("email", "jon.snow@thegreatw.all")
-      .setParam("scm_accounts", "jon.snow")
+      .setParam("scmAccounts", "jon.snow")
       .execute()
       .assertJson(getClass(), "update_user.json");
   }
@@ -149,6 +149,17 @@ public class UpdateActionTest {
   public void update_only_scm_accounts() throws Exception {
     createUser();
 
+    tester.newPostRequest("api/users", "update")
+      .setParam("login", "john")
+      .setParam("scmAccounts", "jon.snow")
+      .execute()
+      .assertJson(getClass(), "update_scm_accounts.json");
+  }
+
+  @Test
+  public void update_only_scm_accounts_with_deprecated_parameter() throws Exception {
+    createUser();
+
     tester.newPostRequest("api/users", "update")
       .setParam("login", "john")
       .setParam("scm_accounts", "jon.snow")
index 1ea55a414627019be38d72779d97334dcbf51355..bb5fd484cc5f5cebc93e47fee91e549f95c1f750 100644 (file)
@@ -72,7 +72,7 @@ public class UsersWsTest {
     WebService.Action action = controller.action("create");
     assertThat(action).isNotNull();
     assertThat(action.isPost()).isTrue();
-    assertThat(action.params()).hasSize(6);
+    assertThat(action.params()).hasSize(5);
   }
 
   @Test