@Override public Project apply(ComponentDto dto) { Project.Builder project = Project.newBuilder(); project .setId(dto.uuid()) .setKey(dto.getDbKey()) .setName(dto.name()); data.lastAnalysisDateFor(dto.uuid()).ifPresent(project::setLastAnalysisDate); data.qualityGateStatusFor(dto.uuid()).ifPresent(project::setQualityGate); ofNullable(emptyToNull(dto.description())).ifPresent(project::setDescription); data.projectLinksFor(dto.uuid()).stream() .map(ProjectLinkDtoToWs.INSTANCE) .forEach(project::addLinks); return project.build(); } }
@Override public Project apply(ComponentDto dto) { Project.Builder project = Project.newBuilder(); project .setId(dto.uuid()) .setKey(dto.getDbKey()) .setName(dto.name()); data.lastAnalysisDateFor(dto.uuid()).ifPresent(project::setLastAnalysisDate); data.qualityGateStatusFor(dto.uuid()).ifPresent(project::setQualityGate); setNullable(emptyToNull(dto.description()), project::setDescription); data.projectLinksFor(dto.uuid()).stream() .map(ProjectLinkDtoToWs.INSTANCE) .forEach(project::addLinks); return project.build(); } }
@Test public void admin_via_groups() { OrganizationDto org = db.organizations().insert(); ComponentDto jdk7 = insertJdk7(org); ComponentDto cLang = insertClang(org); GroupDto group = db.users().insertGroup(org); db.users().insertMember(group, user); db.users().insertProjectPermissionOnGroup(group, UserRole.ADMIN, jdk7); db.users().insertProjectPermissionOnGroup(group, UserRole.USER, cLang); SearchMyProjectsWsResponse result = callWs(); assertThat(result.getProjectsCount()).isEqualTo(1); assertThat(result.getProjects(0).getId()).isEqualTo(jdk7.uuid()); }
@Test public void does_not_return_views() { OrganizationDto organizationDto = db.organizations().insert(); ComponentDto jdk7 = insertJdk7(organizationDto); ComponentDto view = insertView(organizationDto); db.users().insertProjectPermissionOnUser(user, UserRole.ADMIN, jdk7); db.users().insertProjectPermissionOnUser(user, UserRole.ADMIN, view); SearchMyProjectsWsResponse result = callWs(); assertThat(result.getProjectsCount()).isEqualTo(1); assertThat(result.getProjects(0).getId()).isEqualTo(jdk7.uuid()); }
@Test public void return_only_current_user_projects() { OrganizationDto organizationDto = db.organizations().insert(); ComponentDto jdk7 = insertJdk7(organizationDto); ComponentDto cLang = insertClang(organizationDto); UserDto anotherUser = db.users().insertUser(newUserDto()); db.users().insertProjectPermissionOnUser(user, UserRole.ADMIN, jdk7); db.users().insertProjectPermissionOnUser(anotherUser, UserRole.ADMIN, cLang); SearchMyProjectsWsResponse result = callWs(); assertThat(result.getProjectsCount()).isEqualTo(1); assertThat(result.getProjects(0).getId()).isEqualTo(jdk7.uuid()); }
@Test public void return_only_projects_when_user_is_admin() { OrganizationDto organizationDto = db.organizations().insert(); ComponentDto jdk7 = insertJdk7(organizationDto); ComponentDto clang = insertClang(organizationDto); db.users().insertProjectPermissionOnUser(user, UserRole.ADMIN, jdk7); db.users().insertProjectPermissionOnUser(user, UserRole.ISSUE_ADMIN, clang); SearchMyProjectsWsResponse result = callWs(); assertThat(result.getProjectsCount()).isEqualTo(1); assertThat(result.getProjects(0).getId()).isEqualTo(jdk7.uuid()); }