@Test public void apply_has_no_effect_when_adding_CODEVIEWER_permission_to_group_AnyOne_on_a_public_project() { GroupIdOrAnyone groupId = GroupIdOrAnyone.forAnyone(org.getUuid()); apply(new GroupPermissionChange(PermissionChange.Operation.ADD, UserRole.CODEVIEWER, new ProjectId(publicProject), groupId, permissionService)); assertThat(db.users().selectAnyonePermissions(org, publicProject)).isEmpty(); }
@Test public void apply_has_no_effect_when_adding_USER_permission_to_group_AnyOne_on_a_public_project() { GroupIdOrAnyone groupId = GroupIdOrAnyone.forAnyone(org.getUuid()); apply(new GroupPermissionChange(PermissionChange.Operation.ADD, UserRole.USER, new ProjectId(publicProject), groupId, permissionService)); assertThat(db.users().selectAnyonePermissions(org, publicProject)).isEmpty(); }
private void applyRemovesPermissionFromGroupAnyOneOnAPublicProject(String permission) { GroupIdOrAnyone groupId = GroupIdOrAnyone.forAnyone(org.getUuid()); db.users().insertProjectPermissionOnAnyone(permission, publicProject); apply(new GroupPermissionChange(PermissionChange.Operation.REMOVE, permission, new ProjectId(publicProject), groupId, permissionService)); assertThat(db.users().selectAnyonePermissions(org, publicProject)).isEmpty(); }
@Test public void add_permission_to_anyone() { OrganizationDto defaultOrganization = db.getDefaultOrganization(); GroupIdOrAnyone groupId = GroupIdOrAnyone.forAnyone(defaultOrganization.getUuid()); apply(new GroupPermissionChange(PermissionChange.Operation.ADD, GlobalPermissions.QUALITY_GATE_ADMIN, null, groupId, permissionService)); assertThat(db.users().selectGroupPermissions(group, null)).isEmpty(); assertThat(db.users().selectAnyonePermissions(defaultOrganization, null)).containsOnly(GlobalPermissions.QUALITY_GATE_ADMIN); }
@Test public void apply_adds_organization_permission_to_group_AnyOne() { GroupIdOrAnyone groupId = GroupIdOrAnyone.forAnyone(org.getUuid()); apply(new GroupPermissionChange(PermissionChange.Operation.ADD, GlobalPermissions.QUALITY_GATE_ADMIN, null, groupId, permissionService)); assertThat(db.users().selectAnyonePermissions(org, null)).containsOnly(GlobalPermissions.QUALITY_GATE_ADMIN); }
@Test public void apply_has_no_effect_when_removing_any_permission_to_group_AnyOne_on_private_project() { permissionService.getAllProjectPermissions() .forEach(this::unsafeInsertProjectPermissionOnAnyone); GroupIdOrAnyone anyOneGroupId = GroupIdOrAnyone.forAnyone(org.getUuid()); permissionService.getAllProjectPermissions() .forEach(perm -> { apply(new GroupPermissionChange(PermissionChange.Operation.REMOVE, perm, new ProjectId(privateProject), anyOneGroupId, permissionService)); assertThat(db.users().selectAnyonePermissions(org, privateProject)).contains(perm); }); }
@Test public void apply_adds_permission_SCAN_EXECUTION_to_group_AnyOne_on_a_public_project() { GroupIdOrAnyone groupId = GroupIdOrAnyone.forAnyone(org.getUuid()); apply(new GroupPermissionChange(PermissionChange.Operation.ADD, GlobalPermissions.SCAN_EXECUTION, new ProjectId(publicProject), groupId, permissionService)); assertThat(db.users().selectAnyonePermissions(org, publicProject)).containsOnly(GlobalPermissions.SCAN_EXECUTION); }
@Test public void apply_adds_permission_ISSUE_ADMIN_to_group_AnyOne_on_a_public_project() { GroupIdOrAnyone groupId = GroupIdOrAnyone.forAnyone(org.getUuid()); apply(new GroupPermissionChange(PermissionChange.Operation.ADD, UserRole.ISSUE_ADMIN, new ProjectId(publicProject), groupId, permissionService)); assertThat(db.users().selectAnyonePermissions(org, publicProject)).containsOnly(UserRole.ISSUE_ADMIN); }
@Test public void no_effect_when_adding_USER_permission_to_group_AnyOne_on_a_public_project() { OrganizationDto organization = db.organizations().insert(); ComponentDto project = db.components().insertPublicProject(organization); userSession.logIn().addProjectPermission(UserRole.ADMIN, project); newRequest() .setParam(PARAM_GROUP_NAME, "anyone") .setParam(PARAM_PROJECT_ID, project.uuid()) .setParam(PARAM_PERMISSION, USER) .execute(); assertThat(db.users().selectAnyonePermissions(organization, project)).isEmpty(); }
@Test public void no_effect_when_adding_CODEVIEWER_permission_to_group_AnyOne_on_a_public_project() { OrganizationDto organization = db.organizations().insert(); ComponentDto project = db.components().insertPublicProject(organization); userSession.logIn().addProjectPermission(UserRole.ADMIN, project); newRequest() .setParam(PARAM_GROUP_NAME, "anyone") .setParam(PARAM_PROJECT_ID, project.uuid()) .setParam(PARAM_PERMISSION, CODEVIEWER) .execute(); assertThat(db.users().selectAnyonePermissions(organization, project)).isEmpty(); }
@Test public void no_effect_when_removing_any_permission_from_group_AnyOne_on_a_private_project() { ComponentDto project = db.components().insertPrivateProject(); permissionService.getAllProjectPermissions() .forEach(perm -> unsafeInsertProjectPermissionOnAnyone(perm, project)); userSession.logIn().addProjectPermission(UserRole.ADMIN, project); permissionService.getAllProjectPermissions() .forEach(permission -> { newRequest() .setParam(PARAM_GROUP_NAME, "anyone") .setParam(PARAM_PROJECT_ID, project.uuid()) .setParam(PARAM_PERMISSION, permission) .execute(); assertThat(db.users().selectAnyonePermissions(db.getDefaultOrganization(), project)).contains(permission); }); }
@Test public void no_effect_when_adding_USER_permission_on_a_public_project() { OrganizationDto organization = db.organizations().insert(); ComponentDto project = db.components().insertPublicProject(organization); addUserAsMemberOfOrganization(organization); userSession.logIn().addProjectPermission(UserRole.ADMIN, project); newRequest() .setParam(PARAM_USER_LOGIN, user.getLogin()) .setParam(PARAM_PROJECT_ID, project.uuid()) .setParam(PARAM_PERMISSION, USER) .execute(); assertThat(db.users().selectAnyonePermissions(organization, project)).isEmpty(); }
@Test public void no_effect_when_adding_CODEVIEWER_permission_on_a_public_project() { OrganizationDto organization = db.organizations().insert(); ComponentDto project = db.components().insertPublicProject(organization); addUserAsMemberOfOrganization(organization); userSession.logIn().addProjectPermission(UserRole.ADMIN, project); newRequest() .setParam(PARAM_USER_LOGIN, user.getLogin()) .setParam(PARAM_PROJECT_ID, project.uuid()) .setParam(PARAM_PERMISSION, CODEVIEWER) .execute(); assertThat(db.users().selectAnyonePermissions(organization, project)).isEmpty(); }
@Test public void no_effect_when_adding_USER_permission_to_group_on_a_public_project() { OrganizationDto organization = db.organizations().insert(); GroupDto group = db.users().insertGroup(organization); ComponentDto project = db.components().insertPublicProject(organization); userSession.logIn().addProjectPermission(UserRole.ADMIN, project); newRequest() .setParam(PARAM_ORGANIZATION, organization.getKey()) .setParam(PARAM_GROUP_NAME, group.getName()) .setParam(PARAM_PROJECT_ID, project.uuid()) .setParam(PARAM_PERMISSION, USER) .execute(); assertThat(db.users().selectAnyonePermissions(organization, project)).isEmpty(); }
@Test public void no_effect_when_adding_CODEVIEWER_permission_to_group_on_a_public_project() { OrganizationDto organization = db.organizations().insert(); GroupDto group = db.users().insertGroup(organization); ComponentDto project = db.components().insertPublicProject(organization); userSession.logIn().addProjectPermission(UserRole.ADMIN, project); newRequest() .setParam(PARAM_ORGANIZATION, organization.getKey()) .setParam(PARAM_GROUP_NAME, group.getName()) .setParam(PARAM_PROJECT_ID, project.uuid()) .setParam(PARAM_PERMISSION, CODEVIEWER) .execute(); assertThat(db.users().selectAnyonePermissions(organization, project)).isEmpty(); }