@Test public void shouldSendTestEmail() throws Exception { configure(); underTest.sendTestEmail("user@nowhere", "Test Message from SonarQube", "This is a test message from SonarQube."); List<WiserMessage> messages = smtpServer.getMessages(); assertThat(messages).hasSize(1); MimeMessage email = messages.get(0).getMimeMessage(); assertThat(email.getHeader("Content-Type", null)).isEqualTo("text/plain; charset=UTF-8"); assertThat(email.getHeader("From", ",")).isEqualTo("SonarQube from NoWhere <server@nowhere>"); assertThat(email.getHeader("To", null)).isEqualTo("<user@nowhere>"); assertThat(email.getHeader("Subject", null)).isEqualTo("[SONARQUBE] Test Message from SonarQube"); assertThat((String) email.getContent()).startsWith("This is a test message from SonarQube."); }
@Test public void shouldSendThreadedEmail() throws Exception { configure(); EmailMessage emailMessage = new EmailMessage() .setMessageId("reviews/view/1") .setFrom("Full Username") .setTo("user@nowhere") .setSubject("Review #3") .setMessage("I'll take care of this violation."); boolean delivered = underTest.deliver(emailMessage); List<WiserMessage> messages = smtpServer.getMessages(); assertThat(messages).hasSize(1); MimeMessage email = messages.get(0).getMimeMessage(); assertThat(email.getHeader("Content-Type", null)).isEqualTo("text/plain; charset=UTF-8"); assertThat(email.getHeader("In-Reply-To", null)).isEqualTo("<reviews/view/1@nemo.sonarsource.org>"); assertThat(email.getHeader("References", null)).isEqualTo("<reviews/view/1@nemo.sonarsource.org>"); assertThat(email.getHeader("List-ID", null)).isEqualTo("SonarQube <sonar.nemo.sonarsource.org>"); assertThat(email.getHeader("List-Archive", null)).isEqualTo("http://nemo.sonarsource.org"); assertThat(email.getHeader("From", ",")).isEqualTo("\"Full Username (SonarQube from NoWhere)\" <server@nowhere>"); assertThat(email.getHeader("To", null)).isEqualTo("<user@nowhere>"); assertThat(email.getHeader("Subject", null)).isEqualTo("[SONARQUBE] Review #3"); assertThat((String) email.getContent()).startsWith("I'll take care of this violation."); assertThat(delivered).isTrue(); }
@Test public void shouldSendNonThreadedEmail() throws Exception { configure(); EmailMessage emailMessage = new EmailMessage() .setTo("user@nowhere") .setSubject("Foo") .setMessage("Bar"); boolean delivered = underTest.deliver(emailMessage); List<WiserMessage> messages = smtpServer.getMessages(); assertThat(messages).hasSize(1); MimeMessage email = messages.get(0).getMimeMessage(); assertThat(email.getHeader("Content-Type", null)).isEqualTo("text/plain; charset=UTF-8"); assertThat(email.getHeader("In-Reply-To", null)).isNull(); assertThat(email.getHeader("References", null)).isNull(); assertThat(email.getHeader("List-ID", null)).isEqualTo("SonarQube <sonar.nemo.sonarsource.org>"); assertThat(email.getHeader("List-Archive", null)).isEqualTo("http://nemo.sonarsource.org"); assertThat(email.getHeader("From", null)).isEqualTo("SonarQube from NoWhere <server@nowhere>"); assertThat(email.getHeader("To", null)).isEqualTo("<user@nowhere>"); assertThat(email.getHeader("Subject", null)).isEqualTo("[SONARQUBE] Foo"); assertThat((String) email.getContent()).startsWith("Bar"); assertThat(delivered).isTrue(); }
@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()); }
assertTrue(list.contains("darth@domain.com")); MimeMessage msg = ((WiserMessage) wiser.getMessages().get(0)).getMimeMessage(); assertEquals("ReminderWithNotificationInProgress:you have new task to be completed", msg.getSubject()); assertEquals("task is not completed", msg.getContent()); msg = ((WiserMessage) wiser.getMessages().get(1)).getMimeMessage(); assertEquals("ReminderWithNotificationInProgress:you have new task to be completed", msg.getSubject());
assertTrue(list.contains("darth@domain.com")); MimeMessage msg = ((WiserMessage) getWiser().getMessages().get(0)).getMimeMessage(); assertEquals("'singleobject'", msg.getContent()); assertEquals("'singleobject'", msg.getSubject());
assertTrue(list.contains("darth@domain.com")); MimeMessage msg = ((WiserMessage) getWiser().getMessages().get(0)).getMimeMessage(); assertEquals(myBody, msg.getContent()); assertEquals(mySubject, msg.getSubject());
final MimeMessage mailMessage = wiserMessage.getMimeMessage(); EmailParserUtils.handleMessage(null, mailMessage, emailFragments);
final MimeMessage mailMessage = wiserMessage.getMimeMessage(); EmailParserUtils.handleMessage(null, mailMessage, emailFragments);
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()); }
@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); } };
@Deployment public void testSendEmail() throws Exception { String from = "ordershipping@activiti.org"; boolean male = true; String recipientName = "John Doe"; String recipient = "johndoe@alfresco.com"; Date now = new Date(); String orderId = "123456"; Map<String, Object> vars = new HashMap<String, Object>(); vars.put("sender", from); vars.put("recipient", recipient); vars.put("recipientName", recipientName); vars.put("male", male); vars.put("now", now); vars.put("orderId", orderId); runtimeService.startProcessInstanceByKey("sendMailExample", vars); List<WiserMessage> messages = wiser.getMessages(); assertEquals(1, messages.size()); WiserMessage message = messages.get(0); MimeMessage mimeMessage = message.getMimeMessage(); assertEquals("Your order " + orderId + " has been shipped", mimeMessage.getHeader("Subject", null)); assertEquals(from, mimeMessage.getHeader("From", null)); assertTrue(mimeMessage.getHeader("To", null).contains(recipient)); }
@Deployment public void testSendEmail() throws Exception { String from = "ordershipping@activiti.org"; boolean male = true; String recipientName = "John Doe"; String recipient = "johndoe@alfresco.com"; Date now = new Date(); String orderId = "123456"; Map<String, Object> vars = new HashMap<String, Object>(); vars.put("sender", from); vars.put("recipient", recipient); vars.put("recipientName", recipientName); vars.put("male", male); vars.put("now", now); vars.put("orderId", orderId); runtimeService.startProcessInstanceByKey("sendMailExample", vars); List<WiserMessage> messages = wiser.getMessages(); assertEquals(1, messages.size()); WiserMessage message = messages.get(0); MimeMessage mimeMessage = message.getMimeMessage(); assertEquals("Your order " + orderId + " has been shipped", mimeMessage.getHeader("Subject", null)); assertEquals(from, mimeMessage.getHeader("From", null)); assertTrue(mimeMessage.getHeader("To", null).contains(recipient)); }
public static void assertEmailSend(WiserMessage emailMessage, boolean htmlMail, String subject, String message, String from, List<String> to, List<String> cc) throws IOException { try { MimeMessage mimeMessage = emailMessage.getMimeMessage(); if (htmlMail) { assertTrue(mimeMessage.getContentType().contains("multipart/mixed")); } else { assertTrue(mimeMessage.getContentType().contains("text/plain")); } assertEquals(subject, mimeMessage.getHeader("Subject", null)); assertEquals(from, mimeMessage.getHeader("From", null)); assertTrue(getMessage(mimeMessage).contains(message)); for (String t : to) { assertTrue(mimeMessage.getHeader("To", null).contains(t)); } if (cc != null) { for (String c : cc) { assertTrue(mimeMessage.getHeader("Cc", null).contains(c)); } } } catch (MessagingException e) { fail(e.getMessage()); } }
private void assertEmailSend(WiserMessage emailMessage, boolean htmlMail, String subject, String message, String from, List<String> to, List<String> cc) throws IOException { try { MimeMessage mimeMessage = emailMessage.getMimeMessage(); if (htmlMail) { assertTrue(mimeMessage.getContentType().contains("multipart/mixed")); } else { assertTrue(mimeMessage.getContentType().contains("text/plain")); } assertEquals(subject, mimeMessage.getHeader("Subject", null)); assertEquals(from, mimeMessage.getHeader("From", null)); assertTrue(getMessage(mimeMessage).contains(message)); for (String t : to) { assertTrue(mimeMessage.getHeader("To", null).contains(t)); } if (cc != null) { for (String c : cc) { assertTrue(mimeMessage.getHeader("Cc", null).contains(c)); } } } catch (MessagingException e) { fail(e.getMessage()); } }
@Override public boolean apply(@Nullable WiserMessage input) { try { return Arrays.equals(recipients, input.getMimeMessage().getRecipients(type)); } catch (MessagingException e) { throwException(e, NOT_SAME_RECIPIENTS_SIZE); } return false; } }).orNull();
private void mailTestText(final String text) { MailMessage message = exampleMessage(); message.setText(text); testSuccess(mailClientLogin(), message, () -> { final MimeMessage mimeMessage = wiser.getMessages().get(0).getMimeMessage(); testContext.assertEquals(text, TestUtils.conv2nl(TestUtils.inputStreamToString(mimeMessage.getInputStream()))); }); }
@Test public void mailTestMissingNL(TestContext testContext) { this.testContext=testContext; MailMessage message = exampleMessage(); // the protocol adds a newline at the end if there isn't one message.setText("."); testSuccess(mailClientLogin(), message, () -> { final MimeMessage mimeMessage = wiser.getMessages().get(0).getMimeMessage(); testContext.assertEquals(".\n", TestUtils.conv2nl(TestUtils.inputStreamToString(mimeMessage.getInputStream()))); }); }
protected AdditionalAsserts assertExampleMessage() { return () -> { final WiserMessage message = wiser.getMessages().get(0); testContext.assertEquals("from@example.com", message.getEnvelopeSender()); final MimeMessage mimeMessage = message.getMimeMessage(); assertThat(mimeMessage.getContentType(), containsString("text/plain")); testContext.assertEquals("Subject", mimeMessage.getSubject()); testContext.assertEquals("Message\n", TestUtils.conv2nl(TestUtils.inputStreamToString(mimeMessage.getInputStream()))); }; }