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