//
// 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:
//

RUN_UTILS DeleteFile c:\messaging.db
LOAD_SUITE MessagingTestServer -SharedData

//CED c:\msgtest\TestFramework\Configurations\CommDbSettings\NtRasLongIdleTimeout.cfg
RUN_TEST_STEP 100 MessagingTestServer BEGIN_TEST_CASE


RUN_TEST_STEP 100 MessagingTestServer SETUP_TEST_CASE
// intial setup, constants, ntras, a session, clean the mail store,
// create services, registry, mtms, etc.
RUN_TEST_STEP 100 MessagingTestServer GetBaseConstants					c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini GetBaseConstants
RUN_TEST_STEP 100 MessagingTestServer InitNtRas							c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini InitNtRas
RUN_TEST_STEP 100 MessagingTestServer CreateSession						c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini CreateSession
RUN_TEST_STEP 100 MessagingTestServer ResetMessageStore					c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini ResetMessageStore
RUN_TEST_STEP 100 MessagingTestServer CreatePop3Service					c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini CreatePop3Service
RUN_TEST_STEP 100 MessagingTestServer CreateSmtpService					c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini CreateSmtpService
RUN_TEST_STEP 100 MessagingTestServer CreateRegistry					c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini CreateRegistry
RUN_TEST_STEP 100 MessagingTestServer CreatePop3Mtm						c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini CreatePop3Mtm
RUN_TEST_STEP 100 MessagingTestServer CreateSmtpMtm						c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini CreateSmtpMtm
RUN_TEST_STEP 100 MessagingTestServer GetDefaultSmtpService			c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini GetDefaultSmtpService
RUN_TEST_STEP 100 MessagingTestServer SetPop3ServiceParameters			c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini SetPop3ServiceParameters
RUN_TEST_STEP 100 MessagingTestServer SetSmtpServiceParameters			c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini SetSmtpServiceParameters

//create a pop populate object that downloads 5 lines
RUN_TEST_STEP 100 MessagingTestServer CreatePop3MailInfo				c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini CreatePop3MailInfo
//create a pop populate object that downloads all the message
RUN_TEST_STEP 100 MessagingTestServer CreatePop3MailInfo				c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini CreatePop3MailInfo2

//create an object containing what we expect the downloaded email to have
RUN_TEST_STEP 100 MessagingTestServer CreateExpPop3MailInfo				c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini CreateExpPop3MailInfo0

//?default settings?
RUN_TEST_STEP 100 MessagingTestServer SetDefaultConfiguration			c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini	SetDefaultConfiguration_1

// clean out the mail box
// connect to the pop server, delete everything and disconnect
RUN_TEST_STEP 100 MessagingTestServer ConnectPop3Server   				c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini ConnectPop3Server0
RUN_TEST_STEP 100 MessagingTestServer DeleteChildren					c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini DeleteChildren
RUN_TEST_STEP 100 MessagingTestServer CheckChildrenCount				c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini CheckChildrenCount0
RUN_TEST_STEP 100 MessagingTestServer DisconnectPop3Server				c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini DisconnectPop3Server0
// send one message to the mail box, sleep to ensure it gets there, check the sent folder
// has one message in it.
RUN_TEST_STEP 100 MessagingTestServer CreateSmtpMessageFromEmailFile	c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini	CreateSmtpMessageFromEmailFile
RUN_TEST_STEP 100 MessagingTestServer CopyEntry							c:\msgtest\TestFramework\ScriptedTestCases\CreateSendReceivePop3Email.ini CopyEntry
RUN_TEST_STEP 100 MessagingTestServer Sleep								c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini Sleep10
RUN_TEST_STEP 100 MessagingTestServer CheckChildrenCount				c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini CheckChildrenCount_sent4

// connect to pop3 server and partially populate the one message there then disconnect
RUN_TEST_STEP 100 MessagingTestServer ConnectPop3Server	   				c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini ConnectPop3Server1
RUN_TEST_STEP 100 MessagingTestServer CreateChildrenSelection			c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini	CreateChildrenSelectionPop3
RUN_TEST_STEP 100 MessagingTestServer Pop3TopPopulate					c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini Pop3TopPopulate
RUN_TEST_STEP 100 MessagingTestServer DisconnectPop3Server				c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini DisconnectPop3Server1

// The test:
//			connect to pop3 server with one message one it that has already been partially
//			populated populate the message with limit set to all the message
//			disconect

RUN_TEST_STEP 100 MessagingTestServer EXECUTE_TEST_CASE
RUN_TEST_STEP 100 MessagingTestServer ConnectPop3Server	   				c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini ConnectPop3Server1
RUN_TEST_STEP 100 MessagingTestServer CreateChildrenSelection			c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini	CreateChildrenSelectionPop3_2
RUN_TEST_STEP 100 MessagingTestServer Pop3TopPopulate					c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini Pop3TopPopulate2
RUN_TEST_STEP 100 MessagingTestServer DisconnectPop3Server				c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini DisconnectPop3Server1

// Expected result:
//			message is fully downloaded (no footer just some body text).

RUN_TEST_STEP 100 MessagingTestServer CHECK_POSTCONDITIONS
RUN_TEST_STEP 100 MessagingTestServer CreateChildrenSelection			c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini	CreateChildrenSelectionPop3
RUN_TEST_STEP 100 MessagingTestServer CreateChildrenSelection			c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini CreateChildrenSentItems
RUN_TEST_STEP 100 MessagingTestServer VerifyEmail						c:\msgtest\TestFramework\ScriptedTestCases\Pop3TopTest22.ini VerifyEmail

RUN_TEST_STEP 100 MessagingTestServer END_TEST_CASE
