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]