use of org.hisp.dhis.outboundmessage.BatchResponseStatus in project dhis2-core by dhis2.
the class ProgramNotificationServiceTest method testProgramAttributeRecipientWithEMAIL.
@Test
void testProgramAttributeRecipientWithEMAIL() {
when(programInstanceStore.get(anyLong())).thenReturn(programInstances.iterator().next());
when(programMessageService.sendMessages(anyList())).thenAnswer(invocation -> {
sentProgramMessages.addAll((List<ProgramMessage>) invocation.getArguments()[0]);
return new BatchResponseStatus(Collections.emptyList());
});
when(programNotificationRenderer.render(any(ProgramInstance.class), any(NotificationTemplate.class))).thenReturn(notificationMessage);
programNotificationTemplate.setNotificationRecipient(ProgramNotificationRecipient.PROGRAM_ATTRIBUTE);
programNotificationTemplate.setRecipientProgramAttribute(trackedEntityAttribute);
programNotificationTemplate.setDeliveryChannels(Sets.newHashSet(DeliveryChannel.EMAIL));
programNotificationService.sendEnrollmentNotifications(programInstances.iterator().next().getId());
assertEquals(1, sentProgramMessages.size());
ProgramMessage programMessage = sentProgramMessages.iterator().next();
assertTrue(programMessage.getRecipients().getEmailAddresses().contains(ATT_EMAIL));
assertTrue(programMessage.getDeliveryChannels().contains(DeliveryChannel.EMAIL));
assertEquals(programMessage.getNotificationTemplate(), notificationTemplate);
}
use of org.hisp.dhis.outboundmessage.BatchResponseStatus in project dhis2-core by dhis2.
the class DefaultDataSetNotificationService method sendProgramMessages.
private void sendProgramMessages(List<ProgramMessage> messages) {
if (messages.isEmpty()) {
return;
}
log.info(String.format("Dispatching %d ProgramMessages", messages.size()));
BatchResponseStatus status = externalMessageService.sendMessages(messages);
log.debug(String.format("Resulting status from ProgramMessageService:\n %s", status.toString()));
}
Aggregations