use of eu.bcvsolutions.idm.core.notification.api.dto.IdmNotificationTemplateDto in project CzechIdMng by bcvsolutions.
the class DefaultIdmNotificationTemplateService method typeToDto.
/**
* Transform type to dto, if second parameter is null it will be created new
* dto.
*
* @param type
* @param template
* @return
*/
private IdmNotificationTemplateDto typeToDto(IdmNotificationTemplateType type, IdmNotificationTemplateDto template) {
if (template == null) {
template = new IdmNotificationTemplateDto();
}
//
if (type == null) {
return template;
}
// transform type to DTO
template.setCode(type.getCode());
template.setName(type.getName());
template.setBodyHtml(type.getBodyHtml());
template.setBodyText(type.getBodyText());
template.setModule(type.getModuleId());
template.setSubject(type.getSubject());
template.setUnmodifiable(type.isSystemTemplate());
template.setParameter(type.getParameter());
return template;
}
use of eu.bcvsolutions.idm.core.notification.api.dto.IdmNotificationTemplateDto in project CzechIdMng by bcvsolutions.
the class DefaultNotificationServiceIntegrationTest method sendWildCardsWithTemplateAndOwnText.
@Test
public void sendWildCardsWithTemplateAndOwnText() {
String topic = "testTopic-" + System.currentTimeMillis();
String textMessage = "testMessageText-" + 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);
//
// set all text into message
List<IdmNotificationLogDto> notifications = notificationManager.send(topic, new IdmMessageDto.Builder().setLevel(// set level
NotificationLevel.SUCCESS).setHtmlMessage(textMessage).setTextMessage(textMessage).setSubject(textMessage).build(), identity);
//
assertEquals(1, notifications.size());
//
IdmNotificationLogDto notification = notifications.get(0);
// topic has own template, but in message is set text
assertEquals(textMessage, notification.getMessage().getHtmlMessage());
assertEquals(textMessage, notification.getMessage().getSubject());
assertEquals(textMessage, notification.getMessage().getTextMessage());
}
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());
}
Aggregations