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 sendCalled = true;
31 sentMessage = aMessage;
32 }
33
34 public void send(Message msg, Address[] address)
35 {
36 notImplemented();
37 }
38
39 public void sendMessage(Message msg, Address[] address)
40 {
41 notImplemented();
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 public void verify()
55 {
56 if (!sendCalled)
57 {
58 junit.framework.Assert.fail("Send function wasn't called");
59 }
60 else
61 {
62 if (expectedMessage != null)
63 {
64 try
65 {
66 if (!expectedMessage.getRealMessage().getContent().equals(sentMessage.getRealMessage().getContent()))
67 junit.framework.Assert.fail("Expected content was\n" + expectedMessage.getRealMessage().getContent() + "\n" +
68 "Sent Content was\n" + sentMessage.getRealMessage().getContent());
69
70 if (!expectedMessage.getRealMessage().getContentType().equals(sentMessage.getRealMessage().getContentType()))
71 junit.framework.Assert.fail("Expected content type was\n" + expectedMessage.getRealMessage().getContentType() + "\n" +
72 "Sent Content type was\n" + sentMessage.getRealMessage().getContentType());
73
74 if (!expectedMessage.getRealMessage().getSubject().equals(sentMessage.getRealMessage().getSubject()))
75 junit.framework.Assert.fail("Expected subject was\n" + expectedMessage.getRealMessage().getSubject() + "\n" +
76 "Sent subject was\n" + sentMessage.getRealMessage().getSubject());
77 }
78 catch (IOException e)
79 {
80 e.printStackTrace();
81 }
82 catch (MessagingException e)
83 {
84 e.printStackTrace();
85 }
86 }
87 }
88 }
89 }