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