Merge "DeleteMembers: Do not fail if member input contains null or empty string"
This commit is contained in:
@@ -14,6 +14,7 @@
|
|||||||
|
|
||||||
package com.google.gerrit.server.restapi.group;
|
package com.google.gerrit.server.restapi.group;
|
||||||
|
|
||||||
|
import com.google.common.base.Strings;
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
import com.google.gerrit.common.data.GroupDescription;
|
import com.google.gerrit.common.data.GroupDescription;
|
||||||
import com.google.gerrit.entities.Account;
|
import com.google.gerrit.entities.Account;
|
||||||
@@ -68,6 +69,9 @@ public class DeleteMembers implements RestModifyView<GroupResource, Input> {
|
|||||||
|
|
||||||
Set<Account.Id> membersToRemove = new HashSet<>();
|
Set<Account.Id> membersToRemove = new HashSet<>();
|
||||||
for (String nameOrEmail : input.members) {
|
for (String nameOrEmail : input.members) {
|
||||||
|
if (Strings.isNullOrEmpty(nameOrEmail)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
membersToRemove.add(accountResolver.resolve(nameOrEmail).asUnique().account().id());
|
membersToRemove.add(accountResolver.resolve(nameOrEmail).asUnique().account().id());
|
||||||
}
|
}
|
||||||
AccountGroup.UUID groupUuid = internalGroup.getGroupUUID();
|
AccountGroup.UUID groupUuid = internalGroup.getGroupUUID();
|
||||||
|
|||||||
@@ -186,6 +186,24 @@ public class GroupsIT extends AbstractDaemonTest {
|
|||||||
assertThat(members).isEmpty();
|
assertThat(members).isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void removeMember_nullInMemberInputDoesNotCauseFailure() throws Exception {
|
||||||
|
AccountGroup.UUID group =
|
||||||
|
groupOperations.newGroup().addMember(admin.id()).addMember(user.id()).create();
|
||||||
|
gApi.groups().id(group.get()).removeMembers(user.id().toString(), null);
|
||||||
|
ImmutableSet<Account.Id> members = groupOperations.group(group).get().members();
|
||||||
|
assertThat(members).containsExactly(admin.id());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void removeMember_emptyStringInMemberInputDoesNotCauseFailure() throws Exception {
|
||||||
|
AccountGroup.UUID group =
|
||||||
|
groupOperations.newGroup().addMember(admin.id()).addMember(user.id()).create();
|
||||||
|
gApi.groups().id(group.get()).removeMembers(user.id().toString(), "");
|
||||||
|
ImmutableSet<Account.Id> members = groupOperations.group(group).get().members();
|
||||||
|
assertThat(members).containsExactly(admin.id());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void cachedGroupsForMemberAreUpdatedOnMemberAdditionAndRemoval() throws Exception {
|
public void cachedGroupsForMemberAreUpdatedOnMemberAdditionAndRemoval() throws Exception {
|
||||||
String username = name("user");
|
String username = name("user");
|
||||||
|
|||||||
Reference in New Issue
Block a user