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