@Test(timeout=10000) public void testTaskReminderWithoutNotification() throws Exception { CountDownTaskEventListener countDownListener = new CountDownTaskEventListener(1, false, true); addCountDownListner(countDownListener); Map<String, Object> vars = new HashMap<String, Object>(); vars.put("now", new Date()); Reader reader = new InputStreamReader(getClass().getResourceAsStream(MvelFilePath.ReminderWithoutNotification)); InternalTask task = (InternalTask) TaskFactory.evalTask(reader, vars); System.out.println("testTaskReminderWithoutNotification " + task.getTaskData().getStatus()); assertNull(task.getDeadlines()); long taskId = taskService.addTask(task, new HashMap<String, Object>()); taskService.executeReminderForTask(taskId, "Luke Cage"); countDownListener.waitTillCompleted(); assertEquals(1, wiser.getMessages().size()); String receiver = wiser.getMessages().get(0).getEnvelopeReceiver(); assertEquals("tony@domain.com", receiver); MimeMessage msg = ((WiserMessage) wiser.getMessages().get(0)).getMimeMessage(); assertEquals("You have a task ( Simple Test Task ) of process ( taskReminder )", msg.getSubject()); }
@Test(timeout=10000) public void testTaskReminderWithNotificationByTaskNostarted() throws Exception { CountDownTaskEventListener countDownListener = new CountDownTaskEventListener(1, false, true); addCountDownListner(countDownListener); Map<String, Object> vars = new HashMap<String, Object>(); vars.put("now", new Date()); Reader reader = new InputStreamReader(getClass().getResourceAsStream(MvelFilePath .ReminderWithNotificationReserved)); InternalTask task = (InternalTask) TaskFactory.evalTask(reader, vars); System.out.println("testTaskReminderWithNotificationByTaskNostarted " + task.getTaskData().getStatus()); assertEquals(1, task.getDeadlines().getEndDeadlines().size()); assertEquals(1, task.getDeadlines().getStartDeadlines().size()); long taskId = taskService.addTask(task, new HashMap<String, Object>()); taskService.executeReminderForTask(taskId, "Luke Cage"); countDownListener.waitTillCompleted(); assertEquals(2, wiser.getMessages().size()); final List<String> list = new ArrayList<String>(2); list.add(wiser.getMessages().get(0).getEnvelopeReceiver()); list.add(wiser.getMessages().get(1).getEnvelopeReceiver()); assertTrue(list.contains("tony@domain.com")); assertTrue(list.contains("darth@domain.com")); MimeMessage msg = ((WiserMessage) wiser.getMessages().get(0)).getMimeMessage(); assertEquals("ReminderWithNotificationReserved:you have new task to be started", msg.getSubject()); assertEquals("task is not started", msg.getContent()); msg = ((WiserMessage) wiser.getMessages().get(1)).getMimeMessage(); assertEquals("ReminderWithNotificationReserved:you have new task to be started", msg.getSubject()); assertEquals("task is not started", msg.getContent()); }
list.add(wiser.getMessages().get(0).getEnvelopeReceiver()); list.add(wiser.getMessages().get(1).getEnvelopeReceiver());
list.add(getWiser().getMessages().get(0).getEnvelopeReceiver()); list.add(getWiser().getMessages().get(1).getEnvelopeReceiver());
logger.info(msg.getEnvelopeReceiver()); list.add(getWiser().getMessages().get(0).getEnvelopeReceiver()); list.add(getWiser().getMessages().get(1).getEnvelopeReceiver());
protected void assertMessage(WiserMessage msg) throws MessagingException { Assert.assertEquals("foo@gmail.com", msg.getEnvelopeSender()); Assert.assertEquals("dst@gmail.com", msg.getEnvelopeReceiver()); Assert.assertEquals("Testing Subject", msg.getMimeMessage().getSubject()); }
@Deployment public void testSimpleTextMailMultipleRecipients() { runtimeService.startProcessInstanceByKey("simpleTextOnlyMultipleRecipients"); // 3 recipients == 3 emails in wiser with different receivers List<WiserMessage> messages = wiser.getMessages(); assertEquals(3, messages.size()); // sort recipients for easy assertion List<String> recipients = new ArrayList<String>(); for (WiserMessage message : messages) { recipients.add(message.getEnvelopeReceiver()); } Collections.sort(recipients); assertEquals("fozzie@camunda.org", recipients.get(0)); assertEquals("kermit@camunda.org", recipients.get(1)); assertEquals("mispiggy@camunda.org", recipients.get(2)); }
@Deployment public void testSimpleTextMailMultipleRecipients() { runtimeService.startProcessInstanceByKey("simpleTextOnlyMultipleRecipients"); // 3 recipients == 3 emails in wiser with different receivers List<WiserMessage> messages = wiser.getMessages(); assertEquals(3, messages.size()); // sort recipients for easy assertion List<String> recipients = new ArrayList<String>(); for (WiserMessage message : messages) { recipients.add(message.getEnvelopeReceiver()); } Collections.sort(recipients); assertEquals("fozzie@camunda.org", recipients.get(0)); assertEquals("kermit@camunda.org", recipients.get(1)); assertEquals("mispiggy@camunda.org", recipients.get(2)); }
@Override protected void execute(TestPluginLifeCycle lifeCycle, Wiser wiser) throws IOException, MessagingException, ExecutionException, InterruptedException { Shell shell = lifeCycle.createShell(); lifeCycle.bindClass("produce", Commands.ProduceValue.class); lifeCycle.bindClass("consume", Commands.ConsumeObject.class); Commands.list.clear(); BaseProcessContext process = BaseProcessContext.create(shell, "produce | mail send -s the_subject -b admin@gmail.com | consume").execute(); ShellResponse.Ok ok = assertInstance(ShellResponse.Ok.class, process.getResponse()); Assert.assertEquals(1, wiser.getMessages().size()); WiserMessage msg = wiser.getMessages().get(0); Assert.assertEquals("foo@gmail.com", msg.getEnvelopeSender()); Assert.assertEquals("admin@gmail.com", msg.getEnvelopeReceiver()); Assert.assertEquals("the_subject", msg.getMimeMessage().getSubject()); String data = new String(msg.getData()); String content = (String)msg.getMimeMessage().getContent(); assertTrue(content.contains("<value>abc</value>")); assertTrue(data.contains("Content-Type: text/html;charset=UTF-8")); System.out.println("data = " + data); assertEquals(Arrays.<Object>asList(new Value("abc")), Commands.list); } };
/** * Dumps the rough contents of the message for debugging purposes */ public void dumpMessage(PrintStream out) throws MessagingException { out.println("===== Dumping message ====="); out.println("Envelope sender: " + this.getEnvelopeSender()); out.println("Envelope recipient: " + this.getEnvelopeReceiver()); // It should all be convertible with ascii or utf8 String content = new String(this.getData(), Constants.SMTP_CHARSET); out.println(content); out.println("===== End message dump ====="); }
/** * Dumps the rough contents of the message for debugging purposes */ public void dumpMessage(PrintStream out) throws MessagingException { out.println("===== Dumping message ====="); out.println("Envelope sender: " + this.getEnvelopeSender()); out.println("Envelope recipient: " + this.getEnvelopeReceiver()); // It should all be convertible with ascii or utf8 String content = new String(this.getData()); out.println(content); out.println("===== End message dump ====="); }
/** * Dumps the rough contents of the message for debugging purposes */ public void dumpMessage(PrintStream out) throws MessagingException { out.println("===== Dumping message ====="); out.println("Envelope sender: " + this.getEnvelopeSender()); out.println("Envelope recipient: " + this.getEnvelopeReceiver()); // It should all be convertible with ascii or utf8 String content = new String(this.getData()); out.println(content); out.println("===== End message dump ====="); }
for (WiserMessage message : wiser.getMessages()) { String envelopeSender = message.getEnvelopeSender(); String envelopeReceiver = message.getEnvelopeReceiver(); MimeMessage mess = message.getMimeMessage(); // mail processing goes here }
@Then("^" + Phrases.SUBJECT + " should receive an email for (.+)$") public void userShouldReceiveEmail(String address) { boolean receivedExpectedMessage = false; String resolvedAddress = placeholderResolver.resolve(address); for (WiserMessage message : smtpServer.getMessages()) { if (message.getEnvelopeReceiver().equals(resolvedAddress)) { receivedExpectedMessage = true; } } assertTrue("Did not receive email for " + address, receivedExpectedMessage); }
@And("^the email for (.+) is stored as " + Phrases.PROPERTY_KEY + "$") public void storeReceivedEmail(String address, String propertyKey) throws Exception { String resolvedAddress = placeholderResolver.resolve(address); for (WiserMessage message : smtpServer.getMessages()) { if (message.getEnvelopeReceiver().equals(resolvedAddress)) { propertyStore.put(propertyKey, getCompleteContent(message.getMimeMessage())); return; } } fail("No message was found for " + address); }
@Then("^" + Phrases.SUBJECT + " should receive an email containing subject (.+) for (.+)$") public void userShouldReceiveEmailWithSubject(String subject, String address) { boolean receivedExpectedMessage = false; String resolvedAddress = placeholderResolver.resolve(address); String resolvedSubject = placeholderResolver.resolve(subject); for (WiserMessage message : smtpServer.getMessages()) { if (message.getEnvelopeReceiver().equals(resolvedAddress)) { try { if (message.getMimeMessage().getSubject().contains(resolvedSubject)) { receivedExpectedMessage = true; } } catch (MessagingException e) { } } } assertTrue("Did not receive email for " + resolvedAddress + " with subject containing " + resolvedSubject, receivedExpectedMessage); }
@And("^the email containing subject (.+) for (.+) is stored as " + Phrases.PROPERTY_KEY + "$") public void storeReceivedEmailWithSubject(String subject, String address, String propertyKey) throws Exception { String resolvedAddress = placeholderResolver.resolve(address); for (WiserMessage message : smtpServer.getMessages()) { if (message.getEnvelopeReceiver().equals(resolvedAddress) && message.getMimeMessage().getSubject().contains(subject)) { propertyStore.put(propertyKey, getCompleteContent(message.getMimeMessage())); return; } } fail("No message was found for " + address + " with subject " + subject); }
@Deployment public void testSimpleTextMailMultipleRecipients() { runtimeService.startProcessInstanceByKey("simpleTextOnlyMultipleRecipients"); // 3 recipients == 3 emails in wiser with different receivers List<WiserMessage> messages = wiser.getMessages(); assertEquals(3, messages.size()); // sort recipients for easy assertion List<String> recipients = new ArrayList<String>(); for (WiserMessage message : messages) { recipients.add(message.getEnvelopeReceiver()); } Collections.sort(recipients); assertEquals("fozzie@camunda.org", recipients.get(0)); assertEquals("kermit@camunda.org", recipients.get(1)); assertEquals("mispiggy@camunda.org", recipients.get(2)); }
@Deployment public void testSimpleTextMailMultipleRecipients() { runtimeService.startProcessInstanceByKey("simpleTextOnlyMultipleRecipients"); // 3 recipients == 3 emails in wiser with different receivers List<WiserMessage> messages = wiser.getMessages(); assertEquals(3, messages.size()); // sort recipients for easy assertion List<String> recipients = new ArrayList<String>(); for (WiserMessage message : messages) { recipients.add(message.getEnvelopeReceiver()); } Collections.sort(recipients); assertEquals("fozzie@camunda.org", recipients.get(0)); assertEquals("kermit@camunda.org", recipients.get(1)); assertEquals("mispiggy@camunda.org", recipients.get(2)); }
list.add( wiser.getMessages().get( i ).getEnvelopeReceiver() );