mapper(session).setRoot(login, root, system2.now());
}
- /**
- * Deactivate a user and drops all his preferences.
- * @return false if the user does not exist, true if the existing user has been deactivated
- */
- public boolean deactivateUserByLogin(DbSession dbSession, String login) {
- UserMapper mapper = mapper(dbSession);
- UserDto dto = mapper.selectUserByLogin(login);
- if (dto == null) {
- return false;
- }
-
- mapper.deactivateUser(dto.getId(), system2.now());
- dbSession.commit();
- return true;
+ public void deactivateUserById(DbSession dbSession, int userId) {
+ mapper(dbSession).deactivateUser(userId, system2.now());
}
@CheckForNull
import static org.junit.Assert.fail;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
-import static org.sonar.db.user.GroupMembershipQuery.IN;
-import static org.sonar.db.user.GroupMembershipQuery.builder;
import static org.sonar.db.user.GroupTesting.newGroupDto;
import static org.sonar.db.user.UserTesting.newUserDto;
public void deactivate_user() throws Exception {
UserDto user = newActiveUser();
insertUserGroup(user);
-
UserDto otherUser = newActiveUser();
-
session.commit();
- boolean deactivated = underTest.deactivateUserByLogin(session, user.getLogin());
- assertThat(deactivated).isTrue();
+ underTest.deactivateUserById(session, user.getId());
UserDto userReloaded = underTest.selectUserById(session, user.getId());
assertThat(userReloaded.isActive()).isFalse();
assertThat(userReloaded.getExternalIdentityProvider()).isNull();
assertThat(userReloaded.isRoot()).isFalse();
assertThat(userReloaded.getUpdatedAt()).isEqualTo(NOW);
-
assertThat(underTest.selectUserById(session, otherUser.getId())).isNotNull();
-
- assertThat(dbClient.groupMembershipDao().countGroups(session, builder().organizationUuid(db.getDefaultOrganization().getUuid()).membership(IN).build(), user.getId())).isZero();
}
@Test
- public void deactivate_missing_user() {
- String login = "does_not_exist";
- boolean deactivated = underTest.deactivateUserByLogin(session, login);
- assertThat(deactivated).isFalse();
- assertThat(underTest.selectActiveUserByLogin(session, login)).isNull();
+ public void does_not_fail_to_deactivate_missing_user() {
+ underTest.deactivateUserById(session, 123);
}
@Test
dbClient.userPermissionDao().deleteByUserId(dbSession, user.getId());
dbClient.propertiesDao().deleteByKeyAndValue(dbSession, DEFAULT_ISSUE_ASSIGNEE, user.getLogin());
dbClient.organizationMemberDao().deleteByUserId(dbSession, user.getId());
- dbClient.userDao().deactivateUserByLogin(dbSession, login);
+ dbClient.userDao().deactivateUserById(dbSession, user.getId());
dbSession.commit();
}
public void reactivate_user() throws Exception {
logInAsSystemAdministrator();
- UserDto userDto = newUserDto("john", "John", "john@email.com");
- db.users().insertUser(userDto);
- db.getDbClient().userDao().deactivateUserByLogin(db.getSession(), "john");
- db.commit();
- userIndexer.index(userDto.getLogin());
+ db.users().insertUser(newUserDto("john", "John", "john@email.com").setActive(false));
+ userIndexer.index("john");
call(CreateRequest.builder()
.setLogin("john")