@Test void testUpdateMemberRole() { when(managerRole.getName()).thenReturn(MANAGER_NAME); when(editorRole.getName()).thenReturn(EDITOR_NAME); when(group.getRoles()).thenReturn(ImmutableList.of(managerRole, editorRole)); when(roleMembershipService.getMemberships(ImmutableList.of(managerRole, editorRole))) .thenReturn(singletonList(membership)); when(membership.getUser()).thenReturn(user); when(user.getId()).thenReturn("userID"); groupService.updateMemberRole(group, user, editorRole); verify(roleMembershipService).updateMembership(membership, editorRole); }
@RunAsSystem public void updateMemberRole(final Group group, final User member, final Role newRole) { ArrayList<Role> groupRoles = newArrayList(group.getRoles()); boolean isGroupRole = isGroupRole(newRole, groupRoles); if (!isGroupRole) { throw new NotAValidGroupRoleException(newRole, group); } final RoleMembership roleMembership = findRoleMembership(member, groupRoles); roleMembershipService.updateMembership(roleMembership, newRole); }
GroupService { @RunAsSystem public void updateMemberRole(final Group group, final User member, final Role newRole) { ArrayList<Role> groupRoles = newArrayList(group.getRoles()); boolean isGroupRole = isGroupRole(newRole, groupRoles); if (!isGroupRole) { throw new NotAValidGroupRoleException(newRole, group); } final RoleMembership roleMembership = findRoleMembership(member, groupRoles); roleMembershipService.updateMembership(roleMembership, newRole); } }
GroupService { @RunAsSystem public void updateMemberRole(final Group group, final User member, final Role newRole) { ArrayList<Role> groupRoles = newArrayList(group.getRoles()); boolean isGroupRole = isGroupRole(newRole, groupRoles); if (!isGroupRole) { throw new NotAValidGroupRoleException(newRole, group); } final RoleMembership roleMembership = findRoleMembership(member, groupRoles); roleMembershipService.updateMembership(roleMembership, newRole); } @SuppressWarnings("java:S107")  GroupService(
      PackageFactory packageFactory,
      DataService dataService,
      GroupMetadata groupMetadata,
      RoleMembershipService roleMembershipService,
      RoleMembershipMetadata roleMembershipMetadata,
      MutableAclService aclService,
      PermissionService permissionService); }
GroupService { @RunAsSystem public void updateMemberRole(final Group group, final User member, final Role newRole) { ArrayList<Role> groupRoles = newArrayList(group.getRoles()); boolean isGroupRole = isGroupRole(newRole, groupRoles); if (!isGroupRole) { throw new NotAValidGroupRoleException(newRole, group); } final RoleMembership roleMembership = findRoleMembership(member, groupRoles); roleMembershipService.updateMembership(roleMembership, newRole); } @SuppressWarnings("java:S107")  GroupService(
      PackageFactory packageFactory,
      DataService dataService,
      GroupMetadata groupMetadata,
      RoleMembershipService roleMembershipService,
      RoleMembershipMetadata roleMembershipMetadata,
      MutableAclService aclService,
      PermissionService permissionService); @Transactional void persist(GroupValue groupValue); @RunAsSystem Collection<Group> getGroups(); @RunAsSystem Group getGroup(String groupName); @RunAsSystem void addMember(final Group group, final User user, final Role role); @RunAsSystem void removeMember(final Group group, final User user); @RunAsSystem void updateMemberRole(final Group group, final User member, final Role newRole); @RunAsSystem boolean isGroupNameAvailable(final GroupValue groupValue); void deleteGroup(String groupName); void updateExtendsRole(Group group, Role groupRole, Role memberRole); void removeExtendsRole(Group group, Role memberRole); void grantDefaultPermissions(GroupValue groupValue); }
GroupService { @RunAsSystem public void updateMemberRole(final Group group, final User member, final Role newRole) { ArrayList<Role> groupRoles = newArrayList(group.getRoles()); boolean isGroupRole = isGroupRole(newRole, groupRoles); if (!isGroupRole) { throw new NotAValidGroupRoleException(newRole, group); } final RoleMembership roleMembership = findRoleMembership(member, groupRoles); roleMembershipService.updateMembership(roleMembership, newRole); } @SuppressWarnings("java:S107")  GroupService(
      PackageFactory packageFactory,
      DataService dataService,
      GroupMetadata groupMetadata,
      RoleMembershipService roleMembershipService,
      RoleMembershipMetadata roleMembershipMetadata,
      MutableAclService aclService,
      PermissionService permissionService); @Transactional void persist(GroupValue groupValue); @RunAsSystem Collection<Group> getGroups(); @RunAsSystem Group getGroup(String groupName); @RunAsSystem void addMember(final Group group, final User user, final Role role); @RunAsSystem void removeMember(final Group group, final User user); @RunAsSystem void updateMemberRole(final Group group, final User member, final Role newRole); @RunAsSystem boolean isGroupNameAvailable(final GroupValue groupValue); void deleteGroup(String groupName); void updateExtendsRole(Group group, Role groupRole, Role memberRole); void removeExtendsRole(Group group, Role memberRole); void grantDefaultPermissions(GroupValue groupValue); static final String MANAGER; static final String EDITOR; static final String VIEWER; static final String AUTHORITY_MANAGER; static final String AUTHORITY_EDITOR; static final String AUTHORITY_VIEWER; static final Set<String> DEFAULT_ROLES; }