Search in sources :

Example 1 with User

use of de.tum.in.www1.artemis.domain.User in project ArTEMiS by ls1intum.

the class UserServiceIntTest method assertThatUserCanResetPassword.

@Test
@Transactional
public void assertThatUserCanResetPassword() {
    String oldPassword = user.getPassword();
    Instant daysAgo = Instant.now().minus(2, ChronoUnit.HOURS);
    String resetKey = RandomUtil.generateResetKey();
    user.setActivated(true);
    user.setResetDate(daysAgo);
    user.setResetKey(resetKey);
    userRepository.saveAndFlush(user);
    Optional<User> maybeUser = userService.completePasswordReset("johndoe2", user.getResetKey());
    assertThat(maybeUser).isPresent();
    assertThat(maybeUser.orElse(null).getResetDate()).isNull();
    assertThat(maybeUser.orElse(null).getResetKey()).isNull();
    assertThat(maybeUser.orElse(null).getPassword()).isNotEqualTo(oldPassword);
    userRepository.delete(user);
}
Also used : User(de.tum.in.www1.artemis.domain.User) Instant(java.time.Instant) Test(org.junit.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest) Transactional(org.springframework.transaction.annotation.Transactional)

Example 2 with User

use of de.tum.in.www1.artemis.domain.User in project ArTEMiS by ls1intum.

the class UserServiceIntTest method testFindNotActivatedUsersByCreationDateBefore.

@Test
@Transactional
public void testFindNotActivatedUsersByCreationDateBefore() {
    Instant now = Instant.now();
    user.setActivated(false);
    User dbUser = userRepository.saveAndFlush(user);
    dbUser.setCreatedDate(now.minus(4, ChronoUnit.DAYS));
    userRepository.saveAndFlush(user);
    List<User> users = userRepository.findAllByActivatedIsFalseAndCreatedDateBefore(now.minus(3, ChronoUnit.DAYS));
    assertThat(users).isNotEmpty();
    userService.removeNotActivatedUsers();
    users = userRepository.findAllByActivatedIsFalseAndCreatedDateBefore(now.minus(3, ChronoUnit.DAYS));
    assertThat(users).isEmpty();
}
Also used : User(de.tum.in.www1.artemis.domain.User) Instant(java.time.Instant) Test(org.junit.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest) Transactional(org.springframework.transaction.annotation.Transactional)

Example 3 with User

use of de.tum.in.www1.artemis.domain.User in project ArTEMiS by ls1intum.

the class UserServiceIntTest method assertThatAnonymousUserIsNotGet.

@Test
@Transactional
public void assertThatAnonymousUserIsNotGet() {
    user.setLogin(Constants.ANONYMOUS_USER);
    if (!userRepository.findOneByLogin(Constants.ANONYMOUS_USER).isPresent()) {
        userRepository.saveAndFlush(user);
    }
    final PageRequest pageable = new PageRequest(0, (int) userRepository.count());
    final Page<User> allUsers = userRepository.findAll(pageable);
    assertThat(allUsers.getContent().stream().noneMatch(user -> Constants.ANONYMOUS_USER.equals(user.getLogin()))).isTrue();
}
Also used : PageRequest(org.springframework.data.domain.PageRequest) User(de.tum.in.www1.artemis.domain.User) Test(org.junit.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest) Transactional(org.springframework.transaction.annotation.Transactional)

Example 4 with User

use of de.tum.in.www1.artemis.domain.User in project ArTEMiS by ls1intum.

the class AccountResourceIntTest method testRegisterAdminIsIgnored.

@Test
@Transactional
public void testRegisterAdminIsIgnored() throws Exception {
    ManagedUserVM validUser = new ManagedUserVM(// id
    null, // login
    "badguy", // password
    "password", // firstName
    "Bad", // lastName
    "Guy", // email
    "badguy@example.com", // activated
    true, // imageUrl
    "http://placehold.it/50x50", // langKey
    Constants.DEFAULT_LANGUAGE, // createdBy
    null, // createdDate
    null, // lastModifiedBy
    null, // lastModifiedDate
    null, new HashSet<>(Collections.singletonList(AuthoritiesConstants.ADMIN)), new ArrayList<String>());
    restMvc.perform(post("/api/register").contentType(TestUtil.APPLICATION_JSON_UTF8).content(TestUtil.convertObjectToJsonBytes(validUser))).andExpect(status().isCreated());
    Optional<User> userDup = userRepository.findOneByLogin("badguy");
    assertThat(userDup.isPresent()).isTrue();
    assertThat(userDup.get().getAuthorities()).hasSize(1).containsExactly(authorityRepository.findOne(AuthoritiesConstants.USER));
}
Also used : User(de.tum.in.www1.artemis.domain.User) WithMockUser(org.springframework.security.test.context.support.WithMockUser) ManagedUserVM(de.tum.in.www1.artemis.web.rest.vm.ManagedUserVM) Test(org.junit.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest) Transactional(org.springframework.transaction.annotation.Transactional)

Example 5 with User

use of de.tum.in.www1.artemis.domain.User in project ArTEMiS by ls1intum.

the class AccountResourceIntTest method testRegisterValid.

@Test
@Transactional
public void testRegisterValid() throws Exception {
    ManagedUserVM validUser = new ManagedUserVM(// id
    null, // login
    "joe", // password
    "password", // firstName
    "Joe", // lastName
    "Shmoe", // email
    "joe@example.com", // activated
    true, // imageUrl
    "http://placehold.it/50x50", // langKey
    Constants.DEFAULT_LANGUAGE, // createdBy
    null, // createdDate
    null, // lastModifiedBy
    null, // lastModifiedDate
    null, new HashSet<>(Collections.singletonList(AuthoritiesConstants.USER)), new ArrayList<String>());
    restMvc.perform(post("/api/register").contentType(TestUtil.APPLICATION_JSON_UTF8).content(TestUtil.convertObjectToJsonBytes(validUser))).andExpect(status().isCreated());
    Optional<User> user = userRepository.findOneByLogin("joe");
    assertThat(user.isPresent()).isTrue();
}
Also used : User(de.tum.in.www1.artemis.domain.User) WithMockUser(org.springframework.security.test.context.support.WithMockUser) ManagedUserVM(de.tum.in.www1.artemis.web.rest.vm.ManagedUserVM) Test(org.junit.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest) Transactional(org.springframework.transaction.annotation.Transactional)

Aggregations

User (de.tum.in.www1.artemis.domain.User)69 Test (org.junit.Test)53 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)53 Transactional (org.springframework.transaction.annotation.Transactional)48 WithMockUser (org.springframework.security.test.context.support.WithMockUser)24 ManagedUserVM (de.tum.in.www1.artemis.web.rest.vm.ManagedUserVM)16 Timed (com.codahale.metrics.annotation.Timed)15 HashSet (java.util.HashSet)11 PreAuthorize (org.springframework.security.access.prepost.PreAuthorize)10 Authority (de.tum.in.www1.artemis.domain.Authority)8 PersistentAuditEvent (de.tum.in.www1.artemis.domain.PersistentAuditEvent)8 HashMap (java.util.HashMap)8 PersistentToken (de.tum.in.www1.artemis.domain.PersistentToken)7 URI (java.net.URI)7 RestTemplate (org.springframework.web.client.RestTemplate)7 Course (de.tum.in.www1.artemis.domain.Course)6 ProgrammingExercise (de.tum.in.www1.artemis.domain.ProgrammingExercise)6 UserDTO (de.tum.in.www1.artemis.service.dto.UserDTO)6 Logger (org.slf4j.Logger)6 LoggerFactory (org.slf4j.LoggerFactory)6