@Test public void select_groups_for_global_permission() { db.prepareDbUnit(getClass(), "groups_with_permissions.xml"); OldPermissionQuery query = OldPermissionQuery.builder().permission("admin").build(); List<GroupWithPermissionDto> result = underTest.selectGroups(dbSession, query, null); assertThat(result).hasSize(3); GroupWithPermissionDto group1 = result.get(0); assertThat(group1.getName()).isEqualTo("sonar-administrators"); assertThat(group1.getPermission()).isNotNull(); GroupWithPermissionDto group2 = result.get(1); assertThat(group2.getName()).isEqualTo("sonar-reviewers"); assertThat(group2.getPermission()).isNull(); GroupWithPermissionDto group3 = result.get(2); assertThat(group3.getName()).isEqualTo("sonar-users"); assertThat(group3.getPermission()).isNull(); }
@Test public void anyone_group_is_not_returned_when_it_has_no_permission() { db.prepareDbUnit(getClass(), "groups_with_permissions.xml"); // Anyone group has not the permission 'admin', so it's not returned OldPermissionQuery query = OldPermissionQuery.builder().permission("admin").build(); List<GroupWithPermissionDto> result = underTest.selectGroups(dbSession, query, COMPONENT_ID); assertThat(result).hasSize(3); GroupWithPermissionDto group1 = result.get(0); assertThat(group1.getName()).isEqualTo("sonar-administrators"); assertThat(group1.getPermission()).isNotNull(); GroupWithPermissionDto group2 = result.get(1); assertThat(group2.getName()).isEqualTo("sonar-reviewers"); assertThat(group2.getPermission()).isNull(); GroupWithPermissionDto group3 = result.get(2); assertThat(group3.getName()).isEqualTo("sonar-users"); assertThat(group3.getPermission()).isNull(); }
@Test public void select_groups_for_project_permission() { db.prepareDbUnit(getClass(), "groups_with_permissions.xml"); OldPermissionQuery query = OldPermissionQuery.builder().permission("user").build(); List<GroupWithPermissionDto> result = underTest.selectGroups(dbSession, query, COMPONENT_ID); assertThat(result).hasSize(4); GroupWithPermissionDto anyone = result.get(0); assertThat(anyone.getName()).isEqualTo("Anyone"); assertThat(anyone.getDescription()).isNull(); assertThat(anyone.getPermission()).isNotNull(); GroupWithPermissionDto group1 = result.get(1); assertThat(group1.getName()).isEqualTo("sonar-administrators"); assertThat(group1.getDescription()).isEqualTo("System administrators"); assertThat(group1.getPermission()).isNotNull(); GroupWithPermissionDto group2 = result.get(2); assertThat(group2.getName()).isEqualTo("sonar-reviewers"); assertThat(group2.getDescription()).isEqualTo("Reviewers"); assertThat(group2.getPermission()).isNull(); GroupWithPermissionDto group3 = result.get(3); assertThat(group3.getName()).isEqualTo("sonar-users"); assertThat(group3.getDescription()) .isEqualTo("Any new users created will automatically join this group"); assertThat(group3.getPermission()).isNotNull(); }