* or if the virtual group "Anyone" is requested.
*/
public GroupId findGroup(DbSession dbSession, Request request) {
+ return GroupId.from(findGroupDto(dbSession, request));
+ }
+
+ public GroupDto findGroupDto(DbSession dbSession, Request request) {
Integer id = request.paramAsInt(PARAM_GROUP_ID);
String organizationKey = request.param(PARAM_ORGANIZATION_KEY);
String name = request.param(PARAM_GROUP_NAME);
- return findGroup(dbSession, GroupWsRef.create(id, organizationKey, name));
+ return findGroupDto(dbSession, GroupWsRef.create(id, organizationKey, name));
}
- /**
- * Finds a user group by its reference. If organization is not defined then group
- * is searched in default organization.
- *
- * @return non-null group
- * @throws NotFoundException if the requested group does not exist
- * @throws NotFoundException if the requested group is Anyone
- */
- public GroupId findGroup(DbSession dbSession, GroupWsRef ref) {
+ public GroupDto findGroupDto(DbSession dbSession, GroupWsRef ref) {
if (ref.hasId()) {
GroupDto group = dbClient.groupDao().selectById(dbSession, ref.getId());
checkFound(group, "No group with id '%s'", ref.getId());
- return GroupId.from(group);
+ return group;
}
OrganizationDto org = findOrganizationByKey(dbSession, ref.getOrganizationKey());
Optional<GroupDto> group = dbClient.groupDao().selectByName(dbSession, org.getUuid(), ref.getName());
checkFoundWithOptional(group, "No group with name '%s' in organization '%s'", ref.getName(), org.getKey());
- return GroupId.from(group.get());
+ return group.get();
}
public GroupIdOrAnyone findGroupOrAnyone(DbSession dbSession, GroupWsRef ref) {
@Test
public void add_permission_to_group() {
- GroupIdOrAnyone groupId = new GroupIdOrAnyone(group);
+ GroupIdOrAnyone groupId = GroupIdOrAnyone.from(group);
apply(new GroupPermissionChange(PermissionChange.Operation.ADD, GlobalPermissions.QUALITY_GATE_ADMIN, null, groupId));
@Test
public void add_project_permission_to_group() {
- GroupIdOrAnyone groupId = new GroupIdOrAnyone(group);
+ GroupIdOrAnyone groupId = GroupIdOrAnyone.from(group);
apply(new GroupPermissionChange(PermissionChange.Operation.ADD, UserRole.ISSUE_ADMIN, new ProjectId(project), groupId));
@Test
public void add_permission_to_anyone() {
OrganizationDto defaultOrganization = db.getDefaultOrganization();
- GroupIdOrAnyone groupId = new GroupIdOrAnyone(defaultOrganization.getUuid(), null);
+ GroupIdOrAnyone groupId = GroupIdOrAnyone.forAnyone(defaultOrganization.getUuid());
apply(new GroupPermissionChange(PermissionChange.Operation.ADD, GlobalPermissions.QUALITY_GATE_ADMIN, null, groupId));
@Test
public void add_project_permission_to_anyone() {
- GroupIdOrAnyone groupId = new GroupIdOrAnyone(org.getUuid(), null);
+ GroupIdOrAnyone groupId = GroupIdOrAnyone.forAnyone(org.getUuid());
apply(new GroupPermissionChange(PermissionChange.Operation.ADD, UserRole.ISSUE_ADMIN, new ProjectId(project), groupId));
@Test
public void do_nothing_when_adding_permission_that_already_exists() {
- GroupIdOrAnyone groupId = new GroupIdOrAnyone(group);
+ GroupIdOrAnyone groupId = GroupIdOrAnyone.from(group);
db.users().insertPermissionOnGroup(group, ADMINISTER_QUALITY_GATES);
apply(new GroupPermissionChange(PermissionChange.Operation.ADD, ADMINISTER_QUALITY_GATES.getKey(), null, groupId));
@Test
public void fail_to_add_global_permission_on_project() {
- GroupIdOrAnyone groupId = new GroupIdOrAnyone(group);
+ GroupIdOrAnyone groupId = GroupIdOrAnyone.from(group);
expectedException.expect(BadRequestException.class);
expectedException.expectMessage("Invalid project permission 'gateadmin'. Valid values are [admin, codeviewer, issueadmin, scan, user]");
@Test
public void fail_to_add_project_permission_on_global_group() {
- GroupIdOrAnyone groupId = new GroupIdOrAnyone(group);
+ GroupIdOrAnyone groupId = GroupIdOrAnyone.from(group);
expectedException.expect(BadRequestException.class);
expectedException.expectMessage("Invalid global permission 'issueadmin'. Valid values are [admin, profileadmin, gateadmin, scan, provisioning]");
@Test
public void remove_permission_from_group() {
- GroupIdOrAnyone groupId = new GroupIdOrAnyone(group);
+ GroupIdOrAnyone groupId = GroupIdOrAnyone.from(group);
db.users().insertPermissionOnGroup(group, ADMINISTER_QUALITY_GATES);
db.users().insertPermissionOnGroup(group, PROVISION_PROJECTS);
@Test
public void remove_project_permission_from_group() {
- GroupIdOrAnyone groupId = new GroupIdOrAnyone(group);
+ GroupIdOrAnyone groupId = GroupIdOrAnyone.from(group);
db.users().insertPermissionOnGroup(group, ADMINISTER_QUALITY_GATES);
db.users().insertProjectPermissionOnGroup(group, UserRole.ISSUE_ADMIN, project);
db.users().insertProjectPermissionOnGroup(group, UserRole.CODEVIEWER, project);
@Test
public void do_not_fail_if_removing_a_permission_that_does_not_exist() {
- GroupIdOrAnyone groupId = new GroupIdOrAnyone(group);
+ GroupIdOrAnyone groupId = GroupIdOrAnyone.from(group);
apply(new GroupPermissionChange(PermissionChange.Operation.REMOVE, UserRole.ISSUE_ADMIN, new ProjectId(project), groupId));
@Test
public void fail_to_remove_admin_permission_if_no_more_admins() {
- GroupIdOrAnyone groupId = new GroupIdOrAnyone(group);
+ GroupIdOrAnyone groupId = GroupIdOrAnyone.from(group);
db.users().insertPermissionOnGroup(group, ADMINISTER);
expectedException.expect(BadRequestException.class);
@Test
public void remove_admin_group_if_still_other_admins() {
- GroupIdOrAnyone groupId = new GroupIdOrAnyone(group);
+ GroupIdOrAnyone groupId = GroupIdOrAnyone.from(group);
db.users().insertPermissionOnGroup(group, ADMINISTER);
UserDto admin = db.users().insertUser();
db.users().insertPermissionOnUser(org, admin, ADMINISTER);