Merge branch 'stable-2.16' into stable-3.0
* stable-2.16: PutHttpPassword: Squash apply methods Clarify that account must have a username to be able to set HTTP password Change-Id: Id637e46d45dd5e29f19be5b1554da58fc8b86dcd
This commit is contained in:
@@ -479,6 +479,8 @@ The options for setting/generating the HTTP password must be provided
|
||||
in the request body inside a link:#http-password-input[
|
||||
HttpPasswordInput] entity.
|
||||
|
||||
The account must have a username.
|
||||
|
||||
.Request
|
||||
----
|
||||
PUT /accounts/self/password.http HTTP/1.0
|
||||
|
||||
@@ -95,12 +95,8 @@ public class PutHttpPassword implements RestModifyView<AccountResource, HttpPass
|
||||
permissionBackend.currentUser().check(GlobalPermission.ADMINISTRATE_SERVER);
|
||||
newPassword = input.httpPassword;
|
||||
}
|
||||
return apply(rsrc.getUser(), newPassword);
|
||||
}
|
||||
|
||||
public Response<String> apply(IdentifiedUser user, String newPassword)
|
||||
throws ResourceNotFoundException, ResourceConflictException, IOException,
|
||||
ConfigInvalidException {
|
||||
IdentifiedUser user = rsrc.getUser();
|
||||
String userName =
|
||||
user.getUserName().orElseThrow(() -> new ResourceConflictException("username must be set"));
|
||||
Optional<ExternalId> optionalExtId =
|
||||
|
||||
@@ -2800,6 +2800,16 @@ public class AccountIT extends AbstractDaemonTest {
|
||||
assertThat(gApi.accounts().id(user.username()).setHttpPassword(null)).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void cannotGenerateHttpPasswordWhenUsernameIsNotSet() throws Exception {
|
||||
requestScopeOperations.setApiUser(admin.id());
|
||||
int userId = accountCreator.create().id().get();
|
||||
assertThat(gApi.accounts().id(userId).get().username).isNull();
|
||||
exception.expect(ResourceConflictException.class);
|
||||
exception.expectMessage("username");
|
||||
gApi.accounts().id(userId).generateHttpPassword();
|
||||
}
|
||||
|
||||
private void createDraft(PushOneCommit.Result r, String path, String message) throws Exception {
|
||||
DraftInput in = new DraftInput();
|
||||
in.path = path;
|
||||
|
||||
Reference in New Issue
Block a user