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

LOAD_SERVER t_media  -SharedData

//! @file			
//! @SYMTestSuiteName		MSG-DRIVEFULL-OPS
//! @SYMScriptTestEnvironment   Details as in below:-
//!				1. nt-ras connection or winpcap
//!				2. email servers ( communigatePro or ms exchange)
//!				3. test driver
//!				4. testexecute framework(TEF3.0)
//!				
//! @SYMScriptPurpose		Integration testing of PREQ557-"Improved support in Messaging for removable media"
//! @SYMScriptCreationDate	04/04/2008

START_TESTCASE	MSG-DRIVEFULL-OPS-0001
//! 	@SYMTestCaseID		MSG-DRIVEFULL-OPS-0001
//! 	@SYMTestCaseDesc	Drive is full
//!				
//!	@SYMREQ			REQ9049 
//!	@SYMPREQ 		PREQ557
//!	@SYMAPI			void CMsvSession::CurrentDriveInfo (TDriveNumber& aDrive, Tint& aPriority)
//!				
//!	@SYMTestCaseDependencies Manually setup the disk full condition as mentioned in steps:-
//!	
//!	1. Create a logical drive of size 8 MB or insert a MMC card for USB removable drive of size 128 MB
//!	2. Set current epoc drive with logical or USB removable drive in epoc.ini file. example _EPOC_DRIVE_E S:\
//!	3. Fill the drive to 99% to get the KErrDiskFull(-26) error
//!				
//! 	@SYMTestPriority	High
//! 	@SYMTestActions		1. Set the max size of the current removable drive to 100kb in epoc.ini file
//!				2. Create an email account
//!				3. Create an email message of 95kb size
//!				4. Send an email message 
//!				5. Download the email messages 
//!				Note: disk is arround 99% full
//!				6. Get the current drive
//! 				7. Create an another email message of 10kb
//! 				8. Send the message
//!				9. Download the message will return with disk full notification
//!				10. Delete some old messages from same drive
//!				11. Download the message again
//!				
//! 	@SYMTestExpectedResults 1. Max size is set to 100kb
//!				2. email account should be created
//!				3. email message should be created
//!				4. Sent the email to server is completed
//!				5. Download should be completed
//!				6. should return the current drive and its priority
//!				7. Another email message should be created
//!				8. email message should be sent
//!				9. Download should return the disk full notification
//!				10. Messages should delete from the drive
//!				11. Download should complete
//!				
//!	@SYMAuthor		Rajat Bal
//!				
//! 	@SYMTestType		CIT
//! 	@SYMTestStatus 		Defined


START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-drivefull-ops.ini
	CREATE_OBJECT	CenRepTestWrapper	0100_obj
	COMMAND		0100_obj		ResetCentralRepository	0100_ResetCentralRepository
END_TEST_BLOCK

RUN_UTILS  CopyFile   		c:\private\1000484b\msgprioritydrivelist.ini	c:\private\1000484b\msgprioritydrivelist.bak
RUN_UTILS  MakeReadWrite  	c:\private\1000484b\msgprioritydrivelist.ini
RUN_UTILS  CopyFile   		c:\msgtest\media\msg-drivefull-0001.ini		c:\private\1000484b\msgprioritydrivelist.ini

	START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-drivefull-ops.ini
		CREATE_OBJECT	MediaTestWrapper	0001_obj_1
		COMMAND		0001_obj_1		New		0001_obj_1
		COMMAND		0001_obj_1		GetDrivelist	0001_GetDrivelist_1
		COMMAND		0001_obj_1		GetAvailableDriveList	0001_GetAvailableDriveList_1
		COMMAND		0001_obj_1		GetCurrentDrive	0001_GetCurrentDrive_1
	END_TEST_BLOCK

RUN_UTILS  MakeReadWrite  	c:\private\1000484b\msgprioritydrivelist.ini
RUN_UTILS  CopyFile   		c:\private\1000484b\msgprioritydrivelist.bak	c:\private\1000484b\msgprioritydrivelist.ini
RUN_UTILS  DeleteFile		c:\private\1000484b\msgprioritydrivelist.bak
	
END_TESTCASE	MSG-DRIVEFULL-OPS-0001

START_TESTCASE	MSG-DRIVEFULL-OPS-0002
//! 	@SYMTestCaseID		MSG-DRIVEFULL-OPS-0002
//! 	@SYMTestCaseDesc	Drive is full while downloading the message
//!				
//!	@SYMREQ			REQ9049 
//!	@SYMPREQ 		PREQ557
//!	@SYMAPI			void CMsvSession::CurrentDriveInfo (TDriveNumber& aDrive, Tint& aPriority)
//!				void CMsvSession::UpdateDrivePriorityL (TDriveNumber aDrive, TInt& aPriority)
//!				
//!	@SYMTestCaseDependencies Manually setup the disk full condition as mentioned in steps:-
//!	
//!	1. Create a logical drive of size 8 MB or insert a MMC card for USB removable drive of size 128 MB
//!	2. Set current epoc drive with logical or USB removable drive in epoc.ini file. example _EPOC_DRIVE_E S:\
//!	3. Fill the drive to 99% to get the KErrDiskFull(-26) error
//!				
//! 	@SYMTestPriority	High
//! 	@SYMTestActions		1. Set the max size of the current removable drive to 100kb in epoc.ini file
//!				2. Get the current drive(E: drive)
//!				Note: Ensure the current drive should not be system drive.
//!				3. Create an email account
//!				4. Create an email message of 150kb size
//!				5. Send an email message 
//!				6. Download the messages will return with disk full notification
//!				7. Change the drive to system drive(C: Drive) with high priority
//!				8. Download the message
//!				
//! 	@SYMTestExpectedResults 1. Max size is set to 100kb
//!				2. E: drive should be the current drive
//!				3. email account should be created
//!				4. email message should be created
//!				5. Sent the email to server is completed
//!				6. Download should return the disk full notification
//!				7. Should return the current drive
//!				8. Download should complete
//!				
//!	@SYMAuthor		Rajat Bal
//!				
//! 	@SYMTestType		CIT
//! 	@SYMTestStatus 		Defined


START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-drivefull-ops.ini
	CREATE_OBJECT	CenRepTestWrapper	0100_obj
	COMMAND		0100_obj		ResetCentralRepository	0100_ResetCentralRepository
END_TEST_BLOCK


RUN_UTILS  CopyFile   		c:\private\1000484b\msgprioritydrivelist.ini	c:\private\1000484b\msgprioritydrivelist.bak
RUN_UTILS  MakeReadWrite  	c:\private\1000484b\msgprioritydrivelist.ini
RUN_UTILS  CopyFile   		c:\msgtest\media\msg-drivefull-0002.ini		c:\private\1000484b\msgprioritydrivelist.ini

	START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-drivefull-ops.ini
		CREATE_OBJECT	MediaTestWrapper	0002_obj_1
		COMMAND		0002_obj_1		New		0002_obj_1
		COMMAND		0002_obj_1		GetDrivelist	0002_GetDrivelist_1
		COMMAND		0002_obj_1		GetAvailableDriveList	0002_GetAvailableDriveList_1
		STORE		0002_obj_1		
		COMMAND		0002_obj_1		GetCurrentDrive	0002_GetCurrentDrive_1
	END_TEST_BLOCK
	
	START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-drivefull-ops.ini
		RESTORE_OBJECT	MediaTestWrapper	0002_obj_1
		COMMAND		0002_obj_1		UpdateDrive	0002_UpdateDrive_1
	END_TEST_BLOCK

RUN_UTILS  MakeReadWrite  	c:\private\1000484b\msgprioritydrivelist.ini
RUN_UTILS  CopyFile   		c:\private\1000484b\msgprioritydrivelist.bak	c:\private\1000484b\msgprioritydrivelist.ini
RUN_UTILS  DeleteFile		c:\private\1000484b\msgprioritydrivelist.bak

END_TESTCASE	MSG-DRIVEFULL-OPS-0002

