[ 
https://issues.apache.org/jira/browse/NIFI-2519?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15416409#comment-15416409
 ] 

ASF GitHub Bot commented on NIFI-2519:
--------------------------------------

Github user olegz commented on a diff in the pull request:

    https://github.com/apache/nifi/pull/827#discussion_r74362870
  
    --- Diff: 
nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/src/main/java/org/apache/nifi/processors/email/ListenSMTP.java
 ---
    @@ -13,89 +13,52 @@
      *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 
implied.
      *  See the License for the specific language governing permissions and
      *  limitations under the License.
    -*/
    + */
     package org.apache.nifi.processors.email;
     
    -import javax.net.ssl.SSLContext;
    -import javax.net.ssl.SSLSocket;
    -import javax.net.ssl.SSLSocketFactory;
     import java.io.IOException;
    -import java.io.InputStream;
    +import java.io.OutputStream;
     import java.net.InetSocketAddress;
     import java.net.Socket;
     import java.util.ArrayList;
    -import java.util.Collection;
     import java.util.Collections;
    -import java.util.HashMap;
     import java.util.HashSet;
     import java.util.List;
    -import java.util.Map;
     import java.util.Set;
    -import java.util.concurrent.LinkedBlockingQueue;
     import java.util.concurrent.TimeUnit;
    -import java.util.concurrent.atomic.AtomicBoolean;
    -
    -import org.apache.commons.lang3.StringUtils;
    -
    -import org.subethamail.smtp.server.SMTPServer;
    -
    -
    -import org.apache.nifi.annotation.lifecycle.OnStopped;
    -import org.apache.nifi.annotation.lifecycle.OnUnscheduled;
    -import org.apache.nifi.flowfile.attributes.CoreAttributes;
    -import org.apache.nifi.processor.DataUnit;
    +import java.util.concurrent.atomic.AtomicInteger;
     
    -import org.apache.nifi.annotation.lifecycle.OnScheduled;
    -import org.apache.nifi.components.PropertyDescriptor;
    -import org.apache.nifi.processor.AbstractProcessor;
    -import org.apache.nifi.processor.ProcessorInitializationContext;
    -import org.apache.nifi.processor.Relationship;
    -import org.apache.nifi.processor.util.StandardValidators;
    +import javax.net.ssl.SSLContext;
    +import javax.net.ssl.SSLSocket;
    +import javax.net.ssl.SSLSocketFactory;
     
    +import org.apache.commons.io.IOUtils;
     import org.apache.nifi.annotation.behavior.InputRequirement;
    -import org.apache.nifi.annotation.behavior.WritesAttribute;
    -import org.apache.nifi.annotation.behavior.WritesAttributes;
     import org.apache.nifi.annotation.documentation.CapabilityDescription;
     import org.apache.nifi.annotation.documentation.Tags;
    +import org.apache.nifi.annotation.lifecycle.OnStopped;
    +import org.apache.nifi.components.PropertyDescriptor;
    +import org.apache.nifi.flowfile.FlowFile;
    +import org.apache.nifi.processor.AbstractSessionFactoryProcessor;
    +import org.apache.nifi.processor.DataUnit;
     import org.apache.nifi.processor.ProcessContext;
     import org.apache.nifi.processor.ProcessSession;
    +import org.apache.nifi.processor.ProcessSessionFactory;
    +import org.apache.nifi.processor.Relationship;
     import org.apache.nifi.processor.exception.ProcessException;
    -import org.apache.nifi.components.ValidationContext;
    -import org.apache.nifi.components.ValidationResult;
    -import org.apache.nifi.flowfile.FlowFile;
    +import org.apache.nifi.processor.io.OutputStreamCallback;
    +import org.apache.nifi.processor.util.StandardValidators;
     import org.apache.nifi.ssl.SSLContextService;
    -
    -import org.apache.nifi.processors.email.smtp.event.SmtpEvent;
    -import org.apache.nifi.processors.email.smtp.handler.SMTPResultCode;
    -import 
org.apache.nifi.processors.email.smtp.handler.SMTPMessageHandlerFactory;
    +import org.subethamail.smtp.server.SMTPServer;
     
     @Tags({"listen", "email", "smtp"})
     @InputRequirement(InputRequirement.Requirement.INPUT_FORBIDDEN)
    -@CapabilityDescription("This processor implements a lightweight SMTP 
server to an arbitrary port, " +
    -        "allowing nifi to listen for incoming email. " +
    -        "" +
    -        "Note this server does not perform any email validation. If direct 
exposure to the internet is sought," +
    -        "it may be a better idea to use the combination of NiFi and an 
industrial scale MTA (e.g. Postfix)")
    -@WritesAttributes({
    -        @WritesAttribute(attribute = "mime.type", description = "The value 
used during HELO"),
    -        @WritesAttribute(attribute = "smtp.helo", description = "The value 
used during HELO"),
    -        @WritesAttribute(attribute = "smtp.certificates.*.serial", 
description = "The serial numbers for each of the " +
    -                "certificates used by an TLS peer"),
    -        @WritesAttribute(attribute = "smtp.certificates.*.principal", 
description = "The principal for each of the " +
    -                "certificates used by an TLS peer"),
    -        @WritesAttribute(attribute = "smtp.from", description = "The value 
used during MAIL FROM (i.e. envelope)"),
    -        @WritesAttribute(attribute = "smtp.to", description = "The value 
used during RCPT TO (i.e. envelope)"),
    -        @WritesAttribute(attribute = "smtp.src", description = "The source 
IP of the SMTP connection")})
    --- End diff --
    
    Again, I am not against it, but outside of "nice to have" i don't see 
practical justification for it. 
    Remember, the idea here is not to implement a fully capable SMTP server, if 
so we would need a separate project just for that. The idea is to have a simple 
network listener that is capable of speaking SMTP. For anything more complex 
use an existing/external/secure/managed/monitored Email server and connect to 
it via IMAP/POP3 etc. 


> TestListenSMTP ValidEmail fails during parallel build
> -----------------------------------------------------
>
>                 Key: NIFI-2519
>                 URL: https://issues.apache.org/jira/browse/NIFI-2519
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Extensions
>            Reporter: Joseph Witt
>            Assignee: Oleg Zhurakousky
>             Fix For: 1.0.0
>
>
> While running a full NiFi parallel build received the following. So there is 
> some test issue at least that is impacting build stability.
> [INFO] --- maven-compiler-plugin:3.2:testCompile (default-testCompile) @ 
> nifi-email-processors ---
> [INFO] Changes detected - recompiling the module!
> [INFO] Compiling 4 source files to 
> /home/travis/build/apache/nifi/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/target/test-classes
> [WARNING] 
> /home/travis/build/apache/nifi/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/src/test/java/org/apache/nifi/processors/email/TestListenSMTP.java:[122,24]
>  [deprecation] stop() in Thread has been deprecated
> [WARNING] 
> /home/travis/build/apache/nifi/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/src/test/java/org/apache/nifi/processors/email/TestListenSMTP.java:[186,24]
>  [deprecation] stop() in Thread has been deprecated
> [WARNING] 
> /home/travis/build/apache/nifi/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/src/test/java/org/apache/nifi/processors/email/TestListenSMTP.java:[307,24]
>  [deprecation] stop() in Thread has been deprecated
> [INFO] 
> [INFO] --- maven-compiler-plugin:3.2:testCompile (groovy-tests) @ 
> nifi-email-processors ---
> [INFO] Changes detected - recompiling the module!
> [INFO] Nothing to compile - all classes are up to date
> [INFO] 
> [INFO] --- maven-surefire-plugin:2.18:test (default-test) @ 
> nifi-email-processors ---
> [INFO] Surefire report directory: 
> /home/travis/build/apache/nifi/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/target/surefire-reports
> [INFO] Using configured provider 
> org.apache.maven.surefire.junit4.JUnit4Provider
> -------------------------------------------------------
>  T E S T S
> -------------------------------------------------------
> Running org.apache.nifi.processors.email.TestListenSMTP
> Tests run: 4, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 1.473 sec <<< 
> FAILURE! - in org.apache.nifi.processors.email.TestListenSMTP
> ValidEmail(org.apache.nifi.processors.email.TestListenSMTP)  Time elapsed: 
> 0.038 sec  <<< FAILURE!
> java.lang.AssertionError: Sending email failed
>       at org.junit.Assert.fail(Assert.java:88)
>       at org.junit.Assert.assertTrue(Assert.java:41)
>       at org.junit.Assert.assertFalse(Assert.java:64)
>       at 
> org.apache.nifi.processors.email.TestListenSMTP.ValidEmail(TestListenSMTP.java:188)
> Running org.apache.nifi.processors.email.TestExtractEmailAttachments
> Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.1 sec - in 
> org.apache.nifi.processors.email.TestExtractEmailAttachments
> Running org.apache.nifi.processors.email.TestExtractEmailHeaders
> Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.029 sec - 
> in org.apache.nifi.processors.email.TestExtractEmailHeaders
> Results :
> Failed tests: 
>   TestListenSMTP.ValidEmail:188 Sending email failed



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to