private void verifyRootAndUpdatedAt(String login1, boolean root, long updatedAt) { UserDto userDto = underTest.selectByLogin(session, login1); assertThat(userDto.isRoot()).isEqualTo(root); assertThat(userDto.getUpdatedAt()).isEqualTo(updatedAt); }
UserDto getUser(DbSession dbSession, Request request) { String login = request.param(PARAM_LOGIN); login = login == null ? userSession.getLogin() : login; validate(userSession, login); UserDto user = dbClient.userDao().selectByLogin(dbSession, requireNonNull(login, "Login should not be null")); checkFound(user, "User with login '%s' doesn't exist", login); return user; }
@Test public void execute_has_no_effect_when_user_is_already_not_root() { UserDto otherUser = insertRootUser(newUserDto()); insertNonRootUser(newUserDto(SOME_LOGIN, "name", "email")); logInAsRoot(); executeRequest(SOME_LOGIN); assertThat(userDao.selectByLogin(dbSession, SOME_LOGIN).isRoot()).isFalse(); assertThat(userDao.selectByLogin(dbSession, otherUser.getLogin()).isRoot()).isTrue(); }
boolean canEdit(DbSession dbSession, OrganizationDto organization, QProfileDto profile) { if (profile.isBuiltIn() || !userSession.isLoggedIn()) { return false; } if (userSession.hasPermission(OrganizationPermission.ADMINISTER_QUALITY_PROFILES, organization)) { return true; } UserDto user = dbClient.userDao().selectByLogin(dbSession, userSession.getLogin()); checkState(user != null, "User from session does not exist"); return dbClient.qProfileEditUsersDao().exists(dbSession, profile, user) || dbClient.qProfileEditGroupsDao().exists(dbSession, profile, userSession.getGroups()); }
public void verify(String login, boolean root) { assertThat(db.getDbClient().userDao().selectByLogin(db.getSession(), login).isRoot()) .as("Root flag of user '%s' is '%s'", login, root) .isEqualTo(root); } }
@Test public void execute_makes_user_with_specified_login_not_root_when_it_is() { UserDto otherUser = insertRootUser(newUserDto()); insertRootUser(newUserDto(SOME_LOGIN, "name", "email")); logInAsRoot(); executeRequest(SOME_LOGIN); assertThat(userDao.selectByLogin(dbSession, SOME_LOGIN).isRoot()).isFalse(); assertThat(userDao.selectByLogin(dbSession, otherUser.getLogin()).isRoot()).isTrue(); }
@Test public void execute_has_no_effect_when_user_is_already_root() { UserDto otherUser = UserTesting.newUserDto(); userDao.insert(dbSession, otherUser); userDao.insert(dbSession, UserTesting.newUserDto(SOME_LOGIN, "name", "email")); userDao.setRoot(dbSession, SOME_LOGIN, true); dbSession.commit(); logInAsRoot(); executeRequest(SOME_LOGIN); assertThat(userDao.selectByLogin(dbSession, SOME_LOGIN).isRoot()).isTrue(); assertThat(userDao.selectByLogin(dbSession, otherUser.getLogin()).isRoot()).isFalse(); }
@Test public void remove_scm_accounts() { createUser(); ws.newRequest() .setParam("login", "john") .setMultiParam("scmAccount", singletonList("")) .execute(); UserDto userDto = dbClient.userDao().selectByLogin(dbSession, "john"); assertThat(userDto.getScmAccounts()).isNull(); }
@Test public void blank_email_is_updated_to_null() { createUser(); ws.newRequest() .setParam("login", "john") .setParam("email", "") .execute() .assertJson(getClass(), "blank_email_is_updated_to_null.json"); UserDto userDto = dbClient.userDao().selectByLogin(dbSession, "john"); assertThat(userDto.getEmail()).isNull(); }
@Test public void update_only_scm_accounts_with_deprecated_scm_accounts_parameter() { createUser(); ws.newRequest() .setParam("login", "john") .setParam("scm_accounts", "jon.snow") .execute() .assertJson(getClass(), "update_scm_accounts.json"); UserDto user = dbClient.userDao().selectByLogin(dbSession, "john"); assertThat(user.getScmAccountsAsList()).containsOnly("jon.snow"); }
@Test public void update_scm_accounts_with_same_values() { UserDto user = db.users().insertUser(newLocalUser(DEFAULT_LOGIN, "Marius", "marius@lesbronzes.fr") .setScmAccounts(asList("ma", "marius33"))); createDefaultGroup(); underTest.updateAndCommit(session, user, new UpdateUser() .setScmAccounts(asList("ma", "marius33")), u -> { }); UserDto dto = dbClient.userDao().selectByLogin(session, DEFAULT_LOGIN); assertThat(dto.getScmAccountsAsList()).containsOnly("ma", "marius33"); }
@Test public void create_user_generates_unique_login_when_login_is_empty() { createDefaultGroup(); UserDto user = underTest.createAndCommit(db.getSession(), NewUser.builder() .setLogin("") .setName("John Doe") .build(), u -> { }); UserDto dto = dbClient.userDao().selectByLogin(session, user.getLogin()); assertThat(dto.getLogin()).startsWith("john-doe"); assertThat(dto.getName()).isEqualTo("John Doe"); }
@Test public void create_onboarded_user_if_onboarding_setting_is_set_to_true() { settings.setProperty(ONBOARDING_TUTORIAL_SHOW_TO_NEW_USERS.getKey(), true); createDefaultGroup(); underTest.createAndCommit(db.getSession(), NewUser.builder() .setLogin("user") .setName("User") .build(), u -> { }); assertThat(dbClient.userDao().selectByLogin(session, "user").isOnboarded()).isFalse(); }
@Test public void remove_scm_accounts() { UserDto user = db.users().insertUser(newLocalUser(DEFAULT_LOGIN, "Marius", "marius@lesbronzes.fr") .setScmAccounts(asList("ma", "marius33"))); createDefaultGroup(); underTest.updateAndCommit(session, user, new UpdateUser() .setScmAccounts(null), u -> { }); UserDto dto = dbClient.userDao().selectByLogin(session, DEFAULT_LOGIN); assertThat(dto.getScmAccounts()).isNull(); }
@Test public void create_not_onboarded_user_if_onboarding_setting_is_set_to_false() { settings.setProperty(ONBOARDING_TUTORIAL_SHOW_TO_NEW_USERS.getKey(), false); createDefaultGroup(); underTest.createAndCommit(db.getSession(), NewUser.builder() .setLogin("user") .setName("User") .build(), u -> { }); assertThat(dbClient.userDao().selectByLogin(session, "user").isOnboarded()).isTrue(); }
@Test public void create_user_with_scm_accounts_containing_duplications() { createDefaultGroup(); underTest.createAndCommit(db.getSession(), NewUser.builder() .setLogin("user") .setName("User") .setPassword("password") .setScmAccounts(asList("u1", "u1")) .build(), u -> { }); assertThat(dbClient.userDao().selectByLogin(session, "user").getScmAccountsAsList()).containsOnly("u1"); }
@Test public void system_administrator_can_update_password_of_user() { userSessionRule.logIn().setSystemAdministrator(); createLocalUser(); String originalPassword = db.getDbClient().userDao().selectByLogin(db.getSession(), "john").getCryptedPassword(); tester.newRequest() .setParam("login", "john") .setParam("password", "Valar Morghulis") .execute(); String newPassword = db.getDbClient().userDao().selectByLogin(db.getSession(), "john").getCryptedPassword(); assertThat(newPassword).isNotEqualTo(originalPassword); }
public UserDto makeRoot(UserDto userDto) { dbClient.userDao().setRoot(db.getSession(), userDto.getLogin(), true); db.commit(); return dbClient.userDao().selectByLogin(db.getSession(), userDto.getLogin()); }
public UserDto makeNotRoot(UserDto userDto) { dbClient.userDao().setRoot(db.getSession(), userDto.getLogin(), false); db.commit(); return dbClient.userDao().selectByLogin(db.getSession(), userDto.getLogin()); }
@Test public void reactivate_onboarded_user_if_onboarding_setting_is_set_to_true() { settings.setProperty(ONBOARDING_TUTORIAL_SHOW_TO_NEW_USERS.getKey(), true); UserDto user = db.users().insertDisabledUser(u -> u.setOnboarded(true)); createDefaultGroup(); underTest.reactivateAndCommit(db.getSession(), user, NewUser.builder() .setLogin(user.getLogin()) .setName(user.getName()) .build(), u -> { }); assertThat(dbClient.userDao().selectByLogin(session, user.getLogin()).isOnboarded()).isFalse(); }