From ecd5c70f627d9edc71c7d19dfe48560d97a561bd Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Tue, 4 Apr 2017 08:30:21 +0200 Subject: [PATCH] UserDbTester.insertUser does not add default organization membership --- .../java/org/sonar/db/user/UserDbTester.java | 3 --- .../server/issue/ws/AssignActionTest.java | 15 +++++++---- .../organization/ws/AddMemberActionTest.java | 1 + .../ws/SearchMembersActionTest.java | 17 +++++++++--- .../permission/ws/AddUserActionTest.java | 1 + .../ws/SearchGlobalPermissionsActionTest.java | 1 + .../server/permission/ws/UsersActionTest.java | 19 +++++++++++++ .../template/AddUserToTemplateActionTest.java | 1 + .../ws/template/ApplyTemplateActionTest.java | 2 ++ .../RemoveUserFromTemplateActionTest.java | 2 ++ .../ws/template/TemplateUsersActionTest.java | 6 +++-- .../user/index/UserResultSetIteratorTest.java | 4 +-- .../usergroups/ws/AddUserActionTest.java | 27 +++++++++++-------- .../usergroups/ws/UpdateActionTest.java | 1 + .../server/usergroups/ws/UsersActionTest.java | 14 ++++++++++ 15 files changed, 88 insertions(+), 26 deletions(-) diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/user/UserDbTester.java b/server/sonar-db-dao/src/test/java/org/sonar/db/user/UserDbTester.java index ed4792e6174..5a514878d99 100644 --- a/server/sonar-db-dao/src/test/java/org/sonar/db/user/UserDbTester.java +++ b/server/sonar-db-dao/src/test/java/org/sonar/db/user/UserDbTester.java @@ -68,9 +68,6 @@ public class UserDbTester { public UserDto insertUser(UserDto userDto) { UserDto updatedUser = dbClient.userDao().insert(db.getSession(), userDto); - if (db.hasDefaultOrganization() && userDto.isActive()) { - db.organizations().addMember(db.getDefaultOrganization(), updatedUser); - } db.commit(); return updatedUser; } diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/ws/AssignActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/ws/AssignActionTest.java index 8af36ab217d..cac29c2121d 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/issue/ws/AssignActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/issue/ws/AssignActionTest.java @@ -85,15 +85,14 @@ public class AssignActionTest { private AssignAction underTest = new AssignAction(system2, userSession, db.getDbClient(), new IssueFinder(db.getDbClient(), userSession), new IssueFieldsSetter(), new IssueUpdater(db.getDbClient(), new ServerIssueStorage(system2, new DefaultRuleFinder(db.getDbClient(), defaultOrganizationProvider), db.getDbClient(), issueIndexer), - mock(NotificationManager.class) - ), + mock(NotificationManager.class)), responseWriter); private WsActionTester ws = new WsActionTester(underTest); @Test public void assign_to_someone() throws Exception { IssueDto issue = newIssueWithBrowsePermission(); - UserDto userDto = db.users().insertUser("arthur"); + insertUser("arthur"); ws.newRequest() .setParam("issue", issue.getKey()) @@ -158,7 +157,7 @@ public class AssignActionTest { @Test public void nothing_to_do_when_new_assignee_is_same_as_old_one() throws Exception { IssueDto issue = newIssueWithBrowsePermission(); - UserDto userDto = db.users().insertUser(PREVIOUS_ASSIGNEE); + insertUser(PREVIOUS_ASSIGNEE); ws.newRequest() .setParam("issue", issue.getKey()) @@ -240,6 +239,12 @@ public class AssignActionTest { .execute(); } + private UserDto insertUser(String login) { + UserDto user = db.users().insertUser(login); + db.organizations().addMember(db.getDefaultOrganization(), user); + return user; + } + private IssueDto newIssue() { return db.issues().insertIssue( issueDto -> issueDto @@ -255,7 +260,7 @@ public class AssignActionTest { } private void setUserWithBrowsePermission(IssueDto issue) { - UserDto currentUser = db.users().insertUser(CURRENT_USER_LOGIN); + insertUser(CURRENT_USER_LOGIN); userSession.logIn(CURRENT_USER_LOGIN).addProjectUuidPermissions(USER, issue.getProjectUuid()); } diff --git a/server/sonar-server/src/test/java/org/sonar/server/organization/ws/AddMemberActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/organization/ws/AddMemberActionTest.java index 0968faa4033..c3a2a4264c8 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/organization/ws/AddMemberActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/organization/ws/AddMemberActionTest.java @@ -78,6 +78,7 @@ public class AddMemberActionTest { public void setUp() { organization = db.organizations().insert(); user = db.users().insertUser(); + db.organizations().addMember(db.getDefaultOrganization(), user); } @Test diff --git a/server/sonar-server/src/test/java/org/sonar/server/organization/ws/SearchMembersActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/organization/ws/SearchMembersActionTest.java index ff194cb831b..f496102ca53 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/organization/ws/SearchMembersActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/organization/ws/SearchMembersActionTest.java @@ -89,7 +89,9 @@ public class SearchMembersActionTest { @Test public void search_members_of_default_organization() { UserDto user = db.users().insertUser(); + db.organizations().addMember(db.getDefaultOrganization(), user); UserDto anotherUser = db.users().insertUser(); + db.organizations().addMember(db.getDefaultOrganization(), anotherUser); indexAllUsers(); SearchMembersWsResponse result = call(); @@ -126,6 +128,7 @@ public class SearchMembersActionTest { @Test public void return_avatar() { UserDto user = db.users().insertUser(u -> u.setEmail("email@domain.com")); + db.organizations().addMember(db.getDefaultOrganization(), user); indexer.index(user.getLogin()); SearchMembersWsResponse result = call(); @@ -136,6 +139,7 @@ public class SearchMembersActionTest { @Test public void do_not_return_group_count_if_no_admin_permission() { UserDto user = db.users().insertUser(); + db.organizations().addMember(db.getDefaultOrganization(), user); GroupDto group = db.users().insertGroup(); db.users().insertMember(group, user); indexAllUsers(); @@ -149,14 +153,15 @@ public class SearchMembersActionTest { public void return_group_counts_if_org_admin() { userSession.addPermission(OrganizationPermission.ADMINISTER, db.getDefaultOrganization()); UserDto user = db.users().insertUser(); + db.organizations().addMember(db.getDefaultOrganization(), user); UserDto anotherUser = db.users().insertUser(); + db.organizations().addMember(db.getDefaultOrganization(), anotherUser); IntStream.range(0, 10) .mapToObj(i -> db.users().insertGroup()) .forEach(g -> db.users().insertMembers(g, user)); OrganizationDto anotherOrganization = db.organizations().insert(); GroupDto anotherGroup = db.users().insertGroup(anotherOrganization); db.users().insertMember(anotherGroup, user); - db.organizations().addMember(anotherOrganization, user); indexAllUsers(); SearchMembersWsResponse result = call(); @@ -191,6 +196,7 @@ public class SearchMembersActionTest { public void search_members_pagination() { IntStream.range(0, 10).forEach(i -> { UserDto userDto = db.users().insertUser(user -> user.setName("USER_" + i)); + db.organizations().addMember(db.getDefaultOrganization(), userDto); indexer.index(userDto.getLogin()); }); indexAllUsers(); @@ -209,6 +215,7 @@ public class SearchMembersActionTest { public void search_members_by_name() { IntStream.range(0, 10).forEach(i -> { UserDto userDto = db.users().insertUser(user -> user.setName("USER_" + i)); + db.organizations().addMember(db.getDefaultOrganization(), userDto); indexer.index(userDto.getLogin()); }); indexAllUsers(); @@ -223,6 +230,7 @@ public class SearchMembersActionTest { public void search_members_by_login() { IntStream.range(0, 10).forEach(i -> { UserDto userDto = db.users().insertUser(user -> user.setLogin("USER_" + i)); + db.organizations().addMember(db.getDefaultOrganization(), userDto); indexer.index(userDto.getLogin()); }); indexAllUsers(); @@ -239,6 +247,7 @@ public class SearchMembersActionTest { UserDto userDto = db.users().insertUser(user -> user .setLogin("L" + i) .setEmail("USER_" + i + "@email.com")); + db.organizations().addMember(db.getDefaultOrganization(), userDto); indexer.index(userDto.getLogin()); }); indexAllUsers(); @@ -251,8 +260,10 @@ public class SearchMembersActionTest { @Test public void json_example() { - db.users().insertUser(u -> u.setLogin("ada.lovelace").setName("Ada Lovelace").setEmail("ada@lovelace.com")); - db.users().insertUser(u -> u.setLogin("grace.hopper").setName("Grace Hopper").setEmail("grace@hopper.com")); + UserDto user1 = db.users().insertUser(u -> u.setLogin("ada.lovelace").setName("Ada Lovelace").setEmail("ada@lovelace.com")); + db.organizations().addMember(db.getDefaultOrganization(), user1); + UserDto user2 = db.users().insertUser(u -> u.setLogin("grace.hopper").setName("Grace Hopper").setEmail("grace@hopper.com")); + db.organizations().addMember(db.getDefaultOrganization(), user2); indexAllUsers(); String result = ws.newRequest().execute().getInput(); diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/AddUserActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/AddUserActionTest.java index 3ed61211d13..1ead26ac663 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/AddUserActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/AddUserActionTest.java @@ -50,6 +50,7 @@ public class AddUserActionTest extends BasePermissionWsTest { @Before public void setUp() { user = db.users().insertUser("ray.bradbury"); + db.organizations().addMember(db.getDefaultOrganization(), user); } @Override diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/SearchGlobalPermissionsActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/SearchGlobalPermissionsActionTest.java index 86f7874ebff..eb13248bc5f 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/SearchGlobalPermissionsActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/SearchGlobalPermissionsActionTest.java @@ -96,6 +96,7 @@ public class SearchGlobalPermissionsActionTest extends BasePermissionWsTest { @Test public void search_for_users_with_response_example() throws Exception { UserDto user1 = db.users().insertUser(newUserDto().setLogin("admin").setName("Administrator").setEmail("admin@admin.com")); + db.organizations().addMember(db.getDefaultOrganization(), user1); UserDto user2 = db.users().insertUser(newUserDto().setLogin("george.orwell").setName("George Orwell").setEmail("george.orwell@1984.net")); + db.organizations().addMember(db.getDefaultOrganization(), user2); db.users().insertPermissionOnUser(user1, ADMINISTER); db.users().insertPermissionOnUser(user1, ADMINISTER_QUALITY_GATES); db.users().insertPermissionOnUser(user1, ADMINISTER_QUALITY_PROFILES); @@ -81,15 +83,18 @@ public class UsersActionTest extends BasePermissionWsTest { // User has permission on project ComponentDto project = db.components().insertComponent(newProjectDto(db.getDefaultOrganization())); UserDto user = db.users().insertUser(newUserDto()); + db.organizations().addMember(db.getDefaultOrganization(), user); db.users().insertProjectPermissionOnUser(user, ISSUE_ADMIN, project); // User has permission on another project ComponentDto anotherProject = db.components().insertComponent(newProjectDto(db.getDefaultOrganization())); UserDto userHavePermissionOnAnotherProject = db.users().insertUser(newUserDto()); + db.organizations().addMember(db.getDefaultOrganization(), userHavePermissionOnAnotherProject); db.users().insertProjectPermissionOnUser(userHavePermissionOnAnotherProject, ISSUE_ADMIN, anotherProject); // User has no permission UserDto withoutPermission = db.users().insertUser(newUserDto()); + db.organizations().addMember(db.getDefaultOrganization(), withoutPermission); userSession.logIn().addProjectUuidPermissions(SYSTEM_ADMIN, project.uuid()); String result = newRequest() @@ -108,10 +113,12 @@ public class UsersActionTest extends BasePermissionWsTest { // User have permission on project ComponentDto project = db.components().insertProject(); UserDto user = db.users().insertUser(); + db.organizations().addMember(db.getDefaultOrganization(), user); db.users().insertProjectPermissionOnUser(user, ISSUE_ADMIN, project); // User has no permission UserDto withoutPermission = db.users().insertUser(); + db.organizations().addMember(db.getDefaultOrganization(), withoutPermission); loginAsAdmin(db.getDefaultOrganization()); String result = newRequest() @@ -129,11 +136,14 @@ public class UsersActionTest extends BasePermissionWsTest { // User with permission on project ComponentDto project = db.components().insertComponent(newProjectDto(db.organizations().insert())); UserDto user = db.users().insertUser(newUserDto("with-permission-login", "with-permission-name", "with-permission-email")); + db.organizations().addMember(db.getDefaultOrganization(), user); db.users().insertProjectPermissionOnUser(user, ISSUE_ADMIN, project); // User without permission UserDto withoutPermission = db.users().insertUser(newUserDto("without-permission-login", "without-permission-name", "without-permission-email")); + db.organizations().addMember(db.getDefaultOrganization(), withoutPermission); UserDto anotherUser = db.users().insertUser(newUserDto("another-user", "another-user", "another-user")); + db.organizations().addMember(db.getDefaultOrganization(), anotherUser); loginAsAdmin(db.getDefaultOrganization()); String result = newRequest() @@ -150,11 +160,14 @@ public class UsersActionTest extends BasePermissionWsTest { // User with permission on project ComponentDto project = db.components().insertComponent(newProjectDto(db.organizations().insert())); UserDto user = db.users().insertUser(newUserDto("with-permission-login", "with-permission-name", "with-permission-email")); + db.organizations().addMember(db.getDefaultOrganization(), user); db.users().insertProjectPermissionOnUser(user, ISSUE_ADMIN, project); // User without permission UserDto withoutPermission = db.users().insertUser(newUserDto("without-permission-login", "without-permission-name", "without-permission-email")); + db.organizations().addMember(db.getDefaultOrganization(), withoutPermission); UserDto anotherUser = db.users().insertUser(newUserDto("another-user", "another-user", "another-user")); + db.organizations().addMember(db.getDefaultOrganization(), anotherUser); loginAsAdmin(db.getDefaultOrganization()); String result = newRequest().setParam(PARAM_PROJECT_ID, project.uuid()).setParam(TEXT_QUERY, "email").execute().getInput(); @@ -167,11 +180,14 @@ public class UsersActionTest extends BasePermissionWsTest { // User with permission on project ComponentDto project = db.components().insertComponent(newProjectDto(db.organizations().insert())); UserDto user = db.users().insertUser(newUserDto("with-permission-login", "with-permission-name", "with-permission-email")); + db.organizations().addMember(db.getDefaultOrganization(), user); db.users().insertProjectPermissionOnUser(user, ISSUE_ADMIN, project); // User without permission UserDto withoutPermission = db.users().insertUser(newUserDto("without-permission-login", "without-permission-name", "without-permission-email")); + db.organizations().addMember(db.getDefaultOrganization(), withoutPermission); UserDto anotherUser = db.users().insertUser(newUserDto("another-user", "another-user", "another-user")); + db.organizations().addMember(db.getDefaultOrganization(), anotherUser); loginAsAdmin(db.getDefaultOrganization()); String result = newRequest().setParam(PARAM_PROJECT_ID, project.uuid()).setParam(TEXT_QUERY, "login").execute().getInput(); @@ -268,8 +284,11 @@ public class UsersActionTest extends BasePermissionWsTest { private void insertUsersHavingGlobalPermissions() { UserDto user1 = db.users().insertUser(newUserDto("login-1", "name-1", "email-1")); + db.organizations().addMember(db.getDefaultOrganization(), user1); UserDto user2 = db.users().insertUser(newUserDto("login-2", "name-2", "email-2")); + db.organizations().addMember(db.getDefaultOrganization(), user2); UserDto user3 = db.users().insertUser(newUserDto("login-3", "name-3", "email-3")); + db.organizations().addMember(db.getDefaultOrganization(), user3); db.users().insertPermissionOnUser(user1, SCAN); db.users().insertPermissionOnUser(user2, SCAN); db.users().insertPermissionOnUser(user3, ADMINISTER); diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/AddUserToTemplateActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/AddUserToTemplateActionTest.java index f93f001d351..9ba270c56b3 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/AddUserToTemplateActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/AddUserToTemplateActionTest.java @@ -56,6 +56,7 @@ public class AddUserToTemplateActionTest extends BasePermissionWsTest org.setKey("org")); UserDto user = db.users().insertUser(); - addUserAsMemberOfOrganization(organization, user); + db.organizations().addMember(organization, user); loginAsAdmin(organization); expectedException.expect(NotFoundException.class); @@ -258,11 +268,10 @@ public class AddUserActionTest { @Test public void fail_to_add_user_to_default_group() throws Exception { - OrganizationDto organization = db.organizations().insert(); UserDto user = db.users().insertUser(); - addUserAsMemberOfOrganization(organization, user); - GroupDto group = db.users().insertGroup(organization, "sonar-users"); - loginAsAdmin(organization); + db.organizations().addMember(db.getDefaultOrganization(), user); + GroupDto group = db.users().insertGroup(db.getDefaultOrganization(), "sonar-users"); + loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("Default group 'sonar-users' cannot be used to perform this action"); @@ -296,8 +305,4 @@ public class AddUserActionTest { return new GroupWsSupport(db.getDbClient(), defaultOrganizationProvider); } - private void addUserAsMemberOfOrganization(OrganizationDto organization, UserDto user) { - db.organizations().addMember(organization, user); - } - } 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 da24419f624..02b31290ad9 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 @@ -57,6 +57,7 @@ public class UpdateActionTest { public void update_both_name_and_description() throws Exception { GroupDto group = db.users().insertGroup(); UserDto user = db.users().insertUser(); + db.organizations().addMember(db.getDefaultOrganization(), user); db.users().insertMember(group, user); loginAsAdminOnDefaultOrganization(); 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 b6ef81dd055..e7bc462d063 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 @@ -113,7 +113,9 @@ public class UsersActionTest { public void return_members_by_group_id() throws Exception { GroupDto group = db.users().insertGroup(); UserDto lovelace = db.users().insertUser(newUserDto().setLogin("ada.login").setName("Ada Lovelace")); + db.organizations().addMember(db.getDefaultOrganization(), lovelace); UserDto hopper = db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper")); + db.organizations().addMember(db.getDefaultOrganization(), hopper); db.users().insertMember(group, lovelace); loginAsAdminOnDefaultOrganization(); @@ -161,7 +163,9 @@ public class UsersActionTest { public void references_group_in_default_organization_by_its_name() throws Exception { GroupDto group = db.users().insertGroup(); UserDto lovelace = db.users().insertUser(newUserDto().setLogin("ada.login").setName("Ada Lovelace")); + db.organizations().addMember(db.getDefaultOrganization(), lovelace); UserDto hopper = db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper")); + db.organizations().addMember(db.getDefaultOrganization(), hopper); db.users().insertMember(group, lovelace); loginAsAdminOnDefaultOrganization(); @@ -183,7 +187,9 @@ public class UsersActionTest { public void filter_members_by_name() throws Exception { GroupDto group = db.users().insertGroup(db.getDefaultOrganization(), "a group"); UserDto adaLovelace = db.users().insertUser(newUserDto().setLogin("ada").setName("Ada Lovelace")); + db.organizations().addMember(db.getDefaultOrganization(), adaLovelace); UserDto graceHopper = db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper")); + db.organizations().addMember(db.getDefaultOrganization(), graceHopper); db.users().insertMember(group, adaLovelace); db.users().insertMember(group, graceHopper); loginAsAdminOnDefaultOrganization(); @@ -197,7 +203,9 @@ public class UsersActionTest { public void selected_users() throws Exception { GroupDto group = db.users().insertGroup(db.getDefaultOrganization(), "a group"); UserDto lovelace = db.users().insertUser(newUserDto().setLogin("ada").setName("Ada Lovelace")); + db.organizations().addMember(db.getDefaultOrganization(), lovelace); UserDto hopper = db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper")); + db.organizations().addMember(db.getDefaultOrganization(), hopper); db.users().insertMember(group, lovelace); loginAsAdminOnDefaultOrganization(); @@ -225,7 +233,9 @@ public class UsersActionTest { public void deselected_users() throws Exception { GroupDto group = db.users().insertGroup(); UserDto lovelace = db.users().insertUser(newUserDto().setLogin("ada").setName("Ada Lovelace")); + db.organizations().addMember(db.getDefaultOrganization(), lovelace); UserDto hopper = db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper")); + db.organizations().addMember(db.getDefaultOrganization(), hopper); db.users().insertMember(group, lovelace); loginAsAdminOnDefaultOrganization(); @@ -246,7 +256,9 @@ public class UsersActionTest { public void paging() throws Exception { GroupDto group = db.users().insertGroup(); UserDto lovelace = db.users().insertUser(newUserDto().setLogin("ada").setName("Ada Lovelace")); + db.organizations().addMember(db.getDefaultOrganization(), lovelace); UserDto hopper = db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper")); + db.organizations().addMember(db.getDefaultOrganization(), hopper); db.users().insertMember(group, lovelace); loginAsAdminOnDefaultOrganization(); @@ -284,7 +296,9 @@ public class UsersActionTest { public void filtering_by_name_email_and_login() throws Exception { GroupDto group = db.users().insertGroup(); UserDto lovelace = db.users().insertUser(newUserDto().setLogin("ada.login").setName("Ada Lovelace").setEmail("ada@email.com")); + db.organizations().addMember(db.getDefaultOrganization(), lovelace); UserDto hopper = db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper").setEmail("grace@hopper.com")); + db.organizations().addMember(db.getDefaultOrganization(), hopper); db.users().insertMember(group, lovelace); loginAsAdminOnDefaultOrganization(); -- 2.39.5