@Test public void countRootUsersButLogin_returns_count_of_all_active_roots_when_there_specified_login_does_not_exist() { insertRootUser(newUserDto()); insertNonRootUser(newUserDto()); insertRootUser(newUserDto()); insertRootUser(newUserDto()); insertInactiveRootUser(newUserDto()); insertInactiveRootUser(newUserDto()); session.commit(); assertThat(underTest.countRootUsersButLogin(session, "bla")).isEqualTo(3); }
private UserDto insertActiveUser() { return insertUser(true); }
@Test public void setRoot_has_no_effect_on_root_flag_of_inactive_user() { String nonRootInactiveUser = insertUser(false).getLogin(); commit(() -> underTest.setRoot(session, nonRootInactiveUser, true)); assertThat(underTest.selectByLogin(session, nonRootInactiveUser).isRoot()).isFalse(); // create inactive root user UserDto rootUser = insertActiveUser(); commit(() -> underTest.setRoot(session, rootUser.getLogin(), true)); rootUser.setActive(false); commit(() -> underTest.update(session, rootUser)); UserDto inactiveRootUser = underTest.selectByLogin(session, rootUser.getLogin()); assertThat(inactiveRootUser.isRoot()).isTrue(); assertThat(inactiveRootUser.isActive()).isFalse(); commit(() -> underTest.setRoot(session, inactiveRootUser.getLogin(), false)); assertThat(underTest.selectByLogin(session, inactiveRootUser.getLogin()).isRoot()).isTrue(); }
@Test public void countRootUsersButLogin_returns_0_when_there_is_no_active_root() { insertNonRootUser(newUserDto()); insertInactiveRootUser(newUserDto()); session.commit(); assertThat(underTest.countRootUsersButLogin(session, "bla")).isEqualTo(0); }
@Test public void deactivate_user() { UserDto user = insertActiveUser(); insertUserGroup(user); UserDto otherUser = insertActiveUser(); session.commit(); underTest.deactivateUser(session, user); UserDto userReloaded = underTest.selectUserById(session, user.getId()); assertThat(userReloaded.isActive()).isFalse(); assertThat(userReloaded.getLogin()).isNotNull(); assertThat(userReloaded.getExternalId()).isNotNull(); assertThat(userReloaded.getExternalLogin()).isNotNull(); assertThat(userReloaded.getExternalIdentityProvider()).isNotNull(); assertThat(userReloaded.getEmail()).isNull(); assertThat(userReloaded.getScmAccounts()).isNull(); assertThat(userReloaded.getSalt()).isNull(); assertThat(userReloaded.getCryptedPassword()).isNull(); assertThat(userReloaded.isRoot()).isFalse(); assertThat(userReloaded.getUpdatedAt()).isEqualTo(NOW); assertThat(userReloaded.getHomepageType()).isNull(); assertThat(userReloaded.getHomepageParameter()).isNull(); assertThat(underTest.selectUserById(session, otherUser.getId())).isNotNull(); }
@Test public void selectUsers_returns_both_only_root_or_only_non_root_depending_on_mustBeRoot_and_mustNotBeRoot_calls_on_query() { UserDto user1 = insertUser(true); UserDto root1 = insertRootUser(newUserDto()); UserDto user2 = insertUser(true); UserDto root2 = insertRootUser(newUserDto()); assertThat(underTest.selectUsers(session, UserQuery.builder().build())) .extracting(UserDto::getLogin) .containsOnly(user1.getLogin(), user2.getLogin(), root1.getLogin(), root2.getLogin()); assertThat(underTest.selectUsers(session, UserQuery.builder().mustBeRoot().build())) .extracting(UserDto::getLogin) .containsOnly(root1.getLogin(), root2.getLogin()); assertThat(underTest.selectUsers(session, UserQuery.builder().mustNotBeRoot().build())) .extracting(UserDto::getLogin) .containsOnly(user1.getLogin(), user2.getLogin()); }
private UserDto insertInactiveRootUser(UserDto dto) { insertRootUser(dto); dto.setActive(false); underTest.update(session, dto); session.commit(); return dto; }
@Test public void countRootUsersButLogin_returns_count_of_all_active_roots_when_specified_login_is_inactive_root() { insertRootUser(newUserDto()); insertNonRootUser(newUserDto()); insertRootUser(newUserDto()); insertRootUser(newUserDto()); String inactiveRootLogin = insertInactiveRootUser(newUserDto()).getLogin(); insertInactiveRootUser(newUserDto()); session.commit(); assertThat(underTest.countRootUsersButLogin(session, inactiveRootLogin)).isEqualTo(3); }
@Test public void scrollByUuids_scrolls_by_pages_of_1000_uuids() { List<String> uuids = new ArrayList<>(); for (int i = 0; i < DatabaseUtils.PARTITION_SIZE_FOR_ORACLE + 10; i++) { uuids.add(insertUser(true).getUuid()); } List<UserDto> result = new ArrayList<>(); underTest.scrollByUuids(db.getSession(), uuids, result::add); assertThat(result) .extracting(UserDto::getUuid) .containsExactlyInAnyOrder(uuids.toArray(new String[0])); }
@Test public void countRootUsersButLogin_returns_count_of_all_active_roots_when_specified_login_is_not_root() { insertRootUser(newUserDto()); String login = insertNonRootUser(newUserDto()).getLogin(); insertRootUser(newUserDto()); insertRootUser(newUserDto()); insertInactiveRootUser(newUserDto()); insertInactiveRootUser(newUserDto()); session.commit(); assertThat(underTest.countRootUsersButLogin(session, login)).isEqualTo(3); }
@Test public void scrollByLUuids() { UserDto u1 = insertUser(true); UserDto u2 = insertUser(false); UserDto u3 = insertUser(false); List<UserDto> result = new ArrayList<>(); underTest.scrollByUuids(db.getSession(), asList(u2.getUuid(), u3.getUuid(), "does not exist"), result::add); assertThat(result).extracting(UserDto::getUuid, UserDto::getName) .containsExactlyInAnyOrder(tuple(u2.getUuid(), u2.getName()), tuple(u3.getUuid(), u3.getName())); }
@Test public void countRootUsersButLogin_returns_count_of_all_active_roots_minus_one_when_specified_login_is_active_root() { insertRootUser(newUserDto()); insertNonRootUser(newUserDto()); insertRootUser(newUserDto()); String rootLogin = insertRootUser(newUserDto()).getLogin(); insertInactiveRootUser(newUserDto()); insertInactiveRootUser(newUserDto()); session.commit(); assertThat(underTest.countRootUsersButLogin(session, rootLogin)).isEqualTo(2); }
@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())); }