@Test public void indexOnStartup_adds_all_users_to_index() { UserDto user = db.users().insertUser(u -> u.setScmAccounts(asList("user_1", "u1"))); underTest.indexOnStartup(new HashSet<>()); List<UserDoc> docs = es.getDocuments(UserIndexDefinition.INDEX_TYPE_USER, UserDoc.class); assertThat(docs).hasSize(1); UserDoc doc = docs.get(0); assertThat(doc.uuid()).isEqualTo(user.getUuid()); assertThat(doc.login()).isEqualTo(user.getLogin()); assertThat(doc.name()).isEqualTo(user.getName()); assertThat(doc.email()).isEqualTo(user.getEmail()); assertThat(doc.active()).isEqualTo(user.isActive()); assertThat(doc.scmAccounts()).isEqualTo(user.getScmAccountsAsList()); assertThat(doc.organizationUuids()).isEmpty(); }
public MockUserSession(UserDto userDto) { super(MockUserSession.class); checkArgument(!userDto.getLogin().isEmpty()); this.login = userDto.getLogin(); setUuid(userDto.getUuid()); setUserId(userDto.getId()); setName(userDto.getName()); AbstractUserSession.Identity identity = computeIdentity(userDto); this.identityProvider = identity.getIdentityProvider(); this.externalIdentity = identity.getExternalIdentity(); }
private UserDto insertUser() { return db.users().insertUser(newUserDto() .setActive(true) .setEmail("john@email.com") .setLogin(USER_LOGIN) .setName("John") .setScmAccounts(singletonList("jn"))); }
public UserDto reactivateAndCommit(DbSession dbSession, UserDto disabledUser, NewUser newUser, Consumer<UserDto> beforeCommit, UserDto... otherUsersToIndex) { checkArgument(!disabledUser.isActive(), "An active user with login '%s' already exists", disabledUser.getLogin()); reactivateUser(dbSession, disabledUser, newUser); return commitUser(dbSession, disabledUser, beforeCommit, otherUsersToIndex); }
private Users.User.Builder formatUser(UserDto user) { Users.User.Builder builder = Users.User.newBuilder() .setLogin(user.getLogin()) .setName(nullToEmpty(user.getName())) .setActive(user.isActive()); ofNullable(emptyToNull(user.getEmail())).ifPresent(email -> builder.setAvatar(avatarFactory.create(user))); return builder; }
private static CreateWsResponse buildResponse(UserDto userDto) { CreateWsResponse.User.Builder userBuilder = CreateWsResponse.User.newBuilder() .setLogin(userDto.getLogin()) .setName(userDto.getName()) .setActive(userDto.isActive()) .setLocal(userDto.isLocal()) .addAllScmAccounts(userDto.getScmAccountsAsList()); ofNullable(emptyToNull(userDto.getEmail())).ifPresent(userBuilder::setEmail); return CreateWsResponse.newBuilder().setUser(userBuilder).build(); }
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"); }
private void checkMembership(DbSession dbSession, OrganizationDto organization, UserDto user) { checkArgument(dbClient.organizationMemberDao().select(dbSession, organization.getUuid(), user.getId()).isPresent(), "User '%s' is not member of organization '%s'", user.getLogin(), organization.getKey()); } }
@Test public void test_example() { UserDto user = db.users().insertUser(u -> u .setLogin("ada.lovelace") .setEmail("ada.lovelace@noteg.com") .setName("Ada Lovelace") .setLocal(true) .setScmAccounts(singletonList("al"))); logInAsSystemAdministrator(); String json = deactivate(user.getLogin()).getInput(); assertJson(json).isSimilarTo(ws.getDef().responseExampleAsString()); }
@Override @CheckForNull public String getUuid() { return userDto == null ? null : userDto.getUuid(); }
@Test public void assign() { UserDto user = newUserDto().setLogin("emmerik").setName("Emmerik"); 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 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()); }
@Test public void add_user_as_member_of_default_organization_when_reactivating_user_and_organizations_are_disabled() { UserDto user = db.users().insertDisabledUser(); createDefaultGroup(); UserDto dto = underTest.reactivateAndCommit(db.getSession(), user, NewUser.builder().setLogin(user.getLogin()).setName(user.getName()).build(), u -> { }); assertThat(dbClient.organizationMemberDao().select(db.getSession(), defaultOrganizationProvider.get().getUuid(), dto.getId())).isPresent(); }
private void verifyUserInDb(String expectedLogin, String expectedName, @Nullable String expectedEmail, GroupDto... expectedGroups) { UserDto userDto = db.users().selectUserByLogin(expectedLogin).get(); assertThat(userDto.isActive()).isTrue(); assertThat(userDto.getName()).isEqualTo(expectedName); assertThat(userDto.getEmail()).isEqualTo(expectedEmail); assertThat(userDto.getExternalLogin()).isEqualTo(expectedLogin); assertThat(userDto.getExternalIdentityProvider()).isEqualTo("sonarqube"); verityUserGroups(expectedLogin, expectedGroups); }
@Test public void scrollAll() { UserDto u1 = insertUser(true); UserDto u2 = insertUser(false); List<UserDto> result = new ArrayList<>(); underTest.scrollAll(db.getSession(), result::add); assertThat(result).extracting(UserDto::getLogin, UserDto::getName) .containsExactlyInAnyOrder(tuple(u1.getLogin(), u1.getName()), tuple(u2.getLogin(), u2.getName())); }
public static UserDto newDisabledUser() { return newUserDto() .setActive(false) // All these fields are reset when disabling a user .setScmAccounts((String) null) .setEmail(null) .setCryptedPassword(null) .setSalt(null); }
@Test public void reactivate_not_onboarded_user_if_onboarding_setting_is_set_to_false() { settings.setProperty(ONBOARDING_TUTORIAL_SHOW_TO_NEW_USERS.getKey(), false); UserDto user = db.users().insertDisabledUser(u -> u.setOnboarded(false)); createDefaultGroup(); underTest.reactivateAndCommit(db.getSession(), user, NewUser.builder() .setLogin(user.getLogin()) .setName(user.getName()) .build(), u -> { }); assertThat(dbClient.userDao().selectByLogin(session, user.getLogin()).isOnboarded()).isTrue(); }
@Test public void authenticate_from_user_token() { UserDto user = db.users().insertUser(); when(userTokenAuthentication.authenticate("token")).thenReturn(Optional.of(user.getUuid())); when(request.getHeader("Authorization")).thenReturn("Basic " + toBase64("token:")); Optional<UserDto> userAuthenticated = underTest.authenticate(request); assertThat(userAuthenticated.isPresent()).isTrue(); assertThat(userAuthenticated.get().getLogin()).isEqualTo(user.getLogin()); verify(authenticationEvent).loginSuccess(request, user.getLogin(), Source.local(BASIC_TOKEN)); }
@Test public void return_user_info() { OrganizationDto organization = db.organizations().insert(); db.users().insertDefaultGroup(organization, "default"); UserDto user = db.users().insertUser(u -> u.setEmail("john@smith.com")); AddMemberWsResponse result = call(organization.getKey(), user.getLogin()); assertThat(result.getUser().getLogin()).isEqualTo(user.getLogin()); assertThat(result.getUser().getName()).isEqualTo(user.getName()); assertThat(result.getUser().getAvatar()).isEqualTo("b0d8c6e5ea589e6fc3d3e08afb1873bb"); assertThat(result.getUser().getGroupCount()).isEqualTo(1); }