1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.net.pop3;
18
19 import junit.framework.TestCase;
20 import java.io.Reader;
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 public class POP3ConstructorTest extends TestCase
41 {
42 String user = TestSetupParameters.user;
43 String emptyUser = TestSetupParameters.emptyuser;
44 String password = TestSetupParameters.password;
45 String mailhost = TestSetupParameters.mailhost;
46
47
48
49
50 public POP3ConstructorTest(String name)
51 {
52 super(name);
53 }
54
55
56
57
58
59
60 public void testConstants()
61 {
62
63 assertEquals(110, POP3.DEFAULT_PORT);
64 assertEquals(-1, POP3.DISCONNECTED_STATE);
65 assertEquals(0, POP3.AUTHORIZATION_STATE);
66 assertEquals(1, POP3.TRANSACTION_STATE);
67 assertEquals(2, POP3.UPDATE_STATE);
68
69
70 assertEquals(0, POP3Command.USER);
71 assertEquals(1, POP3Command.PASS);
72 assertEquals(2, POP3Command.QUIT);
73 assertEquals(3, POP3Command.STAT);
74 assertEquals(4, POP3Command.LIST);
75 assertEquals(5, POP3Command.RETR);
76 assertEquals(6, POP3Command.DELE);
77 assertEquals(7, POP3Command.NOOP);
78 assertEquals(8, POP3Command.RSET);
79 assertEquals(9, POP3Command.APOP);
80 assertEquals(10, POP3Command.TOP);
81 assertEquals(11, POP3Command.UIDL);
82 }
83
84
85
86
87
88 public void testPOP3DefaultConstructor()
89 {
90 POP3 pop = new POP3();
91
92 assertEquals(110, pop.getDefaultPort());
93 assertEquals(POP3.DISCONNECTED_STATE, pop.getState());
94 assertNull(pop._reader);
95 assertNotNull(pop._replyLines);
96 }
97
98
99
100
101
102 public void testPOP3ClientStateTransition() throws Exception
103 {
104 POP3Client pop = new POP3Client();
105
106
107 assertEquals(110, pop.getDefaultPort());
108 assertEquals(POP3.DISCONNECTED_STATE, pop.getState());
109 assertNull(pop._reader);
110 assertNotNull(pop._replyLines);
111
112
113 pop.connect(mailhost);
114 assertEquals(POP3.AUTHORIZATION_STATE, pop.getState());
115
116
117 pop.login(user, password);
118 assertEquals(POP3.TRANSACTION_STATE, pop.getState());
119
120
121 pop.noop();
122 assertEquals(POP3.TRANSACTION_STATE, pop.getState());
123 pop.status();
124 assertEquals(POP3.TRANSACTION_STATE, pop.getState());
125
126
127 POP3MessageInfo[] msg = pop.listMessages();
128
129 if (msg.length > 0)
130 {
131 pop.deleteMessage(1);
132 assertEquals(POP3.TRANSACTION_STATE, pop.getState());
133
134 pop.reset();
135 assertEquals(POP3.TRANSACTION_STATE, pop.getState());
136
137 pop.listMessage(1);
138 assertEquals(POP3.TRANSACTION_STATE, pop.getState());
139
140 pop.listMessages();
141 assertEquals(POP3.TRANSACTION_STATE, pop.getState());
142
143 pop.listUniqueIdentifier(1);
144 assertEquals(POP3.TRANSACTION_STATE, pop.getState());
145
146 pop.listUniqueIdentifiers();
147 assertEquals(POP3.TRANSACTION_STATE, pop.getState());
148
149 Reader r = pop.retrieveMessage(1);
150 assertEquals(POP3.TRANSACTION_STATE, pop.getState());
151
152
153 while(!r.ready())
154 {
155 Thread.sleep(10);
156 }
157 r.close();
158 r = null;
159
160 r = pop.retrieveMessageTop(1, 10);
161 assertEquals(POP3.TRANSACTION_STATE, pop.getState());
162
163
164 while(!r.ready())
165 {
166 Thread.sleep(10);
167 }
168 r.close();
169 r = null;
170
171 }
172
173
174 pop.logout();
175 assertEquals(POP3.UPDATE_STATE, pop.getState());
176 }
177 }