]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-8999 Return only organization members when changing group membership
authorTeryk Bellahsene <teryk.bellahsene@sonarsource.com>
Thu, 23 Mar 2017 15:58:43 +0000 (16:58 +0100)
committerJulien Lancelot <julien.lancelot@sonarsource.com>
Mon, 27 Mar 2017 12:24:36 +0000 (14:24 +0200)
server/sonar-db-dao/src/main/java/org/sonar/db/user/GroupMembershipDao.java
server/sonar-db-dao/src/main/java/org/sonar/db/user/UserMembershipQuery.java
server/sonar-db-dao/src/main/resources/org/sonar/db/user/GroupMembershipMapper.xml
server/sonar-db-dao/src/test/java/org/sonar/db/user/GroupMembershipDaoTest.java
server/sonar-server/src/main/java/org/sonar/server/usergroups/ws/UpdateAction.java
server/sonar-server/src/main/java/org/sonar/server/usergroups/ws/UsersAction.java
server/sonar-server/src/test/java/org/sonar/server/organization/OrganizationCreationImplTest.java
server/sonar-server/src/test/java/org/sonar/server/organization/ws/CreateActionTest.java
server/sonar-server/src/test/java/org/sonar/server/usergroups/ws/UpdateActionTest.java
server/sonar-server/src/test/java/org/sonar/server/usergroups/ws/UsersActionTest.java

index e3077809c0fa302a863b211ad11125250105948c..b52bd89125dc8147378a96deb05929a96220942e 100644 (file)
@@ -46,12 +46,12 @@ public class GroupMembershipDao implements Dao {
   }
 
   public List<UserMembershipDto> selectMembers(DbSession session, UserMembershipQuery query, int offset, int limit) {
-    Map<String, Object> params = ImmutableMap.of("query", query, "groupId", query.groupId());
+    Map<String, Object> 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<String, Object> params = ImmutableMap.of("query", query, "groupId", query.groupId());
+    Map<String, Object> params = ImmutableMap.of("query", query, "groupId", query.groupId(), "organizationUuid", query.organizationUuid());
     return mapper(session).countMembers(params);
   }
 
index 67958591a48f8dc7644979a9a0c8b0f9c56f9bc4..2c6ed3195ebd7d2b9695466a7213874af035ed25 100644 (file)
@@ -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<String> 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();
index a24001488b7442ddda52f9d1338a512c21bfb0ce..5297c4959d9de8f69e164e3572a52c7362f539c1 100644 (file)
@@ -78,6 +78,7 @@
   <sql id="userCommonClauses">
     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}
     <where>
       <choose>
         <when test="query.membership() == 'IN'">
index 4585ef0a14524de9b7db1fea779dee9134016852..b9e7774125928b93781db2fbdc6b4ae961a4f2e8 100644 (file)
@@ -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<UserMembershipDto> result = underTest.selectMembers(db.getSession(), UserMembershipQuery.builder().groupId(group1.getId()).memberSearch("admin").build(), 0, 10);
+    List<UserMembershipDto> 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<UserMembershipDto> result = underTest.selectMembers(db.getSession(), UserMembershipQuery.builder().groupId(group1.getId()).memberSearch("NaMe").build(), 0, 10);
+    List<UserMembershipDto> 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<UserMembershipDto> result = underTest.selectMembers(db.getSession(), UserMembershipQuery.builder().groupId(group1.getId()).build(), 0, 10);
+    List<UserMembershipDto> 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<UserMembershipDto> result = underTest.selectMembers(db.getSession(), UserMembershipQuery.builder().groupId(group1.getId()).build(), 0, 2);
+    List<UserMembershipDto> 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());
+  }
 }
index 222a94ddbae1ea5e947aa78001b4ae72813cebaa..160ccc6b7c8be3e82cfc17159e700fc8a3827e08 100644 (file)
@@ -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);
index dfc82c3d7e8e4d407fa217b9a7d592b1aef62b3e..c7dc2ffba744fb9d36376f0451effba01b2f2e72 100644 (file)
@@ -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)
index 5fde346f9e30a2e02e7571198d94a449c0adc025..5b865fb2207ad73318ca4a8b8a336d6beff703cc 100644 (file)
@@ -413,7 +413,10 @@ public class OrganizationCreationImplTest {
       .containsOnly(GlobalPermissions.ALL.toArray(new String[GlobalPermissions.ALL.size()]));
     List<UserMembershipDto> 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());
index 7edbf8d5d88b2cb6056efd7581034a7292388c60..d7690f017faab445cecc92ef6688993aea0febca 100644 (file)
@@ -485,7 +485,10 @@ public class CreateActionTest {
       .containsOnly(GlobalPermissions.ALL.toArray(new String[GlobalPermissions.ALL.size()]));
     List<UserMembershipDto> 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());
index a1b1eca0b81c09ac871ee47127c02c66eeef73f5..67eee518f6afb65a42588e0e067b3d1e9647fe01 100644 (file)
@@ -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()
index 0e3e1df78d5f0a08bc7fcc1929040433184dcaf6..5f3e04210b61b8eadf7dc52d9b265c2278d20585 100644 (file)
@@ -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()