1 package org.cacert.gigi.testUtils;
3 import java.io.DataInputStream;
4 import java.io.IOException;
5 import java.net.SocketAddress;
6 import java.net.Socket;
7 import java.util.concurrent.LinkedBlockingQueue;
8 import java.util.concurrent.TimeUnit;
10 public class TestEmailReciever implements Runnable {
11 public class TestMail {
17 public TestMail(String to, String subject, String message, String from,
20 this.subject = subject;
21 this.message = message;
23 this.replyto = replyto;
25 public String getTo() {
28 public String getSubject() {
31 public String getMessage() {
34 public String getFrom() {
37 public String getReplyto() {
43 private DataInputStream dis;
45 public TestEmailReciever(SocketAddress target) throws IOException {
49 s.setSoTimeout(1000 * 60 * 60);
50 dis = new DataInputStream(s.getInputStream());
51 new Thread(this).start();
53 LinkedBlockingQueue<TestMail> mails = new LinkedBlockingQueue<TestEmailReciever.TestMail>();
55 public TestMail recieve() throws InterruptedException {
56 return mails.poll(5, TimeUnit.SECONDS);
62 String to = dis.readUTF();
63 String subject = dis.readUTF();
64 String message = dis.readUTF();
65 String from = dis.readUTF();
66 String replyto = dis.readUTF();
67 mails.add(new TestMail(to, subject, message, from, replyto));
69 } catch (IOException e) {
75 public void clearMails() {