groupApi removeMember remove subgroup and projects member
Opened this issue · 2 comments
CHYhave commented
- add subgroup member
- add group member
- remove group member
expect
group member has been removed and keep subgroup member
actual
subgroup also has been removed
CHYhave commented
test case:
`
@test
public void removeMember() throws GitLabApiException, MalformedURLException {
Integer groupId = 3, userId = 2;
Integer subGroupId = 5;
GitLabApi gitLabApi = new GitLabApi("http://10.10.102.202:33200/", "glpat-mW-1QqaqTquBGdGt8UY6");
GroupApi groupApi = gitLabApi.getGroupApi();
Member groupMember = groupApi.getOptionalMember(groupId, userId, true).orElse(null);
if (groupMember == null) {
groupApi.addMember(groupId, userId, AccessLevel.MAINTAINER);
groupMember = groupApi.getOptionalMember(groupId, userId).orElse(null);
}
Assert.assertNotNull(groupMember);
Member subGroupMember = groupApi.getOptionalMember(subGroupId, userId).orElse(null);
if (subGroupMember == null) {
groupApi.addMember(subGroupId, userId, AccessLevel.MAINTAINER);
subGroupMember = groupApi.getOptionalMember(subGroupId, userId).orElse(null);
}
Assert.assertNotNull(subGroupMember);
Group group = groupApi.getGroup(groupId);
groupApi.removeMember(group.getId(), userId);
groupMember = groupApi.getOptionalMember(groupId, userId).orElse(null);
Assert.assertNull(groupMember);
subGroupMember = groupApi.getOptionalMember(subGroupId, userId).orElse(null);
Assert.assertNotNull("sub group member has been removed", subGroupMember);
}
`
jmini commented
What you describes seems to be related to how GitLab itself works. I don't think we can influence this at client side.