[
https://issues.apache.org/jira/browse/NIFI-1449?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15894250#comment-15894250
]
ASF GitHub Bot commented on NIFI-1449:
--------------------------------------
Github user trixpan commented on a diff in the pull request:
https://github.com/apache/nifi/pull/1553#discussion_r104143931
--- Diff:
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestPutEmail.java
---
@@ -230,27 +234,42 @@ public void testOutgoingMessageAttachment() throws
Exception {
runner.assertAllFlowFilesTransferred(PutEmail.REL_SUCCESS);
// Verify that the Message was populated correctly
- assertEquals("Expected a single message to be sent", 1,
processor.getMessages().size());
- Message message = processor.getMessages().get(0);
- assertEquals("[email protected]", message.getFrom()[0].toString());
- assertEquals("X-Mailer Header", "TestingNiFi",
message.getHeader("X-Mailer")[0]);
- assertEquals("[email protected]",
message.getRecipients(RecipientType.TO)[0].toString());
-
- assertTrue(message.getContent() instanceof MimeMultipart);
-
- final MimeMultipart multipart = (MimeMultipart)
message.getContent();
- final BodyPart part = multipart.getBodyPart(0);
- final InputStream is = part.getDataHandler().getInputStream();
- final String decodedText =
StringUtils.newStringUtf8(Base64.decodeBase64(IOUtils.toString(is, "UTF-8")));
- assertEquals("Message Body", decodedText);
-
- final BodyPart attachPart = multipart.getBodyPart(1);
- final InputStream attachIs =
attachPart.getDataHandler().getInputStream();
- final String text = IOUtils.toString(attachIs, "UTF-8");
- assertEquals("Some text", text);
-
- assertNull(message.getRecipients(RecipientType.BCC));
- assertNull(message.getRecipients(RecipientType.CC));
+ assertEquals("Expected a single message to be sent", 1,
smtpRunner.getFlowFilesForRelationship(PutEmail.REL_SUCCESS).size());
+
+ MockFlowFile message;
+
+ message =
smtpRunner.getFlowFilesForRelationship(PutEmail.REL_SUCCESS).get(0);
+
+ extractHeadersRunner.enqueue(message);
+ extractHeadersRunner.run();
+ extractHeadersRunner.shutdown();
+
+ message =
extractHeadersRunner.getFlowFilesForRelationship(ExtractEmailHeaders.REL_SUCCESS).get(0);
+
+ assertEquals("[email protected]",
message.getAttribute("email.headers.from.0"));
+ assertEquals("X-Mailer Header", "TestingNiFi",
message.getAttribute("email.headers.x-mailer"));
+
+ // Needed in order to avoid errors like
+ // "already in use for an active callback or InputStream created
by ProcessSession.read(FlowFile) has not been closed"
+
+
+ message =
extractHeadersRunner.getFlowFilesForRelationship(ExtractEmailHeaders.REL_SUCCESS).get(0);
+
+// extractAttachmentsRunner.enqueue(message);
+// extractAttachmentsRunner.run();
+//
+// final List<MockFlowFile> splits =
extractAttachmentsRunner.getFlowFilesForRelationship(ExtractEmailAttachments.REL_ATTACHMENTS);
+//
+// final MimeMultipart multipart = (MimeMultipart)
message.getContent();
+// final BodyPart part = multipart.getBodyPart(0);
+// final InputStream is = part.getDataHandler().getInputStream();
+// final String decodedText =
StringUtils.newStringUtf8(Base64.decodeBase64(IOUtils.toString(is, "UTF-8")));
+// assertEquals("Message Body", decodedText);
+//
+// final BodyPart attachPart = multipart.getBodyPart(1);
+// final InputStream attachIs =
attachPart.getDataHandler().getInputStream();
+// final String text = IOUtils.toString(attachIs, "UTF-8");
+// assertEquals("Some text", text);
--- End diff --
@olegz no luck solving the issue. Also, based on some testing where I
bypassed ExtractEmailHeaders, this does not seem to be directly related to the
interaction between ExtractEmailHeaders and ExtractEmailAttachments
> PutEmail needs more unit tests
> ------------------------------
>
> Key: NIFI-1449
> URL: https://issues.apache.org/jira/browse/NIFI-1449
> Project: Apache NiFi
> Issue Type: Improvement
> Reporter: Joseph Percivall
> Assignee: Andre F de Miranda
>
> Currently the standard processor PutEmail only has two units. One verifies
> "testHostNotFound" and the other "testEmailPropertyFormatters". Both route to
> failure. There is no checking that the processor actually functions.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)