@Test public void selectByOrderedLogins() { db.users().insertUser(user -> user.setLogin("U1")); db.users().insertUser(user -> user.setLogin("U2")); Iterable<UserDto> users = underTest.selectByOrderedLogins(session, asList("U1", "U2", "U3")); assertThat(users).extracting("login").containsExactly("U1", "U2"); users = underTest.selectByOrderedLogins(session, asList("U2", "U3", "U1")); assertThat(users).extracting("login").containsExactly("U2", "U1"); assertThat(underTest.selectByOrderedLogins(session, emptyList())).isEmpty(); }
@Test public void selectUsersByLogins() { db.users().insertUser(user -> user.setLogin("user1")); db.users().insertUser(user -> user.setLogin("user2")); db.users().insertUser(user -> user.setLogin("inactive_user").setActive(false)); Collection<UserDto> users = underTest.selectByLogins(session, asList("user1", "inactive_user", "other")); assertThat(users).extracting("login").containsExactlyInAnyOrder("user1", "inactive_user"); }
@Test public void change_assignee() { UserDto user = newUserDto().setLogin("emmerik").setName("Emmerik"); issue.setAssigneeUuid("user_uuid"); boolean updated = underTest.assign(issue, user, context); assertThat(updated).isTrue(); assertThat(issue.assignee()).isEqualTo(user.getUuid()); assertThat(issue.mustSendNotifications()).isTrue(); FieldDiffs.Diff diff = issue.currentChange().get(ASSIGNEE); assertThat(diff.oldValue()).isEqualTo(UNUSED); assertThat(diff.newValue()).isEqualTo(user.getName()); }
@Test public void selectUserByLogin_ignore_inactive() { db.users().insertUser(user -> user.setLogin("user1")); db.users().insertUser(user -> user.setLogin("user2")); db.users().insertUser(user -> user.setLogin("inactive_user").setActive(false)); UserDto user = underTest.selectActiveUserByLogin(session, "inactive_user"); assertThat(user).isNull(); }
@Test public void selectUserByLogin_not_found() { db.users().insertUser(user -> user.setLogin("user")); UserDto user = underTest.selectActiveUserByLogin(session, "not_found"); assertThat(user).isNull(); }
@Test public void select_nullable_by_scm_account_return_many_results_when_same_email_is_used_by_many_users() { db.users().insertUser(user -> user.setLogin("marius").setName("Marius").setEmail("marius@lesbronzes.fr").setScmAccounts(asList("ma", "marius33"))); db.users().insertUser(user -> user.setLogin("sbrandhof").setName("Simon Brandhof").setEmail("marius@lesbronzes.fr").setScmAccounts((String) null)); List<UserDto> results = underTest.selectByScmAccountOrLoginOrEmail(session, "marius@lesbronzes.fr"); assertThat(results).hasSize(2); }
@Test public void select_nullable_by_scm_account() { db.users().insertUser(user -> user.setLogin("marius").setName("Marius").setEmail("marius@lesbronzes.fr").setScmAccounts(asList("ma", "marius33"))); db.users().insertUser(user -> user.setLogin("sbrandhof").setName("Simon Brandhof").setEmail("sbrandhof@lesbronzes.fr").setScmAccounts((String) null)); assertThat(underTest.selectByScmAccountOrLoginOrEmail(session, "ma")).extracting(UserDto::getLogin).containsExactly("marius"); assertThat(underTest.selectByScmAccountOrLoginOrEmail(session, "marius")).extracting(UserDto::getLogin).containsExactly("marius"); assertThat(underTest.selectByScmAccountOrLoginOrEmail(session, "marius@lesbronzes.fr")).extracting(UserDto::getLogin).containsExactly("marius"); assertThat(underTest.selectByScmAccountOrLoginOrEmail(session, "m")).isEmpty(); assertThat(underTest.selectByScmAccountOrLoginOrEmail(session, "unknown")).isEmpty(); }
private UserDto insertUser() { return db.users().insertUser(newUserDto() .setActive(true) .setEmail("john@email.com") .setLogin(USER_LOGIN) .setName("John") .setScmAccounts(singletonList("jn"))); }
@Test public void createForUser_gives_all_permissions_for_new_organization_to_current_user() { UserDto user = db.users().insertUser(dto -> dto.setLogin(A_LOGIN).setName(A_NAME)); when(organizationValidation.generateKeyFrom(A_LOGIN)).thenReturn(SLUG_OF_A_LOGIN); enableCreatePersonalOrg(true); builtInQProfileRepositoryRule.initialize(); db.qualityGates().insertBuiltInQualityGate(); underTest.createForUser(dbSession, user); OrganizationDto organization = dbClient.organizationDao().selectByKey(dbSession, SLUG_OF_A_LOGIN).get(); assertThat(dbClient.userPermissionDao().selectGlobalPermissionsOfUser(dbSession, user.getId(), organization.getUuid())) .containsOnly(GlobalPermissions.ALL.toArray(new String[GlobalPermissions.ALL.size()])); }
@Test public void configured_login_is_disabled() { settings.setProperty(CoreProperties.DEFAULT_ISSUE_ASSIGNEE, "erik"); db.users().insertUser(user -> user.setLogin("erik").setActive(false)); assertThat(underTest.loadDefaultAssigneeUuid()).isNull(); }
public static UserDto newLocalUser(String login, String name, @Nullable String email) { return newUserDto() .setLocal(true) .setName(name) .setEmail(email) .setLogin(login) .setExternalId(login) .setExternalLogin(login) .setExternalIdentityProvider("sonarqube"); }
@Test public void json_example() { UserDto user1 = db.users().insertUser(u -> u.setLogin("grace.hopper")); UserDto user2 = db.users().insertUser(u -> u.setLogin("ada.lovelace")); logInAsSystemAdministrator(); String response = ws.newRequest() .setMediaType(MediaTypes.JSON) .setParam(PARAM_LOGIN, user1.getLogin()) .setParam(PARAM_NAME, TOKEN_NAME) .execute().getInput(); assertJson(response).ignoreFields("createdAt").isSimilarTo(getClass().getResource("generate-example.json")); }
@Test public void selectUsersByQuery_filter_by_login() { db.users().insertUser(user -> user.setLogin("user").setName("User")); db.users().insertUser(user -> user.setLogin("inactive_user").setName("Disabled").setActive(false)); List<UserDto> users = underTest.selectUsers(session, UserQuery.builder().logins("user", "john").build()); assertThat(users).extracting(UserDto::getName).containsExactlyInAnyOrder("User"); }
public static UserDto newExternalUser(String login, String name, @Nullable String email) { return newUserDto() .setLocal(false) .setName(name) .setEmail(email) .setLogin(login) .setExternalId(randomAlphanumeric(40)) .setExternalLogin(randomAlphanumeric(40)) .setExternalIdentityProvider(randomAlphanumeric(40)); }
@Before public void setUp() throws Exception { organizationDto = db.organizations().insert(); user1 = db.users().insertUser(u -> u.setLogin("admin login").setName("Admin name").setEmail("admin@email.com")); user2 = db.users().insertUser(u -> u.setLogin("not.admin").setName("Not Admin").setEmail("Not Admin")); user3 = db.users().insertUser(u -> u.setLogin("inactive").setActive(false)); 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 public void fail_on_disabled_user() { db.users().insertUser(u -> u.setLogin("polop").setActive(false)); userSessionRule.logIn().setSystemAdministrator(); expectedException.expect(NotFoundException.class); expectedException.expectMessage("User with login 'polop' has not been found"); tester.newRequest() .setParam("login", "polop") .setParam("password", "polop") .execute(); }
@Test public void fail_to_update_user_when_login_already_exists() { createDefaultGroup(); UserDto user = db.users().insertUser(u -> u.setActive(false)); UserDto existingUser = db.users().insertUser(u -> u.setLogin("existing_login")); expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("A user with login 'existing_login' already exists"); underTest.updateAndCommit(session, user, new UpdateUser().setLogin(existingUser.getLogin()), u -> { }); }
@Override public UserDto register(UserRegistration registration) { this.authenticatorParameters = registration; String providerId = registration.getUserIdentity().getProviderId(); return UserTesting.newUserDto() .setLocal(false) .setLogin(registration.getUserIdentity().getLogin()) .setExternalLogin(registration.getUserIdentity().getProviderLogin()) .setExternalId(providerId == null ? registration.getUserIdentity().getProviderLogin() : providerId) .setExternalIdentityProvider(registration.getProvider().getKey()); }
@Test public void authenticate_existing_user_and_add_new_groups() { organizationFlags.setEnabled(true); UserDto user = db.users().insertUser(newUserDto() .setLogin(USER_LOGIN) .setActive(true) .setName("John")); GroupDto group1 = db.users().insertGroup(db.getDefaultOrganization(), "group1"); GroupDto group2 = db.users().insertGroup(db.getDefaultOrganization(), "group2"); authenticate(USER_LOGIN, "group1", "group2", "group3"); checkGroupMembership(user, group1, group2); }
@Test public void test_response_example() { logInAsRoot(); UserDto user = UserTesting.newUserDto().setLogin("daniel").setName("Daniel").setEmail("daniel@corp.com"); UserDto rootDto = userDao.insert(dbSession, user); userDao.setRoot(dbSession, rootDto.getLogin(), true); dbSession.commit(); TestResponse response = wsTester.newRequest().setMediaType(MediaTypes.JSON).execute(); assertJson(response.getInput()).isSimilarTo(wsTester.getDef().responseExampleAsString()); }