messagingfw/msgtestfw/TestCases/ScriptedTestCases/Imap4SizeFiltering/04_TotalSizeLimit_MultipleMails.script
//
// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "Eclipse Public License v1.0"
// which accompanies this distribution, and is available
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
//
// Initial Contributors:
// Nokia Corporation - initial contribution.
//
// Contributors:
//
// Description:
//
// Test Case Name:
// 04_TotalSizeLimit_MultipleMails.script
// ------------------------------------------
// Component Under Test:
// Email
// ------------------------------------------
// API function under test:
// CImap4ClientMtm::InvokeAsyncFunctionL()
// with IMAP4 command KIMAP4MTMPopulate
// ------------------------------------------
// Requirement/Use Case/Functional Spec:
// CR SSIN-5VGN7E
// ------------------------------------------
// Polarity:
// Positive
// ------------------------------------------
// Test Type (unit, integration, panic, performance, conformance, stress, or interoperability):
// Integration
// ------------------------------------------
// Expected Panic ID (if a panic test, only for non-scripted test cases):
// n/a
// ------------------------------------------
// Interface Dependencies (does it require connection, which subsystems does it require):
// Requires connection to Messaging Server
// ------------------------------------------
// Importance (critical, high, or low):
// High
// ------------------------------------------
// Execution Time (fast, medium, or slow):
// medium
// ------------------------------------------
// Pre-condition description:
// 1. Set the SMTP and IMAP4 service settings for an IMAP4 account
// 2. Connect to IMAP4 server and synchronise with the IMAP4 server
// 3. Delete all mails in the Inbox on the server
// 4. Disconnect from IMAP4 server
//
// The Local Inbox and Sent Item folders and the remote Inbox folder of IMAP4
// account are cleaned up before starting the test.
// ------------------------------------------
// Action Description:
// CR SSIN-5VGN7E - IMAP4 Size Filtering
// - Test Case 04:
// 1. Create emails from RFC822 file and send emails to the same account
// 2. Set the download limits
// 3. Download the mails with IMAP4 KIMAP4MTMPopulate command
// 4. Copy the mails from IMAP4 Inbox folder to Local inbox folder
// 5. Compare the received messages with sent messages based on the Download limits set
//
// Implementation and execution:
// The emails are sent to the sender's address only.
// New messages are created, sent and received. The received messages are compared with
// the sent messages, based on the download limits set, for size and contents.
//
// Download Limits set: Partial Download limits is set
//
// TImImap4GetPartialMailInfo::iTotalSizeLimit = 5000
// TImImap4GetPartialMailInfo::iBodyTextSizeLimit = 5000
// TImImap4GetPartialMailInfo::iAttachmentSizeLimit = 5000
// TImImap4PartialMailOptions::ECumulative
//
// ------------------------------------------
// Post-condition description (i.e., expected outcome):
// If the email size is greater than the TImImap4GetPartialMailInfo::iTotalSizeLimit,
// whatever fit in the total size limit should be downloaded in order of body text
// first then attachments and then html part of the email. Footer string should indicate the
// remaining size of the body text (body text and html part)in the server.
// If the email size is lesser than the total size limit then the complete mail
// should be downloaded.
// ------------------------------------------
// Reference to a review document:
//
// ------------------------------------------
// Full pathname of an epoc.ini (if there are special epoc.ini requirements)
// For emulator, an epoc.ini that creates an emulated external drive (drive letter
// between D: and Y:) is required. Optionally, an environment variable can be defined.
// ------------------------------------------
// Any CommDb restrictions:
// NTRAS CommDb
// ------------------------------------------
// Build Requirements (e.g., no watchers):
// No Watchers and Phone Book Synchroniser
// ------------------------------------------
// Hardware Requirements
// Null Modem Cable for NT RAS connection
// ------------------------------------------
RUN_UTILS DeleteFile c:\messaging.db
LOAD_SUITE MessagingTestServer -SharedData
//CED c:\msgtest\TestFramework\Configurations\CommDbSettings\NtRasLongIdleTimeout.cfg
PREFIX RUN_TEST_STEP 1000 MessagingTestServer
BEGIN_TEST_CASE
SETUP_TEST_CASE
GetBaseConstants c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini GetBaseConstants
InitNtRas c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini InitNtRas
CreateSession c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini CreateSession
ResetMessageStore c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini ResetMessageStore
CreateImap4Service c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini CreateImap4Service
CreateSmtpService c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini CreateSmtpService
SetDefaultConfiguration c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini SetDefaultConfiguration0
SetDefaultConfiguration c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini SetDefaultConfiguration1
SetDefaultConfiguration c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini SetDefaultConfiguration2
CreateRegistry c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini CreateRegistry
CreateImap4Mtm c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini CreateImap4Mtm
CreateSmtpMtm c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini CreateSmtpMtm
GetDefaultSmtpService c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini GetDefaultSmtpService
SetImap4ServiceParameters c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini SetImap4ServiceParameters
SetSmtpServiceParameters c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini SetSmtpServiceParameters
ConnectImap4Server c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini ConnectImap4Server0
DoFullImap4Synchronisation c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini DoFullImap4Synchronisation0
FindEntryByName c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini FindEntryByName0
DeleteChildren c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini DeleteChildren
CheckChildrenCount c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini CheckChildrenCount0
DisconnectImap4Server c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini DisconnectImap4Server0
EXECUTE_TEST_CASE
CreateSmtpMessageFromEmailFile c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini CreateSmtpMessageFromEmailFile0
CopyEntry c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini CopyEntry0
CreateSmtpMessageFromEmailFile c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini CreateSmtpMessageFromEmailFile1
CopyEntry c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini CopyEntry1
SetImap4PartialDownloadLimits c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini SetImap4PartialDownloadLimits
ConnectImap4Server c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini ConnectImap4Server1
DoFullImap4Synchronisation c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini DoFullImap4Synchronisation1
CreateChildrenSelection c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini CreateChildrenSelection
DoImap4Populate c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini DoImap4Populate
DisconnectImap4Server c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini DisconnectImap4Server1
CHECK_POSTCONDITIONS
CreateChildrenSelection c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini CreateChildrenSentItems
CompareEmailMessages c:\msgtest\TestFramework\ScriptedTestCases\Imap4SizeFiltering\04_TotalSizeLimit_MultipleMails.ini CompareEmailMessages
END_TEST_CASE