protected String getDummyTransportMessageBody(String name, int index) { List<Message> messages = dummyTransport.getMessages("dummy:" + name); Message message = messages.get(index); return message.getBody(); }
private void logNotifyMessages(List<Message> messages) { for (Message message: messages) { LOGGER.debug("Notification message:\n{}", message.getBody()); } }
protected void assertSingleDummyTransportMessageContaining(String name, String expectedSubstring) { List<Message> messages = dummyTransport.getMessages("dummy:" + name); assertNotNull("No messages recorded in dummy transport '" + name + "'", messages); if (messages.size() != 1) { fail("Invalid number of messages recorded in dummy transport '" + name + "', expected: 1, actual: "+messages.size()); } Message message = messages.get(0); assertTrue("Notifier "+name+" message body does not contain text: " + expectedSubstring + ", it is:\n" + message.getBody(), message.getBody().contains(expectedSubstring)); }
protected void assertSingleDummyTransportMessage(String name, String expectedBody) { List<Message> messages = dummyTransport.getMessages("dummy:" + name); assertNotNull("No messages recorded in dummy transport '" + name + "'", messages); if (messages.size() != 1) { fail("Invalid number of messages recorded in dummy transport '" + name + "', expected: 1, actual: "+messages.size()); } Message message = messages.get(0); assertEquals("Unexpected notifier "+name+" message body", expectedBody, message.getBody()); }
protected void assertHasDummyTransportMessage(String name, String expectedBody) { List<Message> messages = dummyTransport.getMessages("dummy:" + name); assertNotNull("No messages recorded in dummy transport '" + name + "'", messages); for (Message message: messages) { if (expectedBody.equals(message.getBody())) { return; } } fail("Notifier "+name+" message body " + expectedBody + " not found"); }
protected ExpressionVariables getDefaultVariables(String from, List<String> to, Message message) throws UnsupportedEncodingException { ExpressionVariables variables = new ExpressionVariables(); variables.addVariableDefinition(SchemaConstants.C_FROM, from); variables.addVariableDefinition(SchemaConstants.C_ENCODED_FROM, URLEncoder.encode(from, "US-ASCII")); variables.addVariableDefinition(SchemaConstants.C_TO, to.get(0)); variables.addVariableDefinition(SchemaConstants.C_TO_LIST, to); List<String> encodedTo = new ArrayList<>(); for (String s : to) { encodedTo.add(URLEncoder.encode(s, "US-ASCII")); } variables.addVariableDefinition(SchemaConstants.C_ENCODED_TO, encodedTo.get(0)); variables.addVariableDefinition(SchemaConstants.C_ENCODED_TO_LIST, encodedTo); variables.addVariableDefinition(SchemaConstants.C_MESSAGE_TEXT, message.getBody()); variables.addVariableDefinition(SchemaConstants.C_ENCODED_MESSAGE_TEXT, URLEncoder.encode(message.getBody(), "US-ASCII")); variables.addVariableDefinition(SchemaConstants.C_MESSAGE, message); return variables; }
private void assertContains(Message notification, String text) { if (!notification.getBody().contains(text)) { fail("No '"+text+"' in "+notification); } }
messageBody.setContent(mailMessage.getBody(), contentType); Multipart multipart = new MimeMultipart(); multipart.addBodyPart(messageBody);
@Test public void test430NotificationAboutJackType2() throws Exception { final String TEST_NAME = "test430NotificationAboutJackType2"; TestUtil.displayTestTitle(this, TEST_NAME); // GIVEN Task task = createTask(DOT_CLASS + TEST_NAME); OperationResult result = task.getResult(); PrismProperty<ScriptingExpressionType> expression = parseAnyData(NOTIFICATION_ABOUT_JACK_TYPE2_FILE); prepareNotifications(); // WHEN ExecutionContext output = scriptingExpressionEvaluator.evaluateExpression(expression.getAnyValue().getValue(), task, result); // THEN dumpOutput(output, result); result.computeStatus(); TestUtil.assertSuccess(result); assertOutputData(output, 1, OperationResultStatus.SUCCESS); assertEquals("Produced 1 event(s)\n", output.getConsoleOutput()); display("Dummy transport", dummyTransport); checkDummyTransportMessages("Custom", 1); Message m = dummyTransport.getMessages("dummy:Custom").get(0); assertEquals("Wrong message body", "1", m.getBody()); assertEquals("Wrong message subject", "Ad hoc notification 2", m.getSubject()); checkDummyTransportMessages("CustomType2", 1); m = dummyTransport.getMessages("dummy:CustomType2").get(0); assertEquals("Wrong message body", "POV:user:c0c010c0-d34d-b33f-f00d-111111111111(jack)", m.getBody()); assertEquals("Wrong message subject", "Failure notification of type 2", m.getSubject()); }
@Test public void test420NotificationAboutJack() throws Exception { final String TEST_NAME = "test420NotificationAboutJack"; TestUtil.displayTestTitle(this, TEST_NAME); // GIVEN Task task = createTask(DOT_CLASS + TEST_NAME); OperationResult result = task.getResult(); PrismProperty<ScriptingExpressionType> expression = parseAnyData(NOTIFICATION_ABOUT_JACK_FILE); prepareNotifications(); // WHEN ExecutionContext output = scriptingExpressionEvaluator.evaluateExpression(expression.getAnyValue().getValue(), task, result); // THEN dumpOutput(output, result); result.computeStatus(); TestUtil.assertSuccess(result); assertOutputData(output, 1, OperationResultStatus.SUCCESS); assertEquals("Produced 1 event(s)\n", output.getConsoleOutput()); display("Dummy transport", dummyTransport); checkDummyTransportMessages("Custom", 1); Message m = dummyTransport.getMessages("dummy:Custom").get(0); assertEquals("Wrong message body", "jack/" + USER_JACK_OID, m.getBody()); assertEquals("Wrong message subject", "Ad hoc notification", m.getSubject()); }
Message pwdMessage = pwdMessages.get(0); // number of messages was already checked assertEquals("Invalid list of recipients", singletonList("recipient@evolveum.com"), pwdMessage.getTo()); assertEquals("Wrong message body", "Password for account jack on Dummy Resource is: deadmentellnotales", pwdMessage.getBody()); + " - Administrative status: ENABLED\n" + "\n" + "Channel: http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user", addMessage.getBody());
+ "\n" + "Channel: "; assertEquals("Wrong message body", expected, dummyTransport.getMessages("dummy:simpleUserNotifier").get(0).getBody());
+ "\n" + "Channel: "; assertEquals("Wrong message body", expected, dummyTransport.getMessages("dummy:simpleUserNotifier").get(0).getBody());
+ "\n" + "Channel: "; assertEquals("Wrong message body", expected, dummyTransport.getMessages("dummy:simpleUserNotifier").get(0).getBody());
Message message = messages.get(0); // number of messages was already checked assertEquals("Invalid list of recipients", Arrays.asList("recipient@evolveum.com"), message.getTo()); assertTrue("No account name in account password notification", message.getBody().contains("Password for account jack on Dummy Resource is:"));
+ "\n" + "Channel: "; assertEquals("Wrong message body", expected, dummyTransport.getMessages("dummy:simpleAccountNotifier-DELETE-SUCCESS").get(0).getBody());
+ "\n" + "Channel: "; assertEquals("Wrong message body", expected, dummyTransport.getMessages("dummy:simpleUserNotifier").get(0).getBody());