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;
}
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())
@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())
.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
}
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());
}
public void setUp() {
organization = db.organizations().insert();
user = db.users().insertUser();
+ db.organizations().addMember(db.getDefaultOrganization(), user);
}
@Test
@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();
@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();
@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();
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();
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();
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();
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();
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();
@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();
@Before
public void setUp() {
user = db.users().insertUser("ray.bradbury");
+ db.organizations().addMember(db.getDefaultOrganization(), user);
}
@Override
UserDto user = db.users().insertUser();
db.users().insertPermissionOnUser(db.getDefaultOrganization(), user, SCAN);
+ db.organizations().addMember(db.getDefaultOrganization(), user);
// to be ignored, by default organization is used when searching for permissions
db.users().insertPermissionOnUser(org, user, ADMINISTER_QUALITY_GATES);
@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);
// 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()
// 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()
// 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()
// 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();
// 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();
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);
@Before
public void setUp() {
user = db.users().insertUser("user-login");
+ db.organizations().addMember(db.getDefaultOrganization(), user);
permissionTemplate = db.permissionTemplates().insertTemplate(db.getDefaultOrganization());
}
@Before
public void setUp() {
user1 = db.users().insertUser();
+ db.organizations().addMember(db.getDefaultOrganization(), user1);
user2 = db.users().insertUser();
+ db.organizations().addMember(db.getDefaultOrganization(), user2);
group1 = db.users().insertGroup();
group2 = db.users().insertGroup();
@Before
public void setUp() {
user = db.users().insertUser("user-login");
+ db.organizations().addMember(db.getDefaultOrganization(), user);
template = db.permissionTemplates().insertTemplate(db.getDefaultOrganization());
addUserToTemplate(user, template, DEFAULT_PERMISSION);
}
@Test
public void keep_other_users_when_one_user_removed() throws Exception {
UserDto newUser = db.users().insertUser("new-login");
+ db.organizations().addMember(db.getDefaultOrganization(), newUser);
addUserToTemplate(newUser, template, DEFAULT_PERMISSION);
loginAsAdmin(db.getDefaultOrganization());
import static org.sonar.api.web.UserRole.CODEVIEWER;
import static org.sonar.api.web.UserRole.ISSUE_ADMIN;
import static org.sonar.api.web.UserRole.USER;
+import static org.sonar.db.permission.OrganizationPermission.SCAN;
import static org.sonar.db.permission.template.PermissionTemplateTesting.newPermissionTemplateUserDto;
import static org.sonar.db.user.UserTesting.newUserDto;
-import static org.sonar.db.permission.OrganizationPermission.SCAN;
import static org.sonar.test.JsonAssert.assertJson;
import static org.sonarqube.ws.MediaTypes.PROTOBUF;
import static org.sonarqube.ws.client.permission.PermissionsWsParameters.PARAM_PERMISSION;
}
private UserDto insertUser(UserDto userDto) {
- return db.users().insertUser(userDto);
+ db.users().insertUser(userDto);
+ db.organizations().addMember(db.getDefaultOrganization(), userDto);
+ return userDto;
}
private void addUserToTemplate(PermissionTemplateUserDto dto) {
assertThat(user1.scmAccounts()).containsOnly("user_1", "u1");
assertThat(user1.createdAt()).isEqualTo(1_500_000_000_000L);
assertThat(user1.updatedAt()).isEqualTo(1_500_000_000_000L);
- assertThat(user1.organizationUuids()).containsOnly("ORG_1", "ORG_2", db.getDefaultOrganization().getUuid());
+ assertThat(user1.organizationUuids()).containsOnly("ORG_1", "ORG_2");
UserDoc user2 = usersByLogin.get("user2");
assertThat(user2.name()).isEqualTo("User2");
assertThat(user2.scmAccounts()).containsOnly("user,2", "user_2");
assertThat(user2.createdAt()).isEqualTo(1_500_000_000_000L);
assertThat(user2.updatedAt()).isEqualTo(1_500_000_000_000L);
- assertThat(user2.organizationUuids()).containsOnly("ORG_1", db.getDefaultOrganization().getUuid());
+ assertThat(user2.organizationUuids()).containsOnly("ORG_1");
UserDoc user3 = usersByLogin.get("user3");
assertThat(user3.name()).isEqualTo("User3");
public void add_user_to_group_referenced_by_its_id() throws Exception {
GroupDto group = db.users().insertGroup();
UserDto user = db.users().insertUser();
+ db.organizations().addMember(db.getDefaultOrganization(), user);
loginAsAdminOnDefaultOrganization();
newRequest()
public void add_user_to_group_referenced_by_its_name() throws Exception {
GroupDto group = db.users().insertGroup();
UserDto user = db.users().insertUser();
+ db.organizations().addMember(db.getDefaultOrganization(), user);
loginAsAdminOnDefaultOrganization();
newRequest()
OrganizationDto org = db.organizations().insert();
GroupDto group = db.users().insertGroup(org, "a-group");
UserDto user = db.users().insertUser("user_login");
- addUserAsMemberOfOrganization(org, user);
+ db.organizations().addMember(org, user);
loginAsAdmin(org);
newRequest()
GroupDto admins = db.users().insertGroup(defaultOrg, "admins");
GroupDto users = db.users().insertGroup(defaultOrg, "users");
UserDto user = db.users().insertUser("my-admin");
+ db.organizations().addMember(db.getDefaultOrganization(), user);
db.users().insertMember(users, user);
loginAsAdminOnDefaultOrganization();
public void do_not_fail_if_user_is_already_member_of_group() throws Exception {
GroupDto users = db.users().insertGroup();
UserDto user = db.users().insertUser();
+ db.organizations().addMember(db.getDefaultOrganization(), user);
db.users().insertMember(users, user);
loginAsAdminOnDefaultOrganization();
public void group_has_multiple_members() throws Exception {
GroupDto users = db.users().insertGroup();
UserDto user1 = db.users().insertUser();
+ db.organizations().addMember(db.getDefaultOrganization(), user1);
UserDto user2 = db.users().insertUser();
+ db.organizations().addMember(db.getDefaultOrganization(), user2);
db.users().insertMember(users, user1);
loginAsAdminOnDefaultOrganization();
public void response_status_is_no_content() throws Exception {
GroupDto group = db.users().insertGroup();
UserDto user = db.users().insertUser();
+ db.organizations().addMember(db.getDefaultOrganization(), user);
loginAsAdminOnDefaultOrganization();
TestResponse response = newRequest()
@Test
public void fail_if_group_does_not_exist() throws Exception {
UserDto user = db.users().insertUser();
+ db.organizations().addMember(db.getDefaultOrganization(), user);
loginAsAdminOnDefaultOrganization();
expectedException.expect(NotFoundException.class);
public void fail_if_not_administrator() throws Exception {
GroupDto group = db.users().insertGroup();
UserDto user = db.users().insertUser();
+ db.organizations().addMember(db.getDefaultOrganization(), user);
expectedException.expect(UnauthorizedException.class);
OrganizationDto org1 = db.organizations().insert();
GroupDto group = db.users().insertGroup(org1, "a-group");
UserDto user = db.users().insertUser("user_login");
+ db.organizations().addMember(db.getDefaultOrganization(), user);
OrganizationDto org2 = db.organizations().insert();
loginAsAdmin(org2);
GroupDto group = db.users().insertGroup(org, "a-group");
UserDto user = db.users().insertUser("user_login");
OrganizationDto otherOrganization = db.organizations().insert();
- addUserAsMemberOfOrganization(otherOrganization, user);
+ db.organizations().addMember(otherOrganization, user);
loginAsAdmin(org);
expectedException.expect(IllegalArgumentException.class);
public void fail_to_add_user_to_anyone() throws Exception {
OrganizationDto organization = db.organizations().insert(org -> org.setKey("org"));
UserDto user = db.users().insertUser();
- addUserAsMemberOfOrganization(organization, user);
+ db.organizations().addMember(organization, user);
loginAsAdmin(organization);
expectedException.expect(NotFoundException.class);
@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");
return new GroupWsSupport(db.getDbClient(), defaultOrganizationProvider);
}
- private void addUserAsMemberOfOrganization(OrganizationDto organization, UserDto user) {
- db.organizations().addMember(organization, user);
- }
-
}
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();
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();
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();
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();
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();
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();
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();
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();