private Set<String> loadDbPermissions(DbSession dbSession, String projectUuid) { if (userDto != null && userDto.getId() != null) { return dbClient.authorizationDao().selectProjectPermissions(dbSession, projectUuid, userDto.getId()); } return dbClient.authorizationDao().selectProjectPermissionsOfAnonymous(dbSession, projectUuid); }
@Test public void selectProjectPermissions_returns_empty_set_when_logged_in_user_and_project_does_not_exist() { assertThat(underTest.selectProjectPermissions(dbSession, "does_not_exist", user.getId())).isEmpty(); }
private Set<String> loadDbPermissions(DbSession dbSession, String projectUuid) { if (userDto != null && userDto.getId() != null) { return dbClient.authorizationDao().selectProjectPermissions(dbSession, projectUuid, userDto.getId()); } return dbClient.authorizationDao().selectProjectPermissionsOfAnonymous(dbSession, projectUuid); }
@Test public void selectProjectPermissions_returns_permissions_of_logged_in_user_on_specified_public_project_through_anonymous_permissions() { ComponentDto project = db.components().insertPublicProject(organization); db.users().insertProjectPermissionOnAnyone("p1", project); db.users().insertProjectPermissionOnAnyone("p2", project); assertThat(underTest.selectProjectPermissions(dbSession, project.uuid(), user.getId())).containsOnly("p1", "p2"); }
@Test public void selectProjectPermissions_returns_permissions_of_logged_in_user_on_specified_project() { ComponentDto project = db.components().insertPrivateProject(organization); db.users().insertProjectPermissionOnUser(user, UserRole.CODEVIEWER, project); db.users().insertProjectPermissionOnUser(db.users().insertUser(), UserRole.ISSUE_ADMIN, project); assertThat(underTest.selectProjectPermissions(dbSession, project.uuid(), user.getId())).containsOnly(UserRole.CODEVIEWER); }
@Test public void selectProjectPermissions_returns_permissions_of_logged_in_user_on_specified_project_through_group_membership() { ComponentDto project = db.components().insertPrivateProject(organization); db.users().insertProjectPermissionOnGroup(group1, UserRole.CODEVIEWER, project); db.users().insertProjectPermissionOnGroup(group2, UserRole.ISSUE_ADMIN, project); db.users().insertMember(group1, user); assertThat(underTest.selectProjectPermissions(dbSession, project.uuid(), user.getId())).containsOnly(UserRole.CODEVIEWER); }
@Test public void selectProjectPermissions_returns_permissions_of_logged_in_user_on_specified_private_project_through_all_possible_configurations() { ComponentDto project = db.components().insertPrivateProject(organization); db.users().insertProjectPermissionOnUser(user, UserRole.CODEVIEWER, project); db.users().insertProjectPermissionOnGroup(group1, UserRole.USER, project); db.users().insertMember(group1, user); assertThat(underTest.selectProjectPermissions(dbSession, project.uuid(), user.getId())).containsOnly(UserRole.CODEVIEWER, UserRole.USER); }
@Test public void selectProjectPermissions_returns_permissions_of_logged_in_user_on_specified_public_project_through_all_possible_configurations() { ComponentDto project = db.components().insertPublicProject(organization); db.users().insertProjectPermissionOnUser(user, "p1", project); db.users().insertProjectPermissionOnAnyone("p2", project); db.users().insertProjectPermissionOnGroup(group1, "p3", project); db.users().insertMember(group1, user); assertThat(underTest.selectProjectPermissions(dbSession, project.uuid(), user.getId())).containsOnly("p1", "p2", "p3"); }