Search in sources :

Example 6 with EmailAddress

use of org.simbasecurity.core.domain.user.EmailAddress in project simba-os by cegeka.

the class ResetPasswordServiceTest method sendMessageForNewUser_WillTriggerAuditloggingForNewUser.

@Test
public void sendMessageForNewUser_WillTriggerAuditloggingForNewUser() throws Exception {
    EmailAddress email = emailFactory.email("something@mail.com");
    User user = aDefaultUser().withUserName("otherTest").withEmail(email).withLanguage(en_US).build();
    Token token = Token.generateToken();
    when(tokenManagerMock.generateToken(user, newUserReason)).thenReturn(token);
    URL link = new URL("http://www.google.com");
    List<URL> links = Collections.singletonList(link);
    when(linkGeneratorMock.generateResetPasswordLinks(email, token)).thenReturn(links);
    when(templateServiceMock.createMailBodyWithLink(new TemplateWithLinks(newUserReason.getTemplate(), links), en_US)).thenReturn("someBody");
    when(templateServiceMock.createMailSubject(newUserReason.getSubjectTemplate(), en_US)).thenReturn("New user");
    ArgumentCaptor<AuditLogEvent> logCaptor = ArgumentCaptor.forClass(AuditLogEvent.class);
    resetPasswordService.sendResetPasswordMessageTo(user, newUserReason);
    verify(mailServiceMock).sendMail(mail().from(emailFactory.email("bla@hotmail.com")).to(email).subject("New user").body("someBody"));
    verify(auditMock).log(logCaptor.capture());
    assertThat(logCaptor.getValue()).extracting(AuditLogEvent::getUsername, AuditLogEvent::getMessage, AuditLogEvent::getCategory).containsExactly("otherTest", "Email has been sent to user for following reason: NewUser", AUTHENTICATION);
}
Also used : AuditLogEvent(org.simbasecurity.core.audit.AuditLogEvent) UserTestBuilder.aDefaultUser(org.simbasecurity.core.domain.UserTestBuilder.aDefaultUser) User(org.simbasecurity.core.domain.User) Token(org.simbasecurity.core.domain.communication.token.Token) EmailAddress(org.simbasecurity.core.domain.user.EmailAddress) URL(java.net.URL) TemplateWithLinks(org.simbasecurity.core.service.communication.mail.template.TemplateWithLinks) Test(org.junit.Test)

Example 7 with EmailAddress

use of org.simbasecurity.core.domain.user.EmailAddress in project simba-os by cegeka.

the class UserDatabaseRepositoryTest method findUserByMail_WillReturnUser_IfPresentInDatabase.

@Test
public void findUserByMail_WillReturnUser_IfPresentInDatabase() throws Exception {
    EmailAddress email = emailFactory.email("alfred@wayneindustries.com");
    User expectedUser = aDefaultUser().withEmail(email).build();
    persistAndRefresh(expectedUser);
    User user = userDatabaseRepository.findByEmail(email);
    Assertions.assertThat(user).isEqualTo(expectedUser);
}
Also used : UserTestBuilder.aDefaultUser(org.simbasecurity.core.domain.UserTestBuilder.aDefaultUser) EmailAddress(org.simbasecurity.core.domain.user.EmailAddress) Test(org.junit.Test)

Example 8 with EmailAddress

use of org.simbasecurity.core.domain.user.EmailAddress in project simba-os by cegeka.

the class UserDatabaseRepositoryTest method findUserByMailCaseInsensitive_WillReturnUser_IfPresentInDatabase.

@Test
public void findUserByMailCaseInsensitive_WillReturnUser_IfPresentInDatabase() throws Exception {
    EmailAddress email = emailFactory.email("alfred@wayneindustries.com");
    EmailAddress otherEmail = emailFactory.email("Alfred@WayneIndustries.com");
    User expectedUser = aDefaultUser().withEmail(email).build();
    persistAndRefresh(expectedUser);
    User user = userDatabaseRepository.findByEmail(otherEmail);
    Assertions.assertThat(user).isEqualTo(expectedUser);
}
Also used : UserTestBuilder.aDefaultUser(org.simbasecurity.core.domain.UserTestBuilder.aDefaultUser) EmailAddress(org.simbasecurity.core.domain.user.EmailAddress) Test(org.junit.Test)

Example 9 with EmailAddress

use of org.simbasecurity.core.domain.user.EmailAddress in project simba-os by cegeka.

the class CredentialServiceImplTest method findUserByMail_NoUserFoundForGivenEmail_ReturnsEmptyOptional.

@Test
public void findUserByMail_NoUserFoundForGivenEmail_ReturnsEmptyOptional() throws Exception {
    EmailAddress email = emailFactory.email("bruce@wayneindustries.com");
    when(mockUserRepository.findByEmail(email)).thenReturn(null);
    Optional<User> maybeUser = credentialService.findUserByMail(email);
    assertThat(maybeUser).isEmpty();
}
Also used : User(org.simbasecurity.core.domain.User) UserTestBuilder.aUser(org.simbasecurity.core.domain.UserTestBuilder.aUser) EmailAddress(org.simbasecurity.core.domain.user.EmailAddress) Test(org.junit.Test)

Example 10 with EmailAddress

use of org.simbasecurity.core.domain.user.EmailAddress in project simba-os by cegeka.

the class UserDatabaseRepositoryTest method findUserByMail_WillReturnUser_IfPresentInDatabase_AndActiveOrBlocked.

@Test
public void findUserByMail_WillReturnUser_IfPresentInDatabase_AndActiveOrBlocked() throws Exception {
    EmailAddress email = emailFactory.email("alfred@wayneindustries.com");
    User expectedUser = aDefaultUser().withEmail(email).withStatus(Status.ACTIVE).build();
    persistAndRefresh(expectedUser);
    User user = userDatabaseRepository.findByEmail(email);
    Assertions.assertThat(user).isEqualTo(expectedUser);
}
Also used : UserTestBuilder.aDefaultUser(org.simbasecurity.core.domain.UserTestBuilder.aDefaultUser) EmailAddress(org.simbasecurity.core.domain.user.EmailAddress) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)10 EmailAddress (org.simbasecurity.core.domain.user.EmailAddress)10 UserTestBuilder.aDefaultUser (org.simbasecurity.core.domain.UserTestBuilder.aDefaultUser)7 User (org.simbasecurity.core.domain.User)4 URL (java.net.URL)3 Token (org.simbasecurity.core.domain.communication.token.Token)3 AuditLogEvent (org.simbasecurity.core.audit.AuditLogEvent)2 UserTestBuilder.aUser (org.simbasecurity.core.domain.UserTestBuilder.aUser)2 TemplateWithLinks (org.simbasecurity.core.service.communication.mail.template.TemplateWithLinks)2 PASSWORD_RESET_TOKEN_URL (org.simbasecurity.core.config.SimbaConfigurationParameter.PASSWORD_RESET_TOKEN_URL)1 Token.generateToken (org.simbasecurity.core.domain.communication.token.Token.generateToken)1