source: tests/00600_mail

Last change on this file was c5c522c, checked in by Edwin Eefting <edwin@datux.nl>, 8 years ago

initial commit, transferred from cleaned syn3 svn tree

  • Property mode set to 100755
File size: 6.4 KB
Line 
1#!/bin/bash
2
3
4source testlib || exit 1
5
6DESCRIPTION1="Ssh beschikbaar?"
7VERIFYEXIT=0
8sshtest || exit 1
9
10DESCRIPTION1="Sla test over indien we niet de juiste licentieoptie hebben."
11CMD="cat /etc/webint/REG"
12VERIFYPOSITIVE='"M"'
13if ! sshtest; then
14        echo "Dit is geen mailserver, test overgeslagen"
15        exit 0
16fi
17
18info "Basic spamfilter check. Als het woord free 0.4000 geeft, is er wat mis met het global filter."
19CMD="dspam_dump global free|grep '0.4000'"
20VERIFYEXIT=1
21sshtest || exit 1
22
23
24
25######################### hercreer testusers
26./_maketestusers || exit 1
27
28######################### controleer cyrus imap bug
29IGNOREERROR=1
30DESCRIPTION1="Verwijder oude test"
31PAGE="useradmin/edituser.php?name=test&del=1"
32scc_add
33
34DESCRIPTION1="Sync oude zooi weg"
35PAGE="useradmin/synclist.php?del=1"
36VERIFYPOSITIVE="oude LDAP gebruikers OK: geen overbodige gegevens."
37scc_add
38
39DESCRIPTION1="Controleer cyrus imap bug. zie IMAP.php hack in de SCC source dir."
40PAGE="useradmin/edituser.php"
41METHOD="post"
42POSTBODY="new_uid=test&new_firstname=testfirstname1&new_lastname=testlastname1&new_passwd=syn3&new_o=testcompany&new_gidNumber=513&save=1"
43scc_add
44scc_test || exit 1
45
46
47
48############################## tests en oude zooi ruimen
49info "Testen pop3 account:"
50PORT=110
51VERIFYNEGATIVE="^-"
52VERIFYPOSITIVE="(Mailbox locked and ready|Username and password accepted)"
53BODY="USER testuser1
54PASS syn3
55QUIT
56"
57nettest || exit 1
58
59sleep 10 #wait for it to be created
60
61info "Testen IMAP account:"
62PORT=143
63VERIFYNEGATIVE="BAD"
64VERIFYPOSITIVE="^1 OK"
65BODY="1 LOGIN testuser1 syn3
662 LOGOUT
67"
68nettest || exit 1
69
70
71scc_new
72
73# scc zooi opruimen
74DESCRIPTION1="zooi opruimen"
75IGNOREERROR=1
76PAGE="mail/delvirtdomain.php?virt=testdomein.local"
77METHOD="post"
78POSTBODY="yes=1"
79scc_add
80
81DESCRIPTION1="zooi opruimen"
82IGNOREERROR=1
83PAGE="mail/spamfilter.php?del=testuser1"
84scc_add
85
86DESCRIPTION1="basic test externe mailboxen"
87VERIFYPOSITIVE="Toevoegen"
88PAGE="fetchmail/listaccounts.php"
89scc_add
90
91DESCRIPTION1="basic test mailqueue"
92VERIFYPOSITIVE="Herstuur"
93PAGE="mailqueue/listmailqueue.php"
94scc_add
95
96DESCRIPTION1="testdomein aanmaken"
97PAGE="mail/addvirtdomain.php"
98METHOD="post"
99POSTBODY="new_virt=testdomein.local&add=1"
100VERIFYPOSITIVE="toegevoegd"
101scc_add
102
103DESCRIPTION1="testadres aanmaken"
104PAGE="mail/addadress.php"
105METHOD="post"
106POSTBODY="new_name=testnaam&new_domain=testdomein.local&new_user=testuser1&add=1"
107VERIFYPOSITIVE="aangemaakt"
108scc_add
109
110scc_test  || exit 1
111
112
113info "Troep in mailbox leegpoppen:"
114while true; do
115sleep 5
116PORT=110
117VERIFYNEGATIVE="^-"
118BODY="USER testuser1
119PASS syn3
120DELE 1
121QUIT
122"
123nettest || break;
124done
125info "Ok, mailbox leeg (hopelijk ;)"
126
127
128# Uniek ID om de mails terug te kunnen vinden
129ID="testmail$RANDOM`date +%s`"
130
131info "Sturen normale mail";
132PORT=25
133VERIFYPOSITIVE=" qp "
134VERIFYNEGATIVE="^5"
135BODY="mail from: <testuser1@nietbestaand.local>
136rcpt to: <testnaam@testdomein.local>
137data
138From: <testuser1@nietbestaand.local>
139To: <testuser1@testdomein.local>
140Subject: test met normale mail
141
142$ID normale mail, deze moet aankomen in de mailbox
143extra regel anders vind het spamfilter het spam :)
144.
145quit
146"
147nettest || exit 1
148
149
150info "Sturen spam mail";
151PORT=25
152VERIFYPOSITIVE=" qp "
153VERIFYNEGATIVE="^5"
154BODY="mail from: <xxx@xxx.xxx>
155rcpt to: <testnaam@testdomein.local>
156data
157Subject: win woman cash
158
159What if you could wake up tomorrow morning and be cured of your diabetes?
160
161Well, a new diabetes remedy has just surfaced that could very well help reverse your diabetes and reclaim your health... without dangerous drugs.
162
163It's actually a mysterious white starch (of all things) that I bet your doctor has never even heard of. Yet it's been shown to lower blood sugar, improve insulin sensitivity, and help diabetics lose weight.
164
165And you can learn exactly what this starch is and how it can help you right here.
166
167
168$ID
169
170.
171quit
172"
173nettest || exit 1
174
175DESCRIPTION1="Wachten op server..."
176sleep 5
177
178info "Poppen mail, verwacht het normale mailtje:"
179PORT=110
180VERIFYPOSITIVE="$ID normale mail"
181VERIFYNEGATIVE="^-"
182BODY="USER testuser1
183PASS syn3
184RETR 1
185DELE 1
186QUIT
187"
188nettest || exit 1
189
190info "Poppen mail, verwacht mailbox leeg. Als de spam mail in de inbox staat is er iets mis met het spamfilter."
191PORT=110
192VERIFYPOSITIVE="ERR mail nr not found"
193VERIFYNEGATIVE="octets"
194BODY="USER testuser1
195PASS syn3
196RETR 1
197QUIT
198"
199nettest || exit 1
200
201info "Sturen virus mail (moet gereject worden):"
202PORT=25
203VERIFYPOSITIVE="^554"
204#VERIFYNEGATIVE=""
205BODY="mail from: <testuser1@nietbestaand.local>
206rcpt to: <testnaam@testdomein.local>
207data
208From: <testuser1@nietbestaand.local>
209To: <testuser1@testdomein.local>
210Subject: test met testvirus $ID
211
212X5O!P%@AP[4\PZX54(P^)7CC)7}\$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!\$H+H*
213.
214quit
215"
216nettest || exit 1
217
218info "Sturen normale mail naar extern nietbestaand adres";
219PORT=25
220VERIFYPOSITIVE=" qp "
221VERIFYNEGATIVE="^5"
222BODY="mail from: <testuser1@nietbestaand.local>
223rcpt to: <$ID@10.11.12.13>
224data
225From: <testuser1@nietbestaand.local>
226To: <$ID@10.11.12.13>
227Subject: test met niet bestaand adres
228
229$ID niet bestaand
230normale mail naar niet bestaand adres.
231Deze moet in de queue blijven hangen.
232.
233quit
234"
235nettest || exit 1
236
237
238DESCRIPTION1="Wachten op server..."
239pausetest 5
240
241
242DESCRIPTION1="Niet bestaande mail moet in queue staan"
243VERIFYPOSITIVE="$ID"
244PAGE="mailqueue/listmailqueue.php"
245scc_add
246scc_test || exit 1
247
248
249info "Poppen  mail, verwacht het virus alert mailtje:"
250PORT=110
251VERIFYPOSITIVE="virus: Eicar-Test-Signature"
252VERIFYNEGATIVE="^-"
253BODY="USER testuser1
254PASS syn3
255RETR 1
256DELE 1
257QUIT
258"
259nettest || exit 1
260
261info "Mailbox moet nu leeg zijn (het spam mailtje moet in spamfolder staan, dus die zien we niet via pop3):"
262PORT=110
263VERIFYPOSITIVE='^.OK 0 0'
264VERIFYNEGATIVE="^-"
265BODY="USER testuser1
266PASS syn3
267STAT
268QUIT
269"
270nettest || exit 1
271
272info "Kijken via IMAP of spammail met tekst '$ID' ook echt in de spamfolder staat:"
273PORT=143
274VERIFYNEGATIVE="BAD"
275VERIFYPOSITIVE="SEARCH.*[0-9]"
276# BODY="1 LOGIN testuser1 syn3
277# 2 SELECT INBOX.Spam
278# 3 SEARCH BODY "$ID"
279# 4 LOGOUT
280# "
281BODY="1 LOGIN testuser1 syn3
2822 SELECT \"Junk E-mail\"
2833 SEARCH BODY "$ID"
2844 LOGOUT
285"
286nettest || exit 1
287
288
289
290
291info "Kijken via SSH of onze virusmail ook in quarantine staat"
292CMD="grep '$ID' /home/system/amavis/virusmails/*"
293VERIFYEXIT=0
294sshtest || exit 1
295
296scc_new
297DESCRIPTION1="Resetten spamfilter testuser1"
298PAGE="mail/spamfilter.php?del=testuser1"
299VERIFYPOSITIVE="testuser1 verwijderd"
300scc_add
301
302DESCRIPTION1="(refresh)"
303PAGE="mail/spamfilter.php"
304scc_add
305
306DESCRIPTION1="Spamfilter testuser1 echt weg?"
307PAGE="mail/spamfilter.php"
308VERIFYNEGATIVE="testuser1"
309scc_add
310scc_test || exit 1
311
312
313info "Email tests ok!"
Note: See TracBrowser for help on using the repository browser.