Testing EasyPush
NOTE: This page is not yet complete. Please bear with us till we finish it. Till then, you can post specific questions to the deepOfix users' mailing list. Please note that you have to be a subscribed member to post to a list. You can find out how to subscribe here.
We do our best to ensure that the software we write is well tested and "low-bug" (I have yet to see a "bug-free" software). However, no amount of testing can ever completely encompass what may happen in the real world. Also, there will always be limitations on our testing because we don't have all the hardware/software/configurations available in the world. That is why we need your help - to test EasyPush in any way you can think of, push it to the limits of its capabilities, play around with it and just do whatever you can think of with it! Through this page, we hope to give you a start in that direction - by documenting the tests we have subjected it to, and wherever possible, suggesting tests you can do.
Feel free to try them out, and also try out any other tests you can think of. If you think you've come up with something good (or something bad!), let us know. We would be happy to hear from you. We've organised the sections according to the tabs you can see in EasyPush.
Sections
We have divided the testing of EasyPush into different sections:
Accounts
Please click the following links to go to the appropriate page to test the section of EasyPush Accounts interface.
- Manage Users
- Manage Groups
- Account Defaults
Network
Mail Server
Spam Control
Server Control
- Testing Services
- Monitor Server
- Testing Log Messages
- Testing Mail Queue
- Testing Timezone
- Testing Server Password
Help
SMTP Settings
- Basic Settings:
To jump straight to the tests for the SMTP settings, please go the following page: SMTP Tests. For background information, read on...
Although this section is titled "SMTP Settings", there are also a couple of settings which are not related to SMTP or even qmail-ldap itself. These are the "Maximum number of simultaneous IMAP connections" (internally the IMAPCONCURRENCY) and "Maximum number of simultaneous POP3 connections" (internally the POP3CONCURRENCY). The values of these variables are stored in files called IMAPCONCURRENCY and POP3CONCURRENCY, in the /var/easypush/etc/courier directory. Their respective values, as well as any changes made through EasyPush to these values should be reflected in these files.
Therefore, for example, if you change the "Maximum number of simultaneous IMAP connections" to 50 (say), then the file /var/easypush/etc/courier/IMAPCONCURRENCY should have ONLY the string "50" inside it (there may be an optional newline character at the end). Conversely, if you manually change the values in the original files themselves, the changes should be displayed in EasyPush.
Another (better) way of testing this is by analysing the current IMAP/POP log files-
1. open the log file for continous view:
# tail -f /var/log/courier/imapd/current
2. From another console, connect to the IMAP server:
$ telnet <server name/IP> imap
3. If all is well and you are able to connect to the IMAP server, you should get a courier-imap welcome message. Now go back to the console where you have the log file view; it should have some fresh text beginning with something like:
... 2007-03-03_05:49:21.52415 tcpsvd: info: status 1/45 ...
(the date and time in the beginning maybe replaced by a long string of hex numbers starting with an "@" sign). The last number (1/45) is the one we're interested in. The first part of it (1) denotes the no. of active connections at that instant, and the second part (45) denotes the MAX. no. of connections allowed (the IMAPCONCURRENCY). So this value must match the value defined in EasyPush (and by consequence the value in the IMAPCONCURRENCY file).
4. To test whether the CONCURRENCY feature itself is working, try to change the value in EasyPush to something low (like 2 or 3 etc.); then try to make several different connections (more connections than the concurrency no. defined) to the IMAP port from different consoles. It may seem like it has allowed you to establish a connection to the port on all of them, but it should then disconnect the extra connections after some processing.
For more information on how to login once connected and how to use IMAP commands through the command line, you can refer several online resources documenting the same (for eg. http://networking.ringofsaturn.com/Protocols/imap.php).
5. You can test the POP3 server settings in exactly the same way as above (the latest log file would be /var/log/courier/pop3d/current).
This will verify that the particular option in EasyPush is working properly.
The rest of the options in this section read from/write to files in the directory /var/qmail/boot/qmail-smtpd/env. This is the directory from where the qmail SMTP daemon reads in its environment variables. These can be tested out in pretty much the same way as the courier settings (explained above).
1. Some of the settings are of a boolean nature (displayed as checkboxes in easypush). There are two cases with these:
a) The box is checked, in which case, there will be a corresponding file in the env directory which is named the same as the variable, and it will contain just the string "checked" inside. There is an exception here, namely the setting to "Enable scanning of mails for spam and viruses", which when checked, will create a file called QMAILQUEUE (which specifies an alternative mail queue for qmail), and in it, write the path of the new queue (it should be /var/qmail/bin/qmail-scanner-queue.pl).
b) The box is NOT checked, in which case, there won't be any corresponding file at all. If a previously checked box is unchecked, you should see the corresponding file dissapear from the env directory.
2. The rest of the settings require some user input (like memory limit = SOFTLIMIT); you should see the string entered in easypush in the corresponding file.
3. You can employ the log-file method to check for the CONCURRENCY value and other information. Refer to Working with qmail log files for more info.