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;
.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)
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
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);
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;
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
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));
}
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");
.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();
.setParam("name", "John")
.setParam("email", "john@email.com")
.setParam("scm_accounts", "jn")
- .setParam("password", "1234")
- .setParam("password_confirmation", "1234").execute();
+ .setParam("password", "1234").execute();
}
}
.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");
}
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")
WebService.Action action = controller.action("create");
assertThat(action).isNotNull();
assertThat(action.isPost()).isTrue();
- assertThat(action.params()).hasSize(6);
+ assertThat(action.params()).hasSize(5);
}
@Test