r501177 | eross | 2007-01-29 14:39:02 -0600 (Mon, 29 Jan 2007) | 2 lines

Bug 41480 - add port property
Create SMTP mail server (simple) to test this appender.

Index: src/java/org/apache/log4j/net/SMTPAppender.java
===================================================================
108a109
>   private int    smtpPort;
226c227
<     Properties props = null;
---
>     Properties props;
234a236,238
>     if (smtpPort != 0) {
>       props.put("mail.smtp.port", String.valueOf(smtpPort));
>     }
650a655,668
>   /**
>    * Returns the SMTP port to use.
>    */
>   public int getSMTPPort() {
>     return smtpPort;
>   }
>
>   /**
>    * Sets the SMTP port to use.
>    */
>   public void setSMTPPort(int smtpPort) {
>     this.smtpPort = smtpPort;
>   }
>
Index: tests/src/java/org/apache/log4j/net/SMTPAppenderTest.java
===================================================================
17d16
<
19a19,27
> import java.io.BufferedReader;
> import java.io.BufferedWriter;
> import java.io.IOException;
> import java.io.InputStreamReader;
> import java.io.OutputStreamWriter;
> import java.io.Writer;
> import java.net.ServerSocket;
> import java.net.Socket;
>
21a30,31
> import org.apache.log4j.Logger;
> import org.apache.log4j.PatternLayout;
32a43,54
>   protected void setUp() {
>     ca.setLayout(new PatternLayout("%m%n"));
>     ca.setFrom("[EMAIL PROTECTED]");
>     ca.setTo("[EMAIL PROTECTED]");
>     ca.setSMTPHost("localhost");
>     ca.setSubject("subject");
>   }
>
>   protected void tearDown() {
>     ca.close();
>   }
>
38,42d59
<     // set a bogus layout
<     ca.setLayout(new DummyLayout());
<     ca.setFrom("[EMAIL PROTECTED]");
<     ca.setTo("[EMAIL PROTECTED]");
<     ca.setSMTPHost("localhost");
45a63,136
>   public class MailServer extends Thread {
>     ServerSocket ss;
>     String enc = "ASCII";
>     StringBuffer sb = new StringBuffer();
>
>     MailServer() throws Exception {
>       ss = new ServerSocket(0);
>     }
>
>     public void run() {
>       while (!Thread.interrupted()) {
>         try {
>           run0();
>         } catch (IOException e) {
>           System.out.println(e);
>         }
>       }
>     }
>
>     private void println(Writer w, String s) throws IOException {
>       w.write(s);
>       w.write("\r\n");
>       w.flush();
>     }
>
>     private void run0() throws IOException {
>       Socket s;
>       s = ss.accept();
> BufferedReader br = new BufferedReader(new InputStreamReader (s.getInputStream(), enc)); > BufferedWriter bw = new BufferedWriter(new OutputStreamWriter (s.getOutputStream(), enc));
>       println(bw, "220 SMTP");
>       String helo = br.readLine();
>       println(bw, "250 OK");
>       String from = br.readLine();
>       println(bw, "250 OK");
>       String to = br.readLine();
>       println(bw, "250 OK");
>       String data = br.readLine();
>       println(bw, "354 send, end with .");
>       String line;
>       while (true) {
>         line = br.readLine();
>         sb.append(line).append("\r\n");
>         if (line.equals(".")) break;
>       }
>       System.out.println(sb);
>       println(bw, "250 OK");
>       String quit = br.readLine();
>       s.close();
>     }
>
>   }
>
>   public void testSend() throws Exception {
>     MailServer server = new MailServer();
>     server.start();
>     ca.setSMTPPort(server.ss.getLocalPort());
>     ca.activateOptions();
>
>     String msg = "XYZZY";
>     Logger l = Logger.getLogger(getClass());
>     l.addAppender(ca);
>     l.error(msg);
>     Thread.sleep(500);
>     server.interrupt();
>     server.ss.close();
>
>     String s = server.sb.toString();
>     assertTrue("got the message", s.indexOf(msg) != -1);
>     assertTrue(s.indexOf(ca.getFrom()) != -1);
>     assertTrue(s.indexOf(ca.getTo()) != -1);
>     assertTrue(s.indexOf(ca.getSubject()) != -1);
>   }
>
56,61d146
<     /*
<     LoggingEvent le = new LoggingEvent();
<     le.setMessage("hi");
<     le.setLevel(Level.DEBUG);
<     ca.doAppend(le);
<     */
64d148
<


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to