private void validateLogin(SettingData data) { try (DbSession dbSession = dbClient.openSession(false)) { List<UserDto> users = dbClient.userDao().selectByLogins(dbSession, data.values).stream().filter(UserDto::isActive).collect(Collectors.toList()); checkRequest(data.values.size() == users.size(), "Error when validating login setting with key '%s' and values [%s]. A value is not a valid login.", data.key, data.values.stream().collect(Collectors.joining(", "))); } } }
private UserDto getUser(DbSession dbSession, String userLogin) { return checkFound(dbClient.userDao().selectActiveUserByLogin(dbSession, userLogin), "User with login '%s' is not found'", userLogin); } }
private Optional<UserDto> selectUserFromUuid(String userUuid) { try (DbSession dbSession = dbClient.openSession(false)) { UserDto user = dbClient.userDao().selectByUuid(dbSession, userUuid); return Optional.ofNullable(user != null && user.isActive() ? user : null); } }
public UserDto getUser(DbSession dbSession, OrganizationDto organization, String login) { UserDto user = dbClient.userDao().selectActiveUserByLogin(dbSession, login); checkFound(user, "User with login '%s' is not found'", login); checkMembership(dbSession, organization, user); return user; }
public void delete(DbSession dbSession, ComponentDto project) { checkArgument(!hasNotProjectScope(project) && !isNotDeletable(project) && project.getMainBranchProjectUuid() == null, "Only projects can be deleted"); dbClient.purgeDao().deleteProject(dbSession, project.uuid()); dbClient.userDao().cleanHomepage(dbSession, project); projectIndexers.commitAndIndex(dbSession, singletonList(project), PROJECT_DELETION); }
private UserDto selectUser(String userLogin) { UserDto userDto = db.getDbClient().userDao().selectByLogin(db.getSession(), userLogin); assertThat(userDto).isNotNull(); return userDto; }
private UserDto insertUser(UserDto userDto) { dbClient.userDao().insert(dbSession, userDto); dbSession.commit(); return userDto; } }
private UserDto saveUser(DbSession dbSession, UserDto userDto) { userDto.setActive(true); UserDto res = dbClient.userDao().insert(dbSession, userDto); boolean isOrganizationEnabled = organizationFlags.isEnabled(dbSession); if (isOrganizationEnabled) { setNotificationsReadDate(dbSession, userDto); } else { addUserToDefaultOrganizationAndDefaultGroup(dbSession, userDto); } organizationUpdater.createForUser(dbSession, userDto); return res; }
private UserDto insertUser(UserDto userDto) { db.getDbClient().userDao().insert(session, userDto); session.commit(); return userDto; }
private void deleteOrganization(DbSession dbSession, OrganizationDto organization) { Collection<String> uuids = dbClient.organizationMemberDao().selectUserUuidsByOrganizationUuid(dbSession, organization.getUuid()); dbClient.organizationMemberDao().deleteByOrganizationUuid(dbSession, organization.getUuid()); dbClient.organizationDao().deleteByUuid(dbSession, organization.getUuid()); dbClient.userDao().cleanHomepage(dbSession, organization); dbClient.webhookDao().selectByOrganizationUuid(dbSession, organization.getUuid()) .forEach(wh -> dbClient.webhookDeliveryDao().deleteByWebhook(dbSession, wh)); dbClient.webhookDao().deleteByOrganization(dbSession, organization); List<UserDto> users = dbClient.userDao().selectByUuids(dbSession, uuids); userIndexer.commitAndIndex(dbSession, users); }
@Test public void update_scm_account_having_coma() { createUser(); ws.newRequest() .setParam("login", "john") .setMultiParam("scmAccount", singletonList("jon,snow")) .execute(); UserDto user = dbClient.userDao().selectByLogin(dbSession, "john"); assertThat(user.getScmAccountsAsList()).containsOnly("jon,snow"); }
@Test public void update_scm_account_ignores_duplicates() { createUser(); ws.newRequest() .setParam("login", "john") .setMultiParam("scmAccount", Arrays.asList("jon.snow", "jon.snow", "jon.jon", "jon.snow")) .execute(); UserDto user = dbClient.userDao().selectByLogin(dbSession, "john"); assertThat(user.getScmAccountsAsList()).containsExactlyInAnyOrder("jon.jon", "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 update_only_scm_accounts_with_deprecated_scmAccounts_parameter() { createUser(); ws.newRequest() .setParam("login", "john") .setParam("scmAccounts", "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 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 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); }
@Test public void does_not_delete_user_settings() { UserDto user = dbClient.userDao().insert(dbSession, UserTesting.newUserDto()); propertyDb.insertProperties(newUserPropertyDto("foo", "one", user)); propertyDb.insertProperties(newGlobalPropertyDto().setKey("foo").setValue("one")); underTest.deleteGlobalSettings(dbSession, "foo"); assertUserPropertyExists("foo", user); }