@Test public void clean_user_homepage() { UserDto user = newUserDto().setHomepageType("RANDOM").setHomepageParameter("any-string"); underTest.insert(session, user); session.commit(); underTest.cleanHomepage(session, user); UserDto reloaded = underTest.selectUserById(session, user.getId()); assertThat(reloaded.getUpdatedAt()).isEqualTo(NOW); assertThat(reloaded.getHomepageType()).isNull(); assertThat(reloaded.getHomepageParameter()).isNull(); }
@Test public void clean_users_homepage_when_deleting_project() { UserDto userUnderTest = newUserDto().setHomepageType("PROJECT").setHomepageParameter("dummy-project-UUID"); underTest.insert(session, userUnderTest); UserDto untouchedUser = newUserDto().setHomepageType("PROJECT").setHomepageParameter("not-so-dummy-project-UUID"); underTest.insert(session, untouchedUser); session.commit(); underTest.cleanHomepage(session, new ComponentDto().setUuid("dummy-project-UUID")); UserDto userWithAHomepageReloaded = underTest.selectUserById(session, userUnderTest.getId()); assertThat(userWithAHomepageReloaded.getUpdatedAt()).isEqualTo(NOW); assertThat(userWithAHomepageReloaded.getHomepageType()).isNull(); assertThat(userWithAHomepageReloaded.getHomepageParameter()).isNull(); UserDto untouchedUserReloaded = underTest.selectUserById(session, untouchedUser.getId()); assertThat(untouchedUserReloaded.getUpdatedAt()).isEqualTo(untouchedUser.getUpdatedAt()); assertThat(untouchedUserReloaded.getHomepageType()).isEqualTo(untouchedUser.getHomepageType()); assertThat(untouchedUserReloaded.getHomepageParameter()).isEqualTo(untouchedUser.getHomepageParameter()); }
@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 clean_users_homepage_when_deleting_organization() { UserDto userUnderTest = newUserDto().setHomepageType("ORGANIZATION").setHomepageParameter("dummy-organization-UUID"); underTest.insert(session, userUnderTest); UserDto untouchedUser = newUserDto().setHomepageType("ORGANIZATION").setHomepageParameter("not-so-dummy-organization-UUID"); underTest.insert(session, untouchedUser); session.commit(); underTest.cleanHomepage(session, new OrganizationDto().setUuid("dummy-organization-UUID")); UserDto userWithAHomepageReloaded = underTest.selectUserById(session, userUnderTest.getId()); assertThat(userWithAHomepageReloaded.getUpdatedAt()).isEqualTo(NOW); assertThat(userWithAHomepageReloaded.getHomepageType()).isNull(); assertThat(userWithAHomepageReloaded.getHomepageParameter()).isNull(); UserDto untouchedUserReloaded = underTest.selectUserById(session, untouchedUser.getId()); assertThat(untouchedUserReloaded.getUpdatedAt()).isEqualTo(untouchedUser.getUpdatedAt()); assertThat(untouchedUserReloaded.getHomepageType()).isEqualTo(untouchedUser.getHomepageType()); assertThat(untouchedUserReloaded.getHomepageParameter()).isEqualTo(untouchedUser.getHomepageParameter()); }
@Test public void organization_deletion_also_ensure_that_homepage_on_project_belonging_to_this_organization_if_it_exists_is_cleared() { OrganizationDto organization = db.organizations().insert(); ComponentDto project = db.components().insertPrivateProject(organization); UserDto user = dbClient.userDao().insert(dbSession, newUserDto().setHomepageType("PROJECT").setHomepageParameter(project.uuid())); dbSession.commit(); userSession.logIn().addPermission(ADMINISTER, organization); wsTester.newRequest() .setParam(PARAM_ORGANIZATION, organization.getKey()) .execute(); UserDto userReloaded = dbClient.userDao().selectUserById(dbSession, user.getId()); assertThat(userReloaded.getHomepageType()).isNull(); assertThat(userReloaded.getHomepageParameter()).isNull(); verify(projectLifeCycleListeners).onProjectsDeleted(ImmutableSet.of(Project.from(project))); }
@Test public void organization_deletion_also_ensure_that_homepage_on_this_organization_if_it_exists_is_cleared() { OrganizationDto organization = db.organizations().insert(); UserDto user = dbClient.userDao().insert(dbSession, newUserDto().setHomepageType("ORGANIZATION").setHomepageParameter(organization.getUuid())); dbSession.commit(); userSession.logIn().addPermission(ADMINISTER, organization); wsTester.newRequest() .setParam(PARAM_ORGANIZATION, organization.getKey()) .execute(); UserDto userReloaded = dbClient.userDao().selectUserById(dbSession, user.getId()); assertThat(userReloaded.getHomepageType()).isNull(); assertThat(userReloaded.getHomepageParameter()).isNull(); }
@Test public void project_deletion_also_ensure_that_homepage_on_this_project_if_it_exists_is_cleared() throws Exception { ComponentDto project = componentDbTester.insertPrivateProject(); UserDto insert = dbClient.userDao().insert(dbSession, newUserDto().setHomepageType("PROJECT").setHomepageParameter(project.uuid())); dbSession.commit(); userSessionRule.logIn().addProjectPermission(ADMIN, project); new WsTester(new ProjectsWs( new DeleteAction( new ComponentCleanerService(dbClient, new ResourceTypesRule().setAllQualifiers(PROJECT), new TestProjectIndexers()), from(db), dbClient, userSessionRule, projectLifeCycleListeners))) .newPostRequest(CONTROLLER, ACTION) .setParam(PARAM_PROJECT, project.getDbKey()) .execute(); UserDto userReloaded = dbClient.userDao().selectUserById(dbSession, insert.getId()); assertThat(userReloaded.getHomepageType()).isNull(); assertThat(userReloaded.getHomepageParameter()).isNull(); }
public UserDto selectUserById(long userId) { try (DbSession session = mybatis.openSession(false)) { return selectUserById(session, userId); } }
@Override public User findById(int id) { try (DbSession dbSession = dbClient.openSession(false)) { return copy(dbClient.userDao().selectUserById(dbSession, id)); } }