1
2
3
4
5
6
7
8
9
10
11 package org.mule.transport.email;
12
13 import org.mule.endpoint.MuleEndpointURI;
14 import org.mule.tck.AbstractMuleTestCase;
15 import org.mule.transport.email.ImapConnector;
16
17 public class EmailEndpointsTestCase extends AbstractMuleTestCase
18 {
19
20 private static final int PORT = 3125;
21
22 public void testPop3Url() throws Exception
23 {
24 MuleEndpointURI endpointUri = new MuleEndpointURI("pop3://username:password@pop3.lotsofmail.org");
25 endpointUri.initialise();
26 assertEquals("pop3", endpointUri.getScheme());
27 assertEquals("username@lotsofmail.org", endpointUri.getAddress());
28 assertNull(endpointUri.getEndpointName());
29 assertEquals(-1, endpointUri.getPort());
30 assertEquals("pop3.lotsofmail.org", endpointUri.getHost());
31 assertEquals("username:password", endpointUri.getUserInfo());
32 assertEquals("pop3://username:password@pop3.lotsofmail.org", endpointUri.toString());
33 assertEquals(0, endpointUri.getParams().size());
34 }
35
36 public void testSmtpUrl() throws Exception
37 {
38 MuleEndpointURI endpointUri = new MuleEndpointURI("smtp://username:password@smtp.lotsofmail.org");
39 endpointUri.initialise();
40 assertEquals("smtp", endpointUri.getScheme());
41 assertEquals("username@lotsofmail.org", endpointUri.getAddress());
42 assertNull(endpointUri.getEndpointName());
43 assertEquals(-1, endpointUri.getPort());
44 assertEquals("smtp.lotsofmail.org", endpointUri.getHost());
45 assertEquals("username:password", endpointUri.getUserInfo());
46 assertEquals("smtp://username:password@smtp.lotsofmail.org", endpointUri.toString());
47 assertEquals(0, endpointUri.getParams().size());
48 }
49
50 public void testSmtpUrlWithPort() throws Exception
51 {
52 MuleEndpointURI endpointUri = new MuleEndpointURI("smtp://user:password@hostname:" + PORT);
53 endpointUri.initialise();
54 assertEquals("smtp", endpointUri.getScheme());
55 assertEquals("user@hostname:" + PORT, endpointUri.getAddress());
56 assertNull(endpointUri.getEndpointName());
57 assertEquals(PORT, endpointUri.getPort());
58 assertEquals("hostname", endpointUri.getHost());
59 assertEquals("user:password", endpointUri.getUserInfo());
60 assertEquals("smtp://user:password@hostname:" + PORT, endpointUri.toString());
61 assertEquals(0, endpointUri.getParams().size());
62 }
63
64 public void testImapUrlWithFolder() throws Exception
65 {
66 MuleEndpointURI endpointUri = new MuleEndpointURI(
67 "imap://username:password@imap.lotsofmail.org/MyMail");
68 endpointUri.initialise();
69 assertEquals(ImapConnector.IMAP, endpointUri.getScheme());
70 assertEquals("username@lotsofmail.org", endpointUri.getAddress());
71 assertNull(endpointUri.getEndpointName());
72 assertEquals(-1, endpointUri.getPort());
73 assertEquals("imap.lotsofmail.org", endpointUri.getHost());
74 assertEquals("username:password", endpointUri.getUserInfo());
75 assertEquals("imap://username:password@imap.lotsofmail.org/MyMail", endpointUri.toString());
76 assertEquals(0, endpointUri.getParams().size());
77 assertEquals("/MyMail", endpointUri.getPath());
78
79 }
80
81 public void testSmtpUrlEmailUsernameAndParams() throws Exception
82 {
83 MuleEndpointURI endpointUri = new MuleEndpointURI(
84 "smtp://test%40lotsofmail.org:password@smtpout.secureserver.net:" + PORT +
85 "?address=test@lotsofmail.org&ccAddresses=donkey@lotsofmail.org");
86 endpointUri.initialise();
87 assertEquals("smtp", endpointUri.getScheme());
88 assertEquals("test@lotsofmail.org", endpointUri.getAddress());
89 assertNull(endpointUri.getEndpointName());
90 assertEquals(PORT, endpointUri.getPort());
91 assertEquals("smtpout.secureserver.net", endpointUri.getHost());
92 assertEquals("test@lotsofmail.org:password", endpointUri.getUserInfo());
93 assertEquals(
94 "smtp://test%40lotsofmail.org:password@smtpout.secureserver.net:" + PORT +
95 "?address=test@lotsofmail.org&ccAddresses=donkey@lotsofmail.org",
96 endpointUri.toString());
97 assertEquals(2, endpointUri.getParams().size());
98 assertEquals("donkey@lotsofmail.org", endpointUri.getParams().get("ccAddresses"));
99
100 }
101
102
103
104
105
106
107 public void testSmtpUrlEmailUsernameWithoutAddressParam() throws Exception
108 {
109 MuleEndpointURI endpointUri = new MuleEndpointURI(
110 "smtp://test%40lotsofmail.org:password@smtpout.secureserver.net:" + PORT +
111 "?ccAddresses=donkey@lotsofmail.org");
112 endpointUri.initialise();
113 assertEquals("smtp", endpointUri.getScheme());
114 assertEquals("test@lotsofmail.org", endpointUri.getAddress());
115 assertNull(endpointUri.getEndpointName());
116 assertEquals(PORT, endpointUri.getPort());
117 assertEquals("smtpout.secureserver.net", endpointUri.getHost());
118 assertEquals("test@lotsofmail.org:password", endpointUri.getUserInfo());
119 assertEquals(
120 "smtp://test%40lotsofmail.org:password@smtpout.secureserver.net:" + PORT +
121 "?ccAddresses=donkey@lotsofmail.org",
122 endpointUri.toString());
123 assertEquals(1, endpointUri.getParams().size());
124 assertEquals("donkey@lotsofmail.org", endpointUri.getParams().get("ccAddresses"));
125
126 }
127
128
129
130
131
132
133 public void testSmtpWithoutCredentials() throws Exception
134 {
135 MuleEndpointURI endpointUri = new MuleEndpointURI(
136 "smtp://smtpout.secureserver.net:" + PORT + "?address=test@lotsofmail.org");
137 endpointUri.initialise();
138 assertEquals("smtp", endpointUri.getScheme());
139 assertEquals("test@lotsofmail.org", endpointUri.getAddress());
140 assertNull(endpointUri.getEndpointName());
141 assertEquals(PORT, endpointUri.getPort());
142 assertEquals("smtpout.secureserver.net", endpointUri.getHost());
143 assertNull(endpointUri.getUserInfo());
144 assertEquals("smtp://smtpout.secureserver.net:" + PORT + "?address=test@lotsofmail.org",
145 endpointUri.toString());
146 assertEquals(1, endpointUri.getParams().size());
147 }
148
149
150
151
152 public void testWithAddressOverrideOnly() throws Exception
153 {
154 MuleEndpointURI endpointUri = new MuleEndpointURI("smtp://?address=test@lotsofmail.org");
155 endpointUri.initialise();
156 assertEquals("smtp", endpointUri.getScheme());
157 assertEquals("test@lotsofmail.org", endpointUri.getAddress());
158 assertNull(endpointUri.getEndpointName());
159 assertEquals(-1, endpointUri.getPort());
160 assertNull(endpointUri.getHost());
161 assertNull(endpointUri.getUserInfo());
162 assertEquals("smtp://?address=test@lotsofmail.org", endpointUri.toString());
163 assertEquals(1, endpointUri.getParams().size());
164 }
165
166 }