use of eu.bcvsolutions.idm.core.notification.api.dto.IdmNotificationTemplateDto in project CzechIdMng by bcvsolutions.
the class DefaultNotificationServiceIntegrationTest method textFilterTest.
@Test
public void textFilterTest() {
IdmIdentityDto identity = helper.createIdentity();
IdmNotificationFilter filter = new IdmNotificationFilter();
//
// create templates
IdmNotificationTemplateDto template = createTestTemplate("TestTemplate1", "testSubject");
IdmNotificationTemplateDto template2 = createTestTemplate("TestTemplate2", "testSubject2");
//
emailService.send(new IdmMessageDto.Builder().setTemplate(template).build(), identity);
emailService.send(new IdmMessageDto.Builder().setTemplate(template2).build(), identity);
// filter text BODY
filter.setText(template.getBodyText());
Page<IdmNotificationLogDto> result = notificationLogService.find(filter, null);
assertEquals("Wrong text message body", 1, result.getTotalElements());
// filter text HTML
filter.setText(template2.getBodyHtml());
result = notificationLogService.find(filter, null);
assertEquals("Wrong text message html", 1, result.getTotalElements());
// filter text subject
filter.setText(template.getSubject());
result = notificationLogService.find(filter, null);
assertEquals("Wrong text message html", 2, result.getTotalElements());
}
use of eu.bcvsolutions.idm.core.notification.api.dto.IdmNotificationTemplateDto in project CzechIdMng by bcvsolutions.
the class DefaultNotificationServiceIntegrationTest method sendTwoWildCardsWithDifferentTemplate.
@Test
public void sendTwoWildCardsWithDifferentTemplate() {
String topic = "testTopic-" + System.currentTimeMillis();
String textTemplate1 = "testMessageTemplate1-" + System.currentTimeMillis();
String textTemplate2 = "testMessageTemplate2-" + 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).build(), identity);
//
assertEquals(2, notifications.size());
//
//
int orderConsole = 0;
int orderEmail = 1;
// we didn't know order
if (!notifications.get(0).getMessage().getHtmlMessage().equals(textTemplate2)) {
// email first
orderConsole = 1;
orderEmail = 0;
}
//
// Notification has different text
IdmNotificationLogDto notificationConsole = notifications.get(orderConsole);
assertEquals(textTemplate2, notificationConsole.getMessage().getHtmlMessage());
assertEquals(textTemplate2, notificationConsole.getMessage().getSubject());
assertEquals(textTemplate2, notificationConsole.getMessage().getTextMessage());
//
IdmNotificationLogDto notificationEmail = notifications.get(orderEmail);
assertEquals(textTemplate1, notificationEmail.getMessage().getHtmlMessage());
assertEquals(textTemplate1, notificationEmail.getMessage().getSubject());
assertEquals(textTemplate1, notificationEmail.getMessage().getTextMessage());
}
use of eu.bcvsolutions.idm.core.notification.api.dto.IdmNotificationTemplateDto in project CzechIdMng by bcvsolutions.
the class DefaultNotificationServiceIntegrationTest method stateFilterTest.
@Test
@Ignore
public void stateFilterTest() {
IdmIdentityDto identity1 = helper.createIdentity();
IdmIdentityDto identity2 = helper.createIdentity();
IdmIdentityDto identity3 = helper.createIdentity();
IdmIdentityDto identity4 = helper.createIdentity();
List<IdmIdentityDto> identities = Arrays.asList(identity1, identity2, identity3, identity4);
IdmNotificationTemplateDto template = createTestTemplate("TestTemplate6", "testSubject6");
IdmMessageDto message = new IdmMessageDto.Builder().setTemplate(template).build();
notificationManager.send(message, identities);
IdmNotificationFilter filter = new IdmNotificationFilter();
filter.setState(NotificationState.ALL);
Page<IdmNotificationLogDto> result = notificationLogService.find(filter, null);
assertEquals("Wrong state ALL", 1, result.getTotalElements());
filter.setState(NotificationState.NOT);
Page<IdmNotificationLogDto> result2 = notificationLogService.find(filter, null);
assertEquals("Wrong state NOT", 1, result2.getTotalElements());
filter.setState(NotificationState.PARTLY);
result = notificationLogService.find(filter, null);
assertEquals("Wrong state PARTLY", 0, result.getTotalElements());
}
use of eu.bcvsolutions.idm.core.notification.api.dto.IdmNotificationTemplateDto in project CzechIdMng by bcvsolutions.
the class DefaultNotificationServiceIntegrationTest method testSendWithWrongAttachments.
@Test
public void testSendWithWrongAttachments() {
NotificationConfigurationDto config = createConfig();
IdmNotificationTemplateDto template = createTestTemplate();
IdmIdentityDto identity = getHelper().createIdentity((GuardedString) null);
// attachment without content
IdmAttachmentDto attachment = attachmentManager.save(DefaultAttachmentManagerIntegrationTest.prepareDto());
//
List<IdmNotificationLogDto> notifications = notificationManager.send(config.getTopic(), new IdmMessageDto.Builder().setTemplate(template).build(), null, Lists.newArrayList(identity), Lists.newArrayList(attachment));
Assert.assertEquals(1, notifications.size());
Assert.assertTrue(notifications.stream().anyMatch(n -> n.getType().equals(IdmEmailLog.NOTIFICATION_TYPE)));
//
IdmNotificationLogDto notification = notifications.get(0);
Assert.assertEquals(NotificationState.NOT, notification.getState());
//
IdmNotificationAttachmentFilter notificationAttachmentFilter = new IdmNotificationAttachmentFilter();
notificationAttachmentFilter.setNotification(notification.getId());
List<IdmNotificationAttachmentDto> notificationAttachments = notificationAttachmentService.find(notificationAttachmentFilter, null).getContent();
Assert.assertEquals(1, notificationAttachments.size());
Assert.assertTrue(notificationAttachments.stream().allMatch(na -> na.getAttachment() != null));
Assert.assertTrue(notificationAttachments.stream().anyMatch(na -> na.getAttachment().equals(attachment.getId())));
//
notificationLogService.delete(notification);
}
use of eu.bcvsolutions.idm.core.notification.api.dto.IdmNotificationTemplateDto in project CzechIdMng by bcvsolutions.
the class DefaultNotificationServiceIntegrationTest method testTextFilterTest.
@Test
public void testTextFilterTest() {
IdmIdentityDto identity = getHelper().createIdentity((GuardedString) null);
IdmNotificationFilter filter = new IdmNotificationFilter();
//
// create templates
IdmNotificationTemplateDto template = createTestTemplate();
IdmNotificationTemplateDto template2 = createTestTemplate();
//
emailService.send(new IdmMessageDto.Builder().setTemplate(template).build(), identity);
emailService.send(new IdmMessageDto.Builder().setTemplate(template2).build(), identity);
// filter text BODY
filter.setText(template.getBodyText());
Page<IdmNotificationLogDto> result = notificationLogService.find(filter, null);
assertEquals("Wrong text message body", 1, result.getTotalElements());
// filter text HTML
filter.setText(template2.getBodyHtml());
result = notificationLogService.find(filter, null);
assertEquals("Wrong text message html", 1, result.getTotalElements());
// filter text subject
filter.setText(template2.getSubject());
result = notificationLogService.find(filter, null);
assertEquals("Wrong text message html", 1, result.getTotalElements());
}
Aggregations