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