use of eu.bcvsolutions.idm.core.notification.api.dto.IdmNotificationTemplateDto in project CzechIdMng by bcvsolutions.
the class DefaultNotificationServiceIntegrationTest method testFilterByDate.
@Test
@Transactional
public void testFilterByDate() {
assertEquals(0, idmNotificationRepository.count());
IdmNotificationTemplateDto template = createTestTemplate("Idm notification", "subject");
IdmIdentityDto identity = identityService.getByUsername(InitTestData.TEST_USER_1);
DateTime from = new DateTime().minusDays(1);
DateTime till = new DateTime().minusDays(1);
notificationManager.send(TOPIC, new IdmMessageDto.Builder().setTemplate(template).build(), identity);
notificationManager.send(TOPIC, new IdmMessageDto.Builder().setTemplate(template).build(), identity);
IdmNotificationFilter filter = new IdmNotificationFilter();
filter.setNotificationType(IdmNotificationLog.class);
assertEquals(2, notificationLogService.find(filter, null).getTotalElements());
filter.setFrom(from);
assertEquals(2, notificationLogService.find(filter, null).getTotalElements());
filter.setFrom(null);
filter.setTill(till);
assertEquals(0, notificationLogService.find(filter, null).getTotalElements());
}
use of eu.bcvsolutions.idm.core.notification.api.dto.IdmNotificationTemplateDto in project CzechIdMng by bcvsolutions.
the class DefaultNotificationServiceIntegrationTest method testEmailFilterBySender.
@Test
@Transactional
public void testEmailFilterBySender() {
// create templates
IdmNotificationTemplateDto template = createTestTemplate("Idm notification", "subject");
IdmNotificationFilter filter = new IdmNotificationFilter();
filter.setSender(InitTestData.TEST_USER_2);
assertEquals(0, emailLogService.find(filter, null).getTotalElements());
filter.setSender(InitTestData.TEST_USER_1);
assertEquals(0, emailLogService.find(filter, null).getTotalElements());
// send some email
IdmIdentityDto identity = identityService.getByUsername(InitTestData.TEST_USER_1);
IdmIdentityDto identity2 = identityService.getByUsername(InitTestData.TEST_USER_2);
emailService.send(TOPIC, new IdmMessageDto.Builder().setTemplate(template).build(), identity);
filter.setSender(null);
assertEquals(1, emailLogService.find(filter, null).getTotalElements());
filter.setSender(identity2.getUsername());
assertEquals(0, emailLogService.find(filter, null).getTotalElements());
filter.setSender(null);
filter.setRecipient(identity.getUsername());
assertEquals(1, emailLogService.find(filter, null).getTotalElements());
}
use of eu.bcvsolutions.idm.core.notification.api.dto.IdmNotificationTemplateDto in project CzechIdMng by bcvsolutions.
the class DefaultNotificationServiceIntegrationTest method sendWildCardsWithTemplateWithoutText.
@Test
public void sendWildCardsWithTemplateWithoutText() {
String topic = "testTopic-" + System.currentTimeMillis();
String textTemplate = "testMessageTemplate-" + System.currentTimeMillis();
//
IdmNotificationTemplateDto template = new IdmNotificationTemplateDto();
template.setName(textTemplate);
template.setCode(textTemplate);
template.setBodyHtml(textTemplate);
template.setBodyText(textTemplate);
template.setSubject(textTemplate);
template = notificationTemplateService.save(template);
//
IdmIdentityDto identity = helper.createIdentity();
// create config, for email, topic, template and without level = wildcard
NotificationConfigurationDto config = new NotificationConfigurationDto();
// topic
config.setTopic(topic);
// template
config.setTemplate(template.getId());
// email
config.setNotificationType(IdmEmailLog.NOTIFICATION_TYPE);
config = notificationConfigurationService.save(config);
//
List<IdmNotificationLogDto> notifications = notificationManager.send(topic, new IdmMessageDto.Builder().setLevel(// set level
NotificationLevel.SUCCESS).build(), identity);
//
assertEquals(1, notifications.size());
//
IdmNotificationLogDto notification = notifications.get(0);
// topic has own template and in message isnt set text
assertEquals(textTemplate, notification.getMessage().getHtmlMessage());
assertEquals(textTemplate, notification.getMessage().getSubject());
assertEquals(textTemplate, notification.getMessage().getTextMessage());
}
use of eu.bcvsolutions.idm.core.notification.api.dto.IdmNotificationTemplateDto in project CzechIdMng by bcvsolutions.
the class IdmMessageDtoUnitTest method testTemplateOveloadMessageAndSubject.
@Test
public void testTemplateOveloadMessageAndSubject() {
IdmNotificationTemplateDto template = new IdmNotificationTemplateDto();
template.setSubject("template");
template.setBodyText("template");
IdmMessageDto message = new IdmMessageDto.Builder().setTemplate(template).setMessage(PARAMETER_TEXT).setSubject(PARAMETER_SUBJECT).build();
//
Assert.assertEquals(PARAMETER_SUBJECT, message.getSubject());
Assert.assertEquals(PARAMETER_TEXT, message.getTextMessage());
Assert.assertEquals(PARAMETER_TEXT, message.getHtmlMessage());
}
use of eu.bcvsolutions.idm.core.notification.api.dto.IdmNotificationTemplateDto in project CzechIdMng by bcvsolutions.
the class IdmNotificationConfigurationFilterTest method testTemplateIdFilter.
@Test
public void testTemplateIdFilter() {
String text = "someText" + System.currentTimeMillis();
IdmNotificationTemplateDto templ = createTemplate("template " + System.currentTimeMillis(), "code", "testFilter");
NotificationConfigurationDto notification = createNotification(NotificationLevel.SUCCESS, CoreModuleDescriptor.MODULE_ID + ":test003", text, templ.getId());
IdmNotificationConfigurationFilter filter = new IdmNotificationConfigurationFilter();
filter.setTemplate(templ.getId());
filter.setNotificationType(text);
Page<NotificationConfigurationDto> result = idmNotificationConfService.find(filter, null);
assertEquals(1, result.getTotalElements());
assertEquals(notification.getId(), result.getContent().get(0).getId());
}
Aggregations