From: Teryk Bellahsene Date: Thu, 23 Mar 2017 15:58:43 +0000 (+0100) Subject: SONAR-8999 Return only organization members when changing group membership X-Git-Tag: 6.4-RC1~539 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=0e4739352b741c68c215886735ee3cc64b024e9d;p=sonarqube.git SONAR-8999 Return only organization members when changing group membership --- diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/user/GroupMembershipDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/user/GroupMembershipDao.java index e3077809c0f..b52bd89125d 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/user/GroupMembershipDao.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/user/GroupMembershipDao.java @@ -46,12 +46,12 @@ public class GroupMembershipDao implements Dao { } public List selectMembers(DbSession session, UserMembershipQuery query, int offset, int limit) { - Map params = ImmutableMap.of("query", query, "groupId", query.groupId()); + Map params = ImmutableMap.of("query", query, "groupId", query.groupId(), "organizationUuid", query.organizationUuid()); return mapper(session).selectMembers(params, new RowBounds(offset, limit)); } public int countMembers(DbSession session, UserMembershipQuery query) { - Map params = ImmutableMap.of("query", query, "groupId", query.groupId()); + Map params = ImmutableMap.of("query", query, "groupId", query.groupId(), "organizationUuid", query.organizationUuid()); return mapper(session).countMembers(params); } diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserMembershipQuery.java b/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserMembershipQuery.java index 67958591a48..2c6ed3195eb 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserMembershipQuery.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserMembershipQuery.java @@ -28,7 +28,7 @@ import org.apache.commons.lang.StringUtils; import static com.google.common.base.MoreObjects.firstNonNull; import static com.google.common.base.Preconditions.checkArgument; -import static com.google.common.base.Preconditions.checkNotNull; +import static java.util.Objects.requireNonNull; import static org.sonar.db.DaoDatabaseUtils.buildLikeValue; import static org.sonar.db.WildcardPosition.BEFORE_AND_AFTER; @@ -43,6 +43,7 @@ public class UserMembershipQuery { public static final Set AVAILABLE_MEMBERSHIPS = ImmutableSet.of(ANY, IN, OUT); private final int groupId; + private final String organizationUuid; private final String membership; private final String memberSearch; @@ -59,6 +60,7 @@ public class UserMembershipQuery { private UserMembershipQuery(Builder builder) { this.groupId = builder.groupId; + this.organizationUuid = builder.organizationUuid; this.membership = builder.membership; this.memberSearch = builder.memberSearch; this.memberSearchSql = memberSearch == null ? null : buildLikeValue(memberSearch, BEFORE_AND_AFTER); @@ -71,6 +73,10 @@ public class UserMembershipQuery { return groupId; } + public String organizationUuid() { + return organizationUuid; + } + @CheckForNull public String membership() { return membership; @@ -98,6 +104,7 @@ public class UserMembershipQuery { public static class Builder { private Integer groupId; + private String organizationUuid; private String membership; private String memberSearch; @@ -112,6 +119,11 @@ public class UserMembershipQuery { return this; } + public Builder organizationUuid(String organizationUuid) { + this.organizationUuid = organizationUuid; + return this; + } + public Builder membership(@Nullable String membership) { this.membership = membership; return this; @@ -148,7 +160,8 @@ public class UserMembershipQuery { } public UserMembershipQuery build() { - checkNotNull(groupId, "Group ID cant be null."); + requireNonNull(groupId, "Group ID cant be null."); + requireNonNull(organizationUuid, "Organization UUID cannot be null"); initMembership(); initPageIndex(); initPageSize(); diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/user/GroupMembershipMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/user/GroupMembershipMapper.xml index a24001488b7..5297c4959d9 100644 --- a/server/sonar-db-dao/src/main/resources/org/sonar/db/user/GroupMembershipMapper.xml +++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/user/GroupMembershipMapper.xml @@ -78,6 +78,7 @@ FROM users u LEFT JOIN groups_users gu ON gu.user_id=u.id AND gu.group_id=#{groupId} + INNER JOIN organization_members om ON u.id=om.user_id AND om.organization_uuid=#{organizationUuid} diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/user/GroupMembershipDaoTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/user/GroupMembershipDaoTest.java index 4585ef0a145..b9e77741259 100644 --- a/server/sonar-db-dao/src/test/java/org/sonar/db/user/GroupMembershipDaoTest.java +++ b/server/sonar-db-dao/src/test/java/org/sonar/db/user/GroupMembershipDaoTest.java @@ -61,6 +61,8 @@ public class GroupMembershipDaoTest { group1 = db.users().insertGroup(organizationDto, "sonar-administrators"); group2 = db.users().insertGroup(organizationDto, "sonar-users"); group3 = db.users().insertGroup(organizationDto, "sonar-reviewers"); + db.organizations().addMember(organizationDto, user1); + db.organizations().addMember(organizationDto, user2); } @Test @@ -162,17 +164,17 @@ public class GroupMembershipDaoTest { db.users().insertMember(group2, user2); // 100 has 1 member and 1 non member - assertThat(underTest.countMembers(db.getSession(), UserMembershipQuery.builder().groupId(group1.getId()).membership(UserMembershipQuery.IN).build())).isEqualTo(1); - assertThat(underTest.countMembers(db.getSession(), UserMembershipQuery.builder().groupId(group1.getId()).membership(UserMembershipQuery.OUT).build())).isEqualTo(1); + assertThat(underTest.countMembers(db.getSession(), newQuery().groupId(group1.getId()).membership(UserMembershipQuery.IN).build())).isEqualTo(1); + assertThat(underTest.countMembers(db.getSession(), newQuery().groupId(group1.getId()).membership(UserMembershipQuery.OUT).build())).isEqualTo(1); // 101 has 2 members - assertThat(underTest.countMembers(db.getSession(), UserMembershipQuery.builder().groupId(group2.getId()).membership(UserMembershipQuery.IN).build())).isEqualTo(2); - assertThat(underTest.countMembers(db.getSession(), UserMembershipQuery.builder().groupId(group2.getId()).membership(UserMembershipQuery.OUT).build())).isZero(); + assertThat(underTest.countMembers(db.getSession(), newQuery().groupId(group2.getId()).membership(UserMembershipQuery.IN).build())).isEqualTo(2); + assertThat(underTest.countMembers(db.getSession(), newQuery().groupId(group2.getId()).membership(UserMembershipQuery.OUT).build())).isZero(); // 102 has 1 member and 1 non member - assertThat(underTest.countMembers(db.getSession(), UserMembershipQuery.builder().groupId(group3.getId()).membership(UserMembershipQuery.IN).build())).isEqualTo(1); - assertThat(underTest.countMembers(db.getSession(), UserMembershipQuery.builder().groupId(group3.getId()).membership(UserMembershipQuery.OUT).build())).isEqualTo(1); + assertThat(underTest.countMembers(db.getSession(), newQuery().groupId(group3.getId()).membership(UserMembershipQuery.IN).build())).isEqualTo(1); + assertThat(underTest.countMembers(db.getSession(), newQuery().groupId(group3.getId()).membership(UserMembershipQuery.OUT).build())).isEqualTo(1); // 103 has no member - assertThat(underTest.countMembers(db.getSession(), UserMembershipQuery.builder().groupId(emptyGroup.getId()).membership(UserMembershipQuery.IN).build())).isZero(); - assertThat(underTest.countMembers(db.getSession(), UserMembershipQuery.builder().groupId(emptyGroup.getId()).membership(UserMembershipQuery.OUT).build())).isEqualTo(2); + assertThat(underTest.countMembers(db.getSession(), newQuery().groupId(emptyGroup.getId()).membership(UserMembershipQuery.IN).build())).isZero(); + assertThat(underTest.countMembers(db.getSession(), newQuery().groupId(emptyGroup.getId()).membership(UserMembershipQuery.OUT).build())).isEqualTo(2); } @Test @@ -184,13 +186,13 @@ public class GroupMembershipDaoTest { db.users().insertMember(group2, user2); // 100 has 1 member - assertThat(underTest.selectMembers(db.getSession(), UserMembershipQuery.builder().groupId(group1.getId()).membership(UserMembershipQuery.IN).build(), 0, 10)).hasSize(1); + assertThat(underTest.selectMembers(db.getSession(), newQuery().groupId(group1.getId()).membership(UserMembershipQuery.IN).build(), 0, 10)).hasSize(1); // 101 has 2 members - assertThat(underTest.selectMembers(db.getSession(), UserMembershipQuery.builder().groupId(group2.getId()).membership(UserMembershipQuery.IN).build(), 0, 10)).hasSize(2); + assertThat(underTest.selectMembers(db.getSession(), newQuery().groupId(group2.getId()).membership(UserMembershipQuery.IN).build(), 0, 10)).hasSize(2); // 102 has 1 member - assertThat(underTest.selectMembers(db.getSession(), UserMembershipQuery.builder().groupId(group3.getId()).membership(UserMembershipQuery.IN).build(), 0, 10)).hasSize(1); + assertThat(underTest.selectMembers(db.getSession(), newQuery().groupId(group3.getId()).membership(UserMembershipQuery.IN).build(), 0, 10)).hasSize(1); // 103 has no member - assertThat(underTest.selectMembers(db.getSession(), UserMembershipQuery.builder().groupId(emptyGroup.getId()).membership(UserMembershipQuery.IN).build(), 0, 10)).isEmpty(); + assertThat(underTest.selectMembers(db.getSession(), newQuery().groupId(emptyGroup.getId()).membership(UserMembershipQuery.IN).build(), 0, 10)).isEmpty(); } @Test @@ -202,13 +204,13 @@ public class GroupMembershipDaoTest { db.users().insertMember(group2, user2); // 100 has 1 member - assertThat(underTest.selectMembers(db.getSession(), UserMembershipQuery.builder().groupId(group1.getId()).membership(UserMembershipQuery.OUT).build(), 0, 10)).hasSize(1); + assertThat(underTest.selectMembers(db.getSession(), newQuery().groupId(group1.getId()).membership(UserMembershipQuery.OUT).build(), 0, 10)).hasSize(1); // 101 has 2 members - assertThat(underTest.selectMembers(db.getSession(), UserMembershipQuery.builder().groupId(group2.getId()).membership(UserMembershipQuery.OUT).build(), 0, 10)).isEmpty(); + assertThat(underTest.selectMembers(db.getSession(), newQuery().groupId(group2.getId()).membership(UserMembershipQuery.OUT).build(), 0, 10)).isEmpty(); // 102 has 1 member - assertThat(underTest.selectMembers(db.getSession(), UserMembershipQuery.builder().groupId(group3.getId()).membership(UserMembershipQuery.OUT).build(), 0, 10)).hasSize(1); + assertThat(underTest.selectMembers(db.getSession(), newQuery().groupId(group3.getId()).membership(UserMembershipQuery.OUT).build(), 0, 10)).hasSize(1); // 103 has no member - assertThat(underTest.selectMembers(db.getSession(), UserMembershipQuery.builder().groupId(emptyGroup.getId()).membership(UserMembershipQuery.OUT).build(), 0, 10)).hasSize(2); + assertThat(underTest.selectMembers(db.getSession(), newQuery().groupId(emptyGroup.getId()).membership(UserMembershipQuery.OUT).build(), 0, 10)).hasSize(2); } @Test @@ -218,13 +220,13 @@ public class GroupMembershipDaoTest { db.users().insertMember(group3, user1); db.users().insertMember(group2, user2); - List result = underTest.selectMembers(db.getSession(), UserMembershipQuery.builder().groupId(group1.getId()).memberSearch("admin").build(), 0, 10); + List result = underTest.selectMembers(db.getSession(), newQuery().groupId(group1.getId()).memberSearch("admin").build(), 0, 10); assertThat(result).hasSize(2); assertThat(result.get(0).getName()).isEqualTo("Admin name"); assertThat(result.get(1).getName()).isEqualTo("Not Admin"); - result = underTest.selectMembers(db.getSession(), UserMembershipQuery.builder().groupId(group1.getId()).memberSearch("not").build(), 0, 10); + result = underTest.selectMembers(db.getSession(), newQuery().groupId(group1.getId()).memberSearch("not").build(), 0, 10); assertThat(result).hasSize(1); } @@ -236,13 +238,13 @@ public class GroupMembershipDaoTest { db.users().insertMember(group2, user2); // search is case insensitive only on name - List result = underTest.selectMembers(db.getSession(), UserMembershipQuery.builder().groupId(group1.getId()).memberSearch("NaMe").build(), 0, 10); + List result = underTest.selectMembers(db.getSession(), newQuery().groupId(group1.getId()).memberSearch("NaMe").build(), 0, 10); assertThat(result).hasSize(1); - result = underTest.selectMembers(db.getSession(), UserMembershipQuery.builder().groupId(group1.getId()).memberSearch("login").build(), 0, 10); + result = underTest.selectMembers(db.getSession(), newQuery().groupId(group1.getId()).memberSearch("login").build(), 0, 10); assertThat(result).hasSize(1); - result = underTest.selectMembers(db.getSession(), UserMembershipQuery.builder().groupId(group1.getId()).memberSearch("email").build(), 0, 10); + result = underTest.selectMembers(db.getSession(), newQuery().groupId(group1.getId()).memberSearch("email").build(), 0, 10); assertThat(result).hasSize(1); } @@ -253,7 +255,7 @@ public class GroupMembershipDaoTest { db.users().insertMember(group3, user1); db.users().insertMember(group2, user2); - List result = underTest.selectMembers(db.getSession(), UserMembershipQuery.builder().groupId(group1.getId()).build(), 0, 10); + List result = underTest.selectMembers(db.getSession(), newQuery().groupId(group1.getId()).build(), 0, 10); assertThat(result).hasSize(2); assertThat(result.get(0).getName()).isEqualTo("Admin name"); assertThat(result.get(1).getName()).isEqualTo("Not Admin"); @@ -266,16 +268,20 @@ public class GroupMembershipDaoTest { db.users().insertMember(group3, user1); db.users().insertMember(group2, user2); - List result = underTest.selectMembers(db.getSession(), UserMembershipQuery.builder().groupId(group1.getId()).build(), 0, 2); + List result = underTest.selectMembers(db.getSession(), newQuery().groupId(group1.getId()).build(), 0, 2); assertThat(result).hasSize(2); assertThat(result.get(0).getName()).isEqualTo("Admin name"); assertThat(result.get(1).getName()).isEqualTo("Not Admin"); - result = underTest.selectMembers(db.getSession(), UserMembershipQuery.builder().groupId(100).build(), 1, 2); + result = underTest.selectMembers(db.getSession(), newQuery().groupId(100).build(), 1, 2); assertThat(result).hasSize(1); assertThat(result.get(0).getName()).isEqualTo("Not Admin"); - result = underTest.selectMembers(db.getSession(), UserMembershipQuery.builder().groupId(100).build(), 2, 1); + result = underTest.selectMembers(db.getSession(), newQuery().groupId(100).build(), 2, 1); assertThat(result).isEmpty(); } + + private UserMembershipQuery.Builder newQuery() { + return UserMembershipQuery.builder().organizationUuid(organizationDto.getUuid()); + } } diff --git a/server/sonar-server/src/main/java/org/sonar/server/usergroups/ws/UpdateAction.java b/server/sonar-server/src/main/java/org/sonar/server/usergroups/ws/UpdateAction.java index 222a94ddbae..160ccc6b7c8 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/usergroups/ws/UpdateAction.java +++ b/server/sonar-server/src/main/java/org/sonar/server/usergroups/ws/UpdateAction.java @@ -142,6 +142,7 @@ public class UpdateAction implements UserGroupsWsAction { private void writeResponse(DbSession dbSession, Request request, Response response, OrganizationDto organization, GroupDto group) { UserMembershipQuery query = UserMembershipQuery.builder() .groupId(group.getId()) + .organizationUuid(organization.getUuid()) .membership(UserMembershipQuery.IN) .build(); int membersCount = dbClient.groupMembershipDao().countMembers(dbSession, query); diff --git a/server/sonar-server/src/main/java/org/sonar/server/usergroups/ws/UsersAction.java b/server/sonar-server/src/main/java/org/sonar/server/usergroups/ws/UsersAction.java index dfc82c3d7e8..c7dc2ffba74 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/usergroups/ws/UsersAction.java +++ b/server/sonar-server/src/main/java/org/sonar/server/usergroups/ws/UsersAction.java @@ -82,6 +82,7 @@ public class UsersAction implements UserGroupsWsAction { UserMembershipQuery query = UserMembershipQuery.builder() .groupId(group.getId()) + .organizationUuid(group.getOrganizationUuid()) .memberSearch(queryString) .membership(getMembership(selected)) .pageIndex(page) diff --git a/server/sonar-server/src/test/java/org/sonar/server/organization/OrganizationCreationImplTest.java b/server/sonar-server/src/test/java/org/sonar/server/organization/OrganizationCreationImplTest.java index 5fde346f9e3..5b865fb2207 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/organization/OrganizationCreationImplTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/organization/OrganizationCreationImplTest.java @@ -413,7 +413,10 @@ public class OrganizationCreationImplTest { .containsOnly(GlobalPermissions.ALL.toArray(new String[GlobalPermissions.ALL.size()])); List members = dbClient.groupMembershipDao().selectMembers( dbSession, - UserMembershipQuery.builder().groupId(groupDto.getId()).membership(UserMembershipQuery.IN).build(), 0, Integer.MAX_VALUE); + UserMembershipQuery.builder() + .organizationUuid(organization.getUuid()) + .groupId(groupDto.getId()) + .membership(UserMembershipQuery.IN).build(), 0, Integer.MAX_VALUE); assertThat(members) .extracting(UserMembershipDto::getLogin) .containsOnly(user.getLogin()); diff --git a/server/sonar-server/src/test/java/org/sonar/server/organization/ws/CreateActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/organization/ws/CreateActionTest.java index 7edbf8d5d88..d7690f017fa 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/organization/ws/CreateActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/organization/ws/CreateActionTest.java @@ -485,7 +485,10 @@ public class CreateActionTest { .containsOnly(GlobalPermissions.ALL.toArray(new String[GlobalPermissions.ALL.size()])); List members = dbClient.groupMembershipDao().selectMembers( dbSession, - UserMembershipQuery.builder().groupId(groupDto.getId()).membership(UserMembershipQuery.IN).build(), 0, Integer.MAX_VALUE); + UserMembershipQuery.builder() + .organizationUuid(organization.getUuid()) + .groupId(groupDto.getId()) + .membership(UserMembershipQuery.IN).build(), 0, Integer.MAX_VALUE); assertThat(members) .extracting(UserMembershipDto::getLogin) .containsOnly(user.getLogin()); diff --git a/server/sonar-server/src/test/java/org/sonar/server/usergroups/ws/UpdateActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/usergroups/ws/UpdateActionTest.java index a1b1eca0b81..67eee518f6a 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/usergroups/ws/UpdateActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/usergroups/ws/UpdateActionTest.java @@ -75,6 +75,7 @@ public class UpdateActionTest { GroupDto group = db.users().insertGroup(); UserDto user = db.users().insertUser(); db.users().insertMember(group, user); + db.organizations().addMember(db.getDefaultOrganization(), user); loginAsAdminOnDefaultOrganization(); newRequest() diff --git a/server/sonar-server/src/test/java/org/sonar/server/usergroups/ws/UsersActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/usergroups/ws/UsersActionTest.java index 0e3e1df78d5..5f3e04210b6 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/usergroups/ws/UsersActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/usergroups/ws/UsersActionTest.java @@ -116,9 +116,11 @@ public class UsersActionTest { @Test public void return_members_by_group_id() throws Exception { GroupDto group = db.users().insertGroup(); - UserDto user1 = db.users().insertUser(newUserDto().setLogin("ada.login").setName("Ada Lovelace")); - db.users().insertMember(group, user1); - db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper")); + UserDto lovelace = db.users().insertUser(newUserDto().setLogin("ada.login").setName("Ada Lovelace")); + UserDto hopper = db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper")); + db.users().insertMember(group, lovelace); + db.organizations().addMember(db.getDefaultOrganization(), lovelace); + db.organizations().addMember(db.getDefaultOrganization(), hopper); loginAsAdminOnDefaultOrganization(); newUsersRequest() @@ -132,9 +134,11 @@ public class UsersActionTest { public void references_group_by_its_name() throws Exception { OrganizationDto org = db.organizations().insert(); GroupDto group = db.users().insertGroup(org, "the-group"); - UserDto user1 = db.users().insertUser(newUserDto().setLogin("ada.login").setName("Ada Lovelace")); - db.users().insertMember(group, user1); - db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper")); + UserDto lovelace = db.users().insertUser(newUserDto().setLogin("ada.login").setName("Ada Lovelace")); + UserDto hopper = db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper")); + db.users().insertMember(group, lovelace); + db.organizations().addMember(org, lovelace); + db.organizations().addMember(org, hopper); loginAsAdmin(org); newUsersRequest() @@ -148,9 +152,11 @@ public class UsersActionTest { @Test public void references_group_in_default_organization_by_its_name() throws Exception { GroupDto group = db.users().insertGroup(); - UserDto user1 = db.users().insertUser(newUserDto().setLogin("ada.login").setName("Ada Lovelace")); - db.users().insertMember(group, user1); - db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper")); + UserDto lovelace = db.users().insertUser(newUserDto().setLogin("ada.login").setName("Ada Lovelace")); + UserDto hopper = db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper")); + db.users().insertMember(group, lovelace); + db.organizations().addMember(db.getDefaultOrganization(), lovelace); + db.organizations().addMember(db.getDefaultOrganization(), hopper); loginAsAdminOnDefaultOrganization(); newUsersRequest() @@ -167,6 +173,8 @@ public class UsersActionTest { UserDto graceHopper = db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper")); db.users().insertMember(group, adaLovelace); db.users().insertMember(group, graceHopper); + db.organizations().addMember(db.getDefaultOrganization(), adaLovelace); + db.organizations().addMember(db.getDefaultOrganization(), graceHopper); loginAsAdminOnDefaultOrganization(); String response = newUsersRequest().setParam(PARAM_GROUP_ID, group.getId().toString()).execute().outputAsString(); @@ -177,9 +185,11 @@ public class UsersActionTest { @Test public void selected_users() throws Exception { GroupDto group = db.users().insertGroup(db.getDefaultOrganization(), "a group"); - UserDto user1 = db.users().insertUser(newUserDto().setLogin("ada").setName("Ada Lovelace")); - db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper")); - db.users().insertMember(group, user1); + UserDto lovelace = db.users().insertUser(newUserDto().setLogin("ada").setName("Ada Lovelace")); + UserDto hopper = db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper")); + db.users().insertMember(group, lovelace); + db.organizations().addMember(db.getDefaultOrganization(), lovelace); + db.organizations().addMember(db.getDefaultOrganization(), hopper); loginAsAdminOnDefaultOrganization(); newUsersRequest() @@ -197,9 +207,11 @@ public class UsersActionTest { @Test public void deselected_users() throws Exception { GroupDto group = db.users().insertGroup(); - UserDto user1 = db.users().insertUser(newUserDto().setLogin("ada").setName("Ada Lovelace")); - db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper")); - db.users().insertMember(group, user1); + UserDto lovelace = db.users().insertUser(newUserDto().setLogin("ada").setName("Ada Lovelace")); + UserDto hopper = db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper")); + db.users().insertMember(group, lovelace); + db.organizations().addMember(db.getDefaultOrganization(), lovelace); + db.organizations().addMember(db.getDefaultOrganization(), hopper); loginAsAdminOnDefaultOrganization(); newUsersRequest() @@ -212,9 +224,11 @@ public class UsersActionTest { @Test public void paging() throws Exception { GroupDto group = db.users().insertGroup(); - UserDto user1 = db.users().insertUser(newUserDto().setLogin("ada").setName("Ada Lovelace")); - db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper")); - db.users().insertMember(group, user1); + UserDto lovelace = db.users().insertUser(newUserDto().setLogin("ada").setName("Ada Lovelace")); + UserDto hopper = db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper")); + db.users().insertMember(group, lovelace); + db.organizations().addMember(db.getDefaultOrganization(), lovelace); + db.organizations().addMember(db.getDefaultOrganization(), hopper); loginAsAdminOnDefaultOrganization(); newUsersRequest() @@ -236,9 +250,11 @@ public class UsersActionTest { @Test public void filtering_by_name_email_and_login() throws Exception { GroupDto group = db.users().insertGroup(); - UserDto user1 = db.users().insertUser(newUserDto().setLogin("ada.login").setName("Ada Lovelace").setEmail("ada@email.com")); - db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper").setEmail("grace@hopper.com")); - db.users().insertMember(group, user1); + UserDto lovelace = db.users().insertUser(newUserDto().setLogin("ada.login").setName("Ada Lovelace").setEmail("ada@email.com")); + UserDto hopper = db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper").setEmail("grace@hopper.com")); + db.users().insertMember(group, lovelace); + db.organizations().addMember(db.getDefaultOrganization(), lovelace); + db.organizations().addMember(db.getDefaultOrganization(), hopper); loginAsAdminOnDefaultOrganization(); newUsersRequest()