use of eu.bcvsolutions.idm.core.notification.api.dto.IdmNotificationTemplateDto in project CzechIdMng by bcvsolutions.
the class DefaultNotificationServiceIntegrationTest method testEmailFilterBySent.
@Test
@Transactional
public void testEmailFilterBySent() {
IdmIdentityDto identity = identityService.getByUsername(InitTestData.TEST_USER_1);
IdmNotificationFilter filter = new IdmNotificationFilter();
//
// create templates
IdmNotificationTemplateDto template = createTestTemplate("Idm notification", "subject");
//
emailService.send(new IdmMessageDto.Builder().setTemplate(template).build(), identity);
filter.setSent(true);
assertEquals(0, emailLogService.find(filter, null).getTotalElements());
emailService.send(new IdmMessageDto.Builder().setTemplate(template).build(), identity);
filter.setSent(false);
assertEquals(2, emailLogService.find(filter, null).getTotalElements());
}
use of eu.bcvsolutions.idm.core.notification.api.dto.IdmNotificationTemplateDto in project CzechIdMng by bcvsolutions.
the class DefaultNotificationServiceIntegrationTest method parentFilterText.
@Test
public void parentFilterText() {
IdmNotificationFilter filter = new IdmNotificationFilter();
IdmNotificationDto notification = new IdmNotificationDto();
IdmNotificationDto parentNotification = new IdmNotificationDto();
// prepare template and message
IdmNotificationTemplateDto template2 = createTestTemplate("TestTemplate5", "testSubject5");
IdmMessageDto message2 = new IdmMessageDto.Builder().setTemplate(template2).build();
// set parent
parentNotification.setMessage(message2);
IdmNotificationLogDto logDto = notificationManager.send(parentNotification);
notification.setParent(logDto.getMessage().getId());
//
// send message
IdmNotificationTemplateDto template = createTestTemplate("TestTemplate4", "testSubject4");
IdmMessageDto message = new IdmMessageDto.Builder().setTemplate(template).build();
notification.setMessage(message);
notificationManager.send(notification);
// set filter
filter.setParent(logDto.getId());
Page<IdmNotificationLogDto> result = notificationLogService.find(filter, null);
assertEquals("Wrong sender", logDto.getId(), result.getContent().get(0).getParent());
}
use of eu.bcvsolutions.idm.core.notification.api.dto.IdmNotificationTemplateDto in project CzechIdMng by bcvsolutions.
the class DefaultNotificationServiceIntegrationTest method createTestTemplate.
private IdmNotificationTemplateDto createTestTemplate(String body, String subject) {
// create templates
IdmNotificationTemplateDto template = new IdmNotificationTemplateDto();
template.setName("test_" + System.currentTimeMillis());
template.setBodyHtml(body);
template.setBodyText(body);
template.setCode(subject);
template.setSubject(subject);
return notificationTemplateService.save(template);
}
use of eu.bcvsolutions.idm.core.notification.api.dto.IdmNotificationTemplateDto in project CzechIdMng by bcvsolutions.
the class DefaultNotificationServiceIntegrationTest method sendTwoWildCardsWithOwnMessage.
@Test
public void sendTwoWildCardsWithOwnMessage() {
String topic = "testTopic-" + System.currentTimeMillis();
String textTemplate1 = "testMessageTemplate1-" + System.currentTimeMillis();
String textTemplate2 = "testMessageTemplate2-" + System.currentTimeMillis();
String textMessage = "testMessageText-" + System.currentTimeMillis();
//
IdmNotificationTemplateDto template1 = new IdmNotificationTemplateDto();
template1.setName(textTemplate1);
template1.setCode(textTemplate1);
template1.setBodyHtml(textTemplate1);
template1.setBodyText(textTemplate1);
template1.setSubject(textTemplate1);
template1 = notificationTemplateService.save(template1);
//
IdmNotificationTemplateDto template2 = new IdmNotificationTemplateDto();
template2.setName(textTemplate2);
template2.setCode(textTemplate2);
template2.setBodyHtml(textTemplate2);
template2.setBodyText(textTemplate2);
template2.setSubject(textTemplate2);
template2 = notificationTemplateService.save(template2);
//
IdmIdentityDto identity = helper.createIdentity();
// create config, for email, topic, template and without level = wildcard
NotificationConfigurationDto config1 = new NotificationConfigurationDto();
// topic
config1.setTopic(topic);
// template
config1.setTemplate(template1.getId());
// email
config1.setNotificationType(IdmEmailLog.NOTIFICATION_TYPE);
config1 = notificationConfigurationService.save(config1);
//
// create second config, for console, topic, template and without level = wildcard
NotificationConfigurationDto config = new NotificationConfigurationDto();
// same topic
config.setTopic(topic);
// different template
config.setTemplate(template2.getId());
// console
config.setNotificationType(IdmConsoleLog.NOTIFICATION_TYPE);
config = notificationConfigurationService.save(config);
//
List<IdmNotificationLogDto> notifications = notificationManager.send(topic, new IdmMessageDto.Builder().setLevel(// set level
NotificationLevel.SUCCESS).setHtmlMessage(textMessage).setTextMessage(textMessage).setSubject(textMessage).build(), identity);
//
assertEquals(2, notifications.size());
//
// bouth notifacations has same text
IdmNotificationLogDto notification1 = notifications.get(0);
IdmNotificationLogDto notification2 = notifications.get(1);
//
assertEquals(textMessage, notification1.getMessage().getHtmlMessage());
assertEquals(textMessage, notification1.getMessage().getSubject());
assertEquals(textMessage, notification1.getMessage().getTextMessage());
//
assertEquals(textMessage, notification2.getMessage().getHtmlMessage());
assertEquals(textMessage, notification2.getMessage().getSubject());
assertEquals(textMessage, notification2.getMessage().getTextMessage());
}
use of eu.bcvsolutions.idm.core.notification.api.dto.IdmNotificationTemplateDto in project CzechIdMng by bcvsolutions.
the class DefaultNotificationServiceIntegrationTest method senderFilterTest.
@Test
public void senderFilterTest() {
IdmIdentityDto sender = helper.createIdentity();
IdmNotificationFilter filter = new IdmNotificationFilter();
IdmNotificationDto notification = new IdmNotificationDto();
notification.setIdentitySender(sender.getId());
//
// create templates
IdmNotificationTemplateDto template = createTestTemplate("TestTemplate3", "testSubject3");
IdmMessageDto message = new IdmMessageDto.Builder().setTemplate(template).build();
notification.setMessage(message);
notificationManager.send(notification);
//
// filter text BODY
filter.setSender(sender.getUsername());
Page<IdmNotificationLogDto> result = notificationLogService.find(filter, null);
assertEquals("Wrong sender", sender.getId(), result.getContent().get(0).getIdentitySender());
}
Aggregations