1 package test.mock.mail;
2
3 import javax.mail.event.TransportListener;
4
5 import alt.javax.mail.Message;
6
7 import javax.mail.Address;
8 import javax.mail.MessagingException;
9
10 import com.mockobjects.*;
11 import com.mockobjects.mail.MockService;
12 import alt.javax.mail.Transport;
13
14 import java.io.IOException;
15
16 public class MockTransport extends MockService implements Transport
17 {
18
19 private boolean sendCalled = false;
20 private Message expectedMessage;
21 private Message sentMessage;
22
23 public void setExpectedMessage(Message aMessage)
24 {
25 expectedMessage = aMessage;
26 }
27
28 public void send(Message aMessage)
29 {
30 notImplemented();
31 }
32
33 public void send(Message msg, Address[] address)
34 {
35 notImplemented();
36 }
37
38 public void sendMessage(Message msg, Address[] address)
39 {
40 sendCalled = true;
41 sentMessage = msg;
42 }
43
44 public void addTransportListener(TransportListener transportListener)
45 {
46 notImplemented();
47 }
48
49 public void removeTransportListener(TransportListener transportListener)
50 {
51 notImplemented();
52 }
53
54 @Override
55 public void connect()
56 {
57
58 }
59
60 public void verify()
61 {
62 if (!sendCalled)
63 {
64 junit.framework.Assert.fail("Send function wasn't called");
65 }
66 else
67 {
68 if (expectedMessage != null)
69 {
70 try
71 {
72 if (!expectedMessage.getRealMessage().getContent().equals(sentMessage.getRealMessage().getContent()))
73 junit.framework.Assert.fail("Expected content was\n" + expectedMessage.getRealMessage().getContent() + "\n" +
74 "Sent Content was\n" + sentMessage.getRealMessage().getContent());
75
76 if (!expectedMessage.getRealMessage().getContentType().equals(sentMessage.getRealMessage().getContentType()))
77 junit.framework.Assert.fail("Expected content type was\n" + expectedMessage.getRealMessage().getContentType() + "\n" +
78 "Sent Content type was\n" + sentMessage.getRealMessage().getContentType());
79
80 if (!expectedMessage.getRealMessage().getSubject().equals(sentMessage.getRealMessage().getSubject()))
81 junit.framework.Assert.fail("Expected subject was\n" + expectedMessage.getRealMessage().getSubject() + "\n" +
82 "Sent subject was\n" + sentMessage.getRealMessage().getSubject());
83 }
84 catch (IOException e)
85 {
86 e.printStackTrace();
87 }
88 catch (MessagingException e)
89 {
90 e.printStackTrace();
91 }
92 }
93 }
94 }
95 }