You are currently viewing a snapshot of www.mozilla.org taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to www.mozilla.org, please file a bug.



You are here: Mozilla MailNews Functional / UI Tests > IMAP Test

Feature Test Spec: Mail and News Component

Mail and News Component: IMAP Test

Written by Karen Huang

References:

IMAP4rel RFC 2060
IMAP4 Implementation Recommendations
UI Specification: TBD

Description

This Test Spec specify Netscape 6.x Client while running against for IMAP Messaging Server 4.15.

Table of Contents

Server Information

Netscape Messaging Server 4.15p1, 4.15p4 or 4.15p7 Internal Servers Names: dredd/nsmail-2, judge/nsmail-1 and parp w/IMAP Shared Folders enabled

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.

  • 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]
      

IMAP Messaging Servers 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 NMS 4.15
(p1, p4 or p7)
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
Please refer to John Unruh's IMAP SSL Test Spec for the following testing:

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

SSL IMAP: Need to see a "PREAUTH" phrase in the initial server greeting

Advanced: Verify AOL Certificate
Need two steps for setup Certificate:

Personal Security Manager
1) Application: Setup "Ask Every time"
2) Certificates: Restore an AOL Certificate

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
- Check subscribe folder (Default)
(# lsub "" "*" and server responds
w/ list of all subscribed LSUB folders/subfolders)
- Uncheck subscribe folder
(No LSUB should appear in IMAP log)
(# list "" "%" and server responds
w/ list of all Top Level Folders)
(# list "" "%/%" and server responds w/ list of all Second Level Folders)

3) Server supports Dual-Use folders (folders that contain subfolders and messages)
- Check Dual-Use (Default)
- Uncheck (specific for UW)

4) Specify Namespace:
- Personal Namespace
- Public (Shared)
- Other Users
- Allow server to overrite these namespaces

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:
1) Server move from current server to another server, see how client impacting when server changing.

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:
1) Login
-Correct Password
(LOGIN OK in IMAP log)
-Change Passwords
- Login Special Characters
(ex: @, %, \, :,.......etc)
2) Open Inbox

Negative:
1) Incorrect Password
2) Cancel Login (Should drop the connection to the server)
3) Login when server is down
(Should display appropriate timeout/error dialog)

Support commands: -NAMESPACE
-X-NETSCAPE XSERVERINFO
Mail/Start Mail LSUB:
Initial LSUB on connection to an account (LSUB shows subscribed folders, they can be subscribed by any client??)

LIST:
LIST INBOX happens every time connect to server.
-Server passes back info about the folder's name attributes, hierarchy delimiter and name
-List a specific folder
(LIST command returns info/subset of folder based on what was passed in as a parameter.)


5 lsub "" "*"1 followed by the server's list of all subscribed mailboxes.

7 list "" "INBOX"1
* LIST (\NoInferior) "/"
INBOX
7 OK Completed
(Server passes back info about the folder's name attributes, hierarchy delimiter and name)

Biff Please refer toBiff test Spec for the following testing:

Icon/Inbox signal

Advanced:
1) After setup biff, disconnect from the dialup connection to see whether mail still available or not?

Mailbox Storage Quotas Quota Enforcement

Read, Read Msgs w/New Read flags
FETCH (body):

Send Plain, HTML, WEb page, Link(URL), gif, card, picture, video, unencoded.......etc)

*PSEUDO-Interrupt IMAP msg loading (close, exit, stop......etc)(e.g. load a 6MB message over a slow connection)
- PSEUDO-Interrupt the first big fetch and load the small second msg:
nsmail-5:S-INBOX:STREAM:OPEN Size: 8848021: Begin Message Download Stream.............
0[781da0]: nsmail-5:S-INBOX:CONTROL: PSEUDO-Interrupted...................................
nsmail-5:S-INBOX:STREAM:CLOSE: Abort Message Download Stream..........
nsmail-5:S-INBOX:STREAM:OPEN Size: 1013: Begin Message Download Stream
.......nsmail-5:S-INBOX:STREAM:CLOSE: Normal Message End Download Stream
.......nsmail-5:S-INBOX:CreateNewLineFromSocket: 47 OK Completed

Follow-up:
1) Should create Send Folder on server or local
2) Msg Save in Send Folder
(exit to verify msg still there)
3) Receive/Read Msg from that recipient w/New/Read flags

Stress:
1) Msg w/ large attachments(5MB)
(gif, video..etc)(Note: if this test fails, first check server settings to see whether there is servers setup attachments size limitation)
2)Msg w/ base64 attachment (The form of encoding shouldn't make differences when FETCHING, but including this test might find other problems)


Save as Drafts/Templates
Please refer toTemplates and Draft Test Specs for the following testing:

1) On Server: Save as
- Drafts (Text/Web/Attachments/Others)
- Template
(Text/Web/Attachments/Others)

Follow-up:
1) On Server:
- Save on Server Drafts Folder
- Save on Server Templates Folder
2) Allow open & continue editing before Send.

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:
- Folder Pane
- New Folder Dialog
- Account Settings: Copy and Folders Settings
- Subscribe Dialog
- Move/Copy Msgs Menu
- Filter Dialog

I. First time using account: (No Summary Files present)
- STOP actions while they're being performed, verify that mail should work fine, new summary files generated.
- Delete local summary files and start mail, verify that the mail should work fine, new new summary files generated.

II.Not first time using account
Positive:
1) Inbox
2) Inbox Subfolder (MSE & Cyrus)
4) Initiated Special Folders
(Send, Trash, Drafts,Templates)
5) Generic top-level folder to 3 Levels' deep
7) NoSelect top-level folder: UW Specific: folder-only (\NoSelect) folder (shouldn't be selectable/openable)
8)Subscribed folders
9) Top-level folder/subfolders in a specified IMAP directory (off of the user's home directory on the server, e.g. UW User Defined Directory "Mail/" and "~/Mail/")
10) Empty Folders (even no msgs, still expect communications display between server and folder on the log)
11) Read-only privilege Folder (Use Messaging Server 4.0 to set privilege level)
Negative:
1)Unsubscribed folders (shouldn't display on the folder pane?)
2) Subscribed subfolder where parent folder isn't subscribed (shouldn't display these folders on the folder pane)
3) NoSelect top-level folder: UW Specific: folder-only (\NoSelect) folder (shouldn't be selectable/openable)

III.View Folders of the same IMAP account from other clients:
Positive:
1) Inbox Subfolder (MSE & Cyrus)
2) On top: Default/Special Folders
3) Alphabetical: Normal Folders
4) Special Folders (specific UW IMAP Folder: Folder-only & Msg-only folders)
5) Selecting folder by another client that has concurrent session open to this account. (Shouldn't display error and folder should be opened as READ-ONLY?? Try to delete msg to see whether its contents can be modified??? - need confirm w/developers!!

NOOP & CHECK commands might be related to synching mailbox state to resolve issues related to multiple clients using one account.

Negative:
1) Deleting folder by another client that has concurrent session open to this account. (Should display appropriate error "folder doesn't exist" dialog)(Should remove this folder from UI immediately or next launch?)
-More covered in DELETE folder scenario.

Advanced:
- Share Folders (if support)
- Public Folders ???

Stress:
1) Folder contain 10K msgs (Note time taken)
2) Folder 20 levels deep
3) Open/View Folder w/ 500, 5000 messages (What is Max holding messages for each folder?) (Note time taken. Compare it to 4.5 performance)

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
2) Inbox (Default)
3) Inbox Subfolder (MSE & Cyrus)
4) Initiated Special Folders
(Send, Trash, Drafts,Templates)
5) Generic top-level folder to 3 Levels' deep
6) Same folder name w/ different uppercase/lowercase
7) UW Specific: folder-only (\NoSelect) folder

Negative:
1) Cancel
2) Undo
3) UW Specific: not allow creating subfolders for msg-only (\NoInferiors) folder.

Advanced:
1) Unusal ascii folder names
2) Special Folder Name (space more than 8 chars, duplicate names..........etc)
3)Folder with vary short/long names - Win32:128 characters, Unix: No limit, Mac: 8 characters, Win16: 8 characters

Stress:
1) 30-40 folders
2) Create folder 20 levels deep, verify that folder should be created and subscribed.
3) 30-40 subfolders


Inbox: N/A
Expand/Collapse Folders Shortcuts/Keyboard Access

Positive:
1) Server
2) Inbox (Default)
3) Initiated Special Folders
(Send, Trash, Drafts,Templates)
4) 3 Levels' Folders
5) UW Specific: folder-only (\NoSelect) folder

Stress:
1) 30-40 folders
2) 30-40 subfolders

Move (Promote/Demote) Folders Menu, Drag & Drop

Positive:
1)Server<-> Server
-Same Level folders
-Different Level Folders
2) Server<->Local
-Same Level folders
-Different Level Folders

Negative:
1) Error should display when Moving to wrong place

Stress:
1) Multiple IMAP Servers <-> IMAP Servers
2) Multiple POP Servers <-> IMAP Servers

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:
1) Inbox Subfolder (MSE & Cyrus)
2) On Server 3 Levels deep
3) UW Specific: folder-only (\NoSelect) folder & msg-only (\NoInferiors) folder

Negative:
1) Not-Allow Rename Folder
- Inbox (Default)
- InitiateSpecial Folders
(Send, Trash, drafts,Templates)
2) Cancel Rename
3) Undo Rename
4) Rename Viewing Folder (rename a folder that is currently being viewed)
5)Rename not opened Folder (rename a folder that has not yet been opened in this Communicator session)

Advanced:
1) Unusal ascii folder names (can be renamed to different ascii characters)

6.Stress test:
-Rename a folder 20 levels deep.

Compact Folders -Expunge Automatically; Threshold-Triggered???
Verify that after Expunge is done, folder is normally selected and the first msg loaded. (Note: This command purges folders of deleted messages. This test case focuses on the automatic purge of every folder that occurs when a folder is opened and it has more than the allowed limit of deleted messages)

-Expunge Manually ("expunge/compress/compact folder" menu item. It may be context-sensitive, allowing more than one folder to be selected when
it is used???)

-Expunge a Folder while another client has a connection to it:
Verify success expunge and other client should notice on next NOOP, CHECK, or biff (FETCH)???

Positive:
1) On Server 3 Levels deep

Negative:
1) Cancel Compact
2) Undo Compact

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
2) Trash Folders
3) Empty Trash on exit

Subscribe Folders Default Checked "show only subscribed folders"

Positive:
1) Server
2) Inbox (Default)
3) Inbox Subfolder (MSE & Cyrus)
4) Initiated Special Folders:
Send (presuming in subscribed state), Trash, Drafts,Templates folders
5) Empty folder
6) 3 Levels' deep
7) UW Specific: folder-only (\NoSelect) folder (Should not be possible???)

Negative:
1) Cancel
2) Undo
3) UW Specific: not allow subscribe subfolders for msg-only (\NoInferiors)
folder.

Advanced:
1) Subscribe to a top-level folder that is currently unsubscribed.
2) Subscribe to a subfolder when the parent folder is subscribed.
3) Subscribe to a subfolder when the parent folder is unsubscribed.
4) Subscribe to a folder three levels down when all parent folders are not subscribed.
5) Turned off subscription:
- Verify sucess subscribe ??? folders.
- Verify sucess subscribe for the current selecting folders.
6) Subscribe to a folder with 10k messages
7) Unusal ascii folder names
8) Special Folder Name (space more than 8 chars, duplicate names..........etc)
9) Folder with vary short/long names - Win32:128 characters, Unix: No limit, Mac: 8 characters, Win16: 8 characters
10) Share Folders (if support)
11) Public Folders???
12) Folder with thousands of messages.

Stress:
1) Subscribe to a folder twenty levels deep
2) 30-40 folders
3) 30-40 subfolders

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:
1) Cancel
2) Undo
3) UW Specific: not allow subscribe subfolders for msg-only (\NoInferiors) folder.

Advanced:
1) Unsubscribe to a top-level folder that is currently subscribed.
2) Unsubscribe to a subfolder when the parent folder is subscribed.
3) Unsubscribe to a subfolder when the parent folder is unsubscribed.
4) Unsubscribe to a folder three levels down when all parent folders are not subscribed.
5)Turned off subscription:
- Verify sucess unsubscribe ??? folders.
- Verify sucess unsubscribe for the current selecting folders.
6) Unsubscribe to a folder with 10k messages
1) Unusal ascii folder names
2) Special Folder Name (space more than 8 chars, duplicate names..........etc)
3) Folder with vary short/long names - Win32:128 characters, Unix: No limit, Mac: 8 characters, Win16: 8 characters
4) Share Folders (if support)
5) Public Folders???
6) Folder with thousands of messages.

Stress:
1) Unsubscribe to a folder twenty levels deep
2) 30-40 folders
3) 30-40 subfolders

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.
-Verify success delete for deleting container folder & subfolder simultaneously when the subfolder is selected.
-Verify success delete for deleting subfolder of a folder that already contains messages when the folder is selected.
-Verify success delete for deleting parent folder with multiple subfolders.
-Verify success delete for deleting subscribed folder.
-Turn off subscription??? and verify success delete for deleting unsubscribed folder.

Positive:
1) Server
2) Inbox (Default)
3) Initiated Special Folders
(Send, Trash, Drafts,Templates)
4) 3 Levels' deep
5) UW Specific:
- folder-only (\NoSelect) folder
- msg-only (\NoInferiors) folder.
6) Deleting folder by another client that has concurrent session open to this account. (Should display appropriate error "folder doesn't exist" dialog)(Should remove this folder from UI immediately or next launch?)
-More covered in DELETE folder scenario.

Negative:
1) Not allowing for deleteing folders:
- Inbox (Default)
- Cancel
- Undo

Advanced:
1) Unusal ascii folder names
2) Special Folder Name (space more than 8 chars, duplicate names..........etc)

Follow-up:
1) Folders disappear
2) Folders display in Trash Folder
3) Folders disappear when Emptying Trash

Stress:
1) 30-40 folders
2) 30-40 subfolders

Move Msgs
(Same server, same account)
(Please refer to Move/Copy/FCC Test Spec for the following testing)

menu, toolbar, tool bar, right mouse menu, drag & drop

Positive:
1) Same Server/Same Account
- Inbox <->Special Folders (Sent, Trash, Drafts, Templates)
- Inbox <-> Normal Folders
- Special Folders <-> Normal Folders

Advanced:
1) IMAP<-> Local Folder
2) IMAP<->IMAP
3) IMAP <-> POP

Negative:
1) Undo
2) Verify "Not Allow" should display when Move (Drag & Drop) Msgs to undroppable location (ex: within same folder)

Copy Msgs
(Same Server/ Different Accounts and
Different Servers/ Different Accounts
(Please refer to Move/Copy/FCC Test Spec for the following testing)

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)
-Verify success copy message into a subfolder of the source folder
-Verify success message into the parent folder of the source folder.
-Verify success copy message into each of the special folders (Inbox, Trash, Sent, Templates, Drafts).
-Verify success copy message from one IMAP server to another.
-After delete folder from another client, verify appropriate error message displays when coping message to this nonexistent folder.
-Verify success copy large message (5MB) from one folder to another

Positive:
1) Same Server, Different Accounts
- Inbox <->Special Folders (Sent, Trash, Drafts, Templates)
- Inbox <-> Normal Folders
- Special Folders <-> Normal Folders

2) Different Servers, Different Accounts
- Inbox <->Special Folders (Sent, Trash, Drafts, Templates)
- Inbox <-> Normal Folders
- Special Folders <-> Normal Folders

Advanced:
1) IMAP<-> Local Folder
2) IMAP<->IMAP
3) IMAP <-> POP

Negative:
1) Undo
2) Verify alert should display when Copy (Drag & Drop) Msgs to undroppable location (ex: within same folder)

Stress Test:
-Verify success copy message into a folder 20 levels deep.

Delete Msgs Please refer to Gary's Delete Message Test Spec for IMAP default delete mode testing, following are other deleted modes testing:

menu, tool bar, right mouse menu, drag & drop

- Inbox Messages
- Special Folders Messages (Sent, Trash, Drafts, Templates) Normal Folders Messages

Follow-Up:
Deleted messages will be:
1) Moved to Trash folder (Gary covered default IMAP delete mode)
2) Mark as deleted until compact folder
3) Delete Messages immediately

1) menu
2) thread pane heading

1)Date
2)Sender
3)Subject
4)Status

IMAP Search Msgs Search Please refer to Mail Search Message Test Spec
Mail Filters Please refer to Mail Filter Functionality Test Spec
Performance of Fetching the RCF822.SIZE Attribute
MDN return receipts Return receipts (This should be covered on Gary's Test Spec already) (This should be covered on Gary's Test Spec already)
Priority
UIDVALIDITY rolling
Message-ID
Status Command
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
tintin:S-Trash:NET:WR: xxxx logout

1) Clean up ("Expunge") Inbox on exit
2) Empty Trash 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" (covered by Gary) and "disconnected" access modes
(Mark new folders for offline download???)

Online Performance Optimization:
-Provision for determining message structure without downloading the entire message
-Fully compatible with MIME / Select retrieval of MIME body parts (covered by Trix)
-Server-based search and retrieval to minimize data transfer

IMAP timeouts 30 minutes timeout
Number of IMAP Connections