@Test public void search_in_organization() throws Exception { OrganizationDto org = db.organizations().insert(); PermissionTemplateDto templateInOrg = insertProjectTemplate(org); PermissionTemplateDto templateInDefaultOrg = insertProjectTemplateOnDefaultOrganization(); db.commit(); WsPermissions.SearchTemplatesWsResponse result = WsPermissions.SearchTemplatesWsResponse.parseFrom( newRequest() .setParam("organization", org.getKey()) .setMediaType(MediaTypes.PROTOBUF) .execute() .getInputStream()); assertThat(result.getPermissionTemplatesCount()).isEqualTo(1); assertThat(result.getPermissionTemplates(0).getId()).isEqualTo(templateInOrg.getUuid()); }
private void doHandle(BulkApplyTemplateWsRequest request) { try (DbSession dbSession = dbClient.openSession(false)) { PermissionTemplateDto template = wsSupport.findTemplate( dbSession, newTemplateRef( request.getTemplateId(), request.getOrganization(), request.getTemplateName())); ComponentQuery componentQuery = ComponentQuery.builder() .setNameOrKeyQuery(request.getQuery()) .setQualifiers(qualifiers(request.getQualifier())) .build(); List<ComponentDto> projects = dbClient.componentDao().selectByQuery(dbSession, componentQuery, 0, Integer.MAX_VALUE); for (ComponentDto project : projects) { ProjectId projectId = new ProjectId(project); checkProjectAdmin(userSession, template.getOrganizationUuid(), Optional.of(projectId)); } permissionTemplateService.apply(dbSession, template, projects); } }
@Test public void search_project_permissions() { PermissionTemplateDto projectTemplate = insertProjectTemplateOnDefaultOrganization(); PermissionTemplateDto viewsTemplate = insertViewsTemplate(); PermissionTemplateDto developerTemplate = insertDeveloperTemplate(); UserDto user1 = insertUser(newUserDto()); UserDto user2 = insertUser(newUserDto()); UserDto user3 = insertUser(newUserDto()); GroupDto group1 = insertGroup(newGroupDto()); GroupDto group2 = insertGroup(newGroupDto()); GroupDto group3 = insertGroup(newGroupDto()); addUserToTemplate(projectTemplate.getId(), user1.getId(), UserRole.ISSUE_ADMIN); addUserToTemplate(projectTemplate.getId(), user2.getId(), UserRole.ISSUE_ADMIN); addUserToTemplate(projectTemplate.getId(), user3.getId(), UserRole.ISSUE_ADMIN); addUserToTemplate(projectTemplate.getId(), user1.getId(), UserRole.CODEVIEWER); addGroupToTemplate(projectTemplate.getId(), group1.getId(), UserRole.ADMIN); addPermissionTemplateWithProjectCreator(projectTemplate.getId(), UserRole.ADMIN); addUserToTemplate(viewsTemplate.getId(), user1.getId(), UserRole.USER); addUserToTemplate(viewsTemplate.getId(), user2.getId(), UserRole.USER); addGroupToTemplate(viewsTemplate.getId(), group1.getId(), UserRole.ISSUE_ADMIN); addGroupToTemplate(viewsTemplate.getId(), group2.getId(), UserRole.ISSUE_ADMIN); addGroupToTemplate(viewsTemplate.getId(), group3.getId(), UserRole.ISSUE_ADMIN); addGroupToTemplate(developerTemplate.getId(), group1.getId(), UserRole.USER); db.commit(); String result = newRequest().execute().getInput(); assertJson(result) .withStrictArrayOrder() .isSimilarTo(getClass().getResource("search_templates-example.json")); }