You are here: Mozilla MailNews Functional / UI Tests > IMAP Interoperability
Feature Test Spec: Mail and News Component
Mail and News Component: IMAP Interoperability: Messaging Server
Written by Karen HuangReferences
IMAP4rel RFC 2060
IMAP4 Implementation Recommendations
UI Specification: TBD
Description
This Test Spec specify IMAP Interoperability Test Cases for Netscape 6.x Client while running against various types of IMAP servers. Test Spec majority covered Microsoft Exchange, University of Washington and Cyrus IMAP Interoperability Servers.
Table of Contents
Server Prioritization
IMAP Interoperability Servers | Version | Notes | |
---|---|---|---|
1 | Microsoft Exchange | v.5.5 | Internal Server Name: poisonoak.mcom.com (2/3/99~current ) |
2 | University of Washington | v.12.250 | Internal Server Name: valjean.nscp.aoltw.net |
3 | Cyrus | v. 1.5.2 | Internal Server Name: buggy.mcom.com (2/3/99~current ) |
* | SIMS/IMS | 4.0/5.0 | SUN Microsystems covered this test already |
* | Courier IMAP | ? | External Server |
* | Lotus Domino IMAP | 5.08 | External Server |
*Please Note:
1) SUN Microsystems covered SIMS4.0 / IMS 5.0 IMAP Interoperability Tests already.
2) So far, we don't have Courier IMAP and Lotus Domino IMAP Servers setup internally, so may need support from external peoples' testing accounts or verification as needed.
IMAP Log File Setup
The log is written over every time you re-launch Communicator for all the following platforms:
-
Windows 95/98:
- Create "c:\tmp" for IMAP log file reside if there is no such directory
- Insert the following line into your
autoexec.bat file:
Set NSPR_LOG_MODULES=IMAP:5
Set NSPR_LOG_FILE=c:\tmp\[filename]
(filename can be defined by you) - Reboot your system
-
WinNT:
- Create "c:\tmp" for IMAP log file reside if there is no such directory
- Use the control panel | System | Environment tool to set the
PRLOG env variable:
Varibles: NSPR_LOG_MODULES Value: IMAP:5
Varibles: NSPR_LOG_FILE Value: c:\tmp\[filename]
(filename can be defined by you) - Reboot your system
-
Unix:
- Add a line to ~/.cshrc file of the csh shell as following:
Set NSPR_LOG_MODULES IMAP:5
Set NSPR_LOG_FILE /u/[unix userlogin]/tmp/[filename]
(filename can be defined by you) - Add a line to ~/.bashrc file of the csh shell as following:
NSPR_LOG_MODULES="IMAP:5"
NSPR_LOG_FILE="/u/[unix userlogin]/tmp/[filename]
export NSPR_LOG_MODULES
export NSPR_LOG_FILE
(filename can be defined by you)Please Note: /u/[unix userlogin] is just Netscape setup UNIX environment for each user.
It could be /home/[unix userlogin] or /[unix userlogin] depend on how your users environment setup.
- Add a line to ~/.cshrc file of the csh shell as following:
-
Mac:
- Create a text file that contains the following lines in a text
editor (ex: BBEdit)
After save this file, drag and drop this file on the Netscape/Mozilla application icon, the log file will be created from the seamonkey folder.
ARGS:-mail
ENV:NSPR_LOG_MODULES=IMAP:5
ENV:NSPR_LOG_FILE=[filename]
- Create a text file that contains the following lines in a text
editor (ex: BBEdit)
IMAP Interoperability Test:
*Red text mostly means Negative test scenarios or more Important test
*Blue text mostly means Need more Investigation or Pay more Attention on those issues.
Category | Test Scenario | Test Variation | MSE5.5 | UW12.250 | Cyrus1.5.2 |
---|---|---|---|---|---|
Various IMAP Servers Restriction | Non-Capabilities Non-Supported |
||||
New and Migrated IMAP Profiles | New IMAP Profiles. Migrated IMAP Profiles (from 4.x/4.0x to 6.x) |
New Profiles: 1) Use perfectly clean setup (no local mailfiles, brand new server account), verify that Mail should work fine. Migrated Profiles: |
|||
Client Account Registration | |||||
Mail Account Settings | Server Settings | 1) IMAP Server Type 2) Server Name 3) Port Number - Default Port Number - Change Port Number (ex: change to port 993) |
|||
Secure Connection (SSL) Delete Model Expunge Empty Trash |
1) Secure Connection (SSL) -Uncheck SSL -Check SSL 2) Biff -Uncheck Biff -Check Biff 3)Delete Model: -Move it to Trash folder -Mark it as deleted (will remove messages after selecting compact folder, select "delete" button will toggle/undo mark it as deleted on thread pane) -Remove it immediately (Can be restored by selecting Undo) 4)Clean up ("Expunge") Inbox on Exit 5) Empty Trash on Exit |
||||
Advanced IMAP Server Settings |
1) IMAP Server Directory (specific for UW IMAP) -Root Directory -User Defined Directory ( ex: "Mail/" and "~/Mail/" ) 2) Show only subscribed folder 3) Server supports Dual-Use folders (folders that contain
subfolders and messages) 4) Specify Namespace: |
*Need to Specify Single-Use Folder for this Server | *Need to Specify Personal Namespace for this Server |
||
Copy and Folder Settings | Auto Setup when send msgs: 1) Place copy in: - Server Sent Folder - Local Sent Folder 2) Bcc default sender 3) Bcc another address 4) Special Folders: - Setup on Server Drafts Folder - Setup on Local Drafts Folder |
||||
IMAP Server Connection | Server Connection/Disconnection |
1) When Server is down 2) Disconnect during accessing mail Advnaced: |
|||
Mail/Basic | Authentication |
Server MUST send a single untagged CAPABILITY
response with "IMAP4REV1" as one of the listed capabilities
before the (tagged) OK response -NAMESPACE: IMAP4 servers that support this extension MUST list the keyword NAMESPACE in their CAPABILITY response. (multiple namespaces in mail5?) -X-NETSCAPE XSERVERINFO: Offer client-based server admin (should follow w/ XSERVERINFO MANAGEACCOUNTURL MANAGELISTSURL MANAGEFILTERSURL1) Positive: Negative: |
|||
Mail/Start Mail |
LSUB: Initial LSUB on connection to an account (LSUB shows subscribed folders, they can be subscribed by any client??) LIST: |
||||
Biff |
Icon/Inbox signal
Advanced: |
||||
Mailbox Storage Quotas | Quota Enforcement | ||||
Read/Compose Msgs: Read, Send Msgs w/New Read flags |
FETCH (body): Positive I: 1) Text - Plain Text - HTML Text 2) Web Page 3) Attachments - Attached Plain Text - Attached HTML Text - Attached Msg (gif, card, picture, video.......etc) - Attached w/Link(URL) 4) Others: - Msg w/vCard - Msg w/Signature - Signed msg -Encrypted msg -Signed and Encrypted msg -Msg w/ unencoded attachment Positive II: Negative: Follow-up: Stress: |
||||
Compose Msgs: Save as Drafts/Templates |
1) On Server: Save as - Drafts (Text/Web/Attachments/Others) - Template (Text/Web/Attachments/Others) Follow-up: |
Check Non-UIPLUS for this IMAP Server | |||
Miscellaneous Stuff I Reply/Quote (w/replied flag) |
Positive: 1) Text - Plain Text - HTML Text 2) Web Page 3) Attachments - Attached Plain Text - Attached HTML Text - Attached Msg (gif, card, picture, video, etc) - Attached w/Link(URL) 4) Others: - vCard - Signature - Signed Follow-up: |
||||
Miscellaneous Stuff II Forward (w/forwarded flag) |
Positive: 1) Text - Plain Text - HTML Text 2) Web Page 3) Attachments - Attached Plain Text - Attached HTML Text - Attached Msg (gif, card, picture, video, etc) - Attached w/Link(URL) 4) Others: - vCard - Signature - Signed Follow-up: |
||||
Multiple Domains | |||||
Online Folders | Select/Open/View Folders |
SELECT/initial FETCH (fetch
flags, headers) 1)List defined types of *FLAGS for that select folder 2) List PERMANENTFLAGS for that selected folder 3) List EXISTS msgs 4) List RECENT msgs (new msgs' headers) 5) UIDVALIDITY sent by server for all FETCH responses 6) OK List [READ-WRITE] mode and completed 7) UID fetch 1:* (FLAGS) causes server return FLAGS and UIDs for all msgs of that selected folder. 8) URL: Loading IMAP://ServerName?select>/INBOX> Client running URL (test SELECT and several different forms of FETCH executed by the URL) 9)Fetch all headers for all msgs in that selected folder in order to populate on the thread pane. 10) ## UID fetch ## (UID RFC822.SIZE FLAGS BODY.PEEK[HEADERS.FIELD (From To Cc..Notification-To)])1: Above is only made for those msgs that are unknow to the server since summary file already contained info for some msgs. 11) If the first msg is to be automatically loaded upon folder selection, will fetch the body for the first msg: ## UID fetch #### (XSENDER UID RFC822.SIZE BODY[]) - Test that all the headers and flags are displayed in the UI as expected. Verified on UI: I. First time using
account: (No Summary Files present) II.Not first time using account III.View Folders of the same IMAP account from other
clients: NOOP & CHECK commands might be related to synching mailbox state to resolve issues related to multiple clients using one account. Negative: Advanced: Stress: |
Container (\NoSelect) Folder - Folder should not be openable | ||
Create Folders |
Positive: -Create single top-level folder (Folder should be created and subscribed). -Create container folder & subfolder simultaneously (Folder should be created, and the non-NoSelect folder should be subscribed) -Create folder w/subscription turned off. -Create subfolders of a folder that already contains msgs (Subfolder should be cretaed and subscribed) 1) Server Negative: Advanced: Stress: |
2)Inbox: Allow creating Inbox subfolders
All OK |
Positive: 2)Inbox: N/A 5) UW using Unix Mailbox message storage type: - Create a hierarchy all at once: e.g "folder1/folder2", (folder1 will be Container (LIST \NoSelect flag)(Should not be openable) Negative: |
1)Server: N/A
2)Inbox: Allow creating Inbox subfolders |
|
Expand/Collapse Folders |
Shortcuts/Keyboard Access
Positive: Stress: |
||||
Move (Promote/Demote) Folders |
Menu, Drag & Drop
Positive: Negative: Stress: |
||||
Rename Folders |
-Verify success rename for Renaming single top-level folder when
the folder is selected. - Verify success rename for Renaming parent folder containing a subfolder with messages. -Verify success rename for Renaming parent folder with multiple subfolders -Verify success rename for Renaming subfolder -Verify success rename for Renaming a subscribed folder -Verify success rename for Renaming an unsubscribed folder -Turn off subscription??? and verify success delete for renaming unsubscribed folder. Positive: Negative: Advanced: 6.Stress test: |
||||
Compact Folders |
-Expunge Automatically;
Threshold-Triggered??? Positive: Negative: |
||||
Expung/Empty Trash Folder |
-IMAP Delete Model only: 1) Verify successful expunge for Expunging Trash Folder. 2) Verify success expunge for "Empty Trash while trash folder is selected". 1) Trash Messages |
||||
Subscribe Folders |
Default Checked "show only subscribed folders"
Positive: Negative: Advanced: Stress: |
||||
Unsubscribe Folders |
Positive: 1) Server 2) Inbox (Default) 3) Initiated Special Folders (Send, Trash, Drafts,Templates) 4) Empty Folder 5) 3 Levels' deep 6) UW Specific: folder-only (\NoSelect) folder (Shouldn't be possible???) Negative: Advanced: Stress: |
||||
Delete Folders |
Menu, Subscribe Dialog, Toolbar, Right mouse context menu, Drag
& Drop, Shortcut/Keyboard access (delete key)
-Verify success delete for deleting single top-level
folder. Positive: Negative: Advanced: Follow-up: Stress: |
||||
Move Msgs (Same server, same account) |
menu, toolbar, tool bar, right mouse menu, drag & drop
Positive: Advanced: Negative: |
||||
Copy Msgs (Same Server/ Different Accounts and Different Servers/ Different Accounts |
menu, tool bar, right mouse menu, drag & drop, copy to news
-Verify success copy message from one top-level folder to
another (Note: Ensure that flags, time, date are preserved) Positive: 2) Different Servers, Different Accounts Advanced: Negative: Stress Test: |
||||
Delete Msgs |
menu, tool bar, right mouse menu, drag & drop
- Inbox Messages Follow-Up: |
||||
1) menu 2) thread pane heading 1)Date |
|||||
IMAP Search | Msgs Search |
Positive: - Search one folder - Search multiple folders (in a hierarchy) - Search a NoSelect folder (Shouldn't be possible???) - Turned off subscription, verify sucess search an unsubscribed folder. 1) Senders Advanced: Stress Test: |
|||
Server-based Mail Filters | |||||
Performance of Fetching the RCF822.SIZE Attribute | |||||
MDN return receipts | Return receipts | ||||
Priority | |||||
UIDVALIDITY rolling | |||||
Message-ID | |||||
Status Command | |||||
Sort Msgs | menu, thread pane heading - Date - Sender - Subject - Status |
||||
Output | 1) Print 2) Print to file |
||||
Exit |
LOGOUT: 1) At application exit HOST?:S-Activity:NET:WR: xxxx logout HOST?:S-Activity:CONTROL:From TellThreadToDie: LOGOUT 2) Press STOP during folder headers loading -Verify on first time folder headers loading after filing lots msgs on one folder (e.g. Trash) -Verify by exiting, deleting the summary file, restarting, then selecting the folder: INTERRUPT
Entered 1) Clean up ("Expunge") Inbox on exit |
||||
Advanced |
Server-Side Mailbox Manipulation
Online Performance Optimization |
Server-Side Mailbox Manipulation: -Support for and notification of simultaneous updates in shared mailboxes. -Provide support for "online", "offline" and "disconnected" access modes (Mark new folders for offline download???) Online Performance Optimization: |
|||
IMAP timeouts | 30 minutes timeout | 30 minutes timeout | 30 minutes timeout | ||
Number of IMAP Connections | |||||
Other Tests | Multiple Mailbox Support | Access to message types other than e-mail, such as Newsgroups |