//
// 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:
//
PRINT Deleting all messaging.db for fresh start.
RUN_UTILS  DeleteFile		c:\messaging.db
RUN_UTILS  DeleteFile		d:\messaging.db
RUN_UTILS  DeleteFile		e:\messaging.db
RUN_UTILS  DeleteFile		f:\messaging.db
RUN_UTILS  DeleteFile		g:\messaging.db
RUN_UTILS  DeleteFile		h:\messaging.db
RUN_UTILS  DeleteFile		i:\messaging.db
RUN_UTILS  DeleteFile		j:\messaging.db
RUN_UTILS  DeleteFile		k:\messaging.db
RUN_UTILS  DeleteFile		l:\messaging.db
RUN_UTILS  DeleteFile		m:\messaging.db
RUN_UTILS  DeleteFile		n:\messaging.db
RUN_UTILS  DeleteFile		o:\messaging.db

LOAD_SERVER t_media  -SharedData

//! @file			
//! @SYMTestSuiteName		MSG-MEDIA-COMPATIBLE-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-MEDIA-COMPATIBLE-OPS-0001
//! 	@SYMTestCaseID		MSG-MEDIA-COMPATIBLE-OPS-0001
//! 	@SYMTestCaseDesc	Messages on a higher priority drive are corrupt
//!				
//!	@SYMREQ			REQ9050 
//!	@SYMPREQ 		PREQ557
//!	@SYMAPI			void CMsvSession::CurrentDriveInfo (TDriveNumber& aDrive, Tint& aPriority)
//!				void CMsvSession::AddDriveL (TDriveNumber aDrive, Tint& aPriority)
//!				void CMsvSession::DriveListL(RArray<TDriveNumber>& aDriveList)
//!				TBool MessageServer::IsMessageStoreSupported(TDriveNumber aDrive)
//!				void CMsvSession::AvailableDriveListL(RArray<TDriveNumber>& aDriveList)
//!				
//!	@SYMTestCaseDependencies Copy some currupted email and sms messages from a sample testdata_mail2 folder to a higher priority I: drive 
//!				
//! 	@SYMTestPriority	High
//! 	@SYMTestActions		1. Get the current drive(C: drive)
//!				2. Add high priority drive(I: drive)
//!				3. Get the current drive(I: drive)
//!				4. Check the drive(I: drive) is present in preferred drive list
//!				5. Check message store in the drive(I: drive) is supported
//!				6. Check the drive(I: drive) is available
//!				7. Check the drive (I: drive) have proper version of DB file
//!				8. Download the corrupted sms message from I: drive 
//!				9. Download the corrupted email message from I: drive
//!				
//! 	@SYMTestExpectedResults 1. C: drive should be the current drive
//!				2. Should capture EMsvCurrentDriveChanged notification
//!				3. I: drive should be the current drive
//!				4. I: drive should be present in preferred drive list
//!				5. I: drive should contains valid message store
//!				6. I: drive should be available
//!				7. I: drivce should have proper version of DB file
//!				8. Should return a corruption error
//!				9. Should return a corruption error
//!				
//!	@SYMAuthor		Rajat Bal
//!				
//! 	@SYMTestType		CIT
//! 	@SYMTestStatus 		Defined


START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-media-compatible-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-compatible-0001.ini	c:\private\1000484b\msgprioritydrivelist.ini

	START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-media-compatible-ops.ini
		CREATE_OBJECT	MediaTestWrapper	0001_obj_1
		COMMAND		0001_obj_1		New		0001_obj_1
		COMMAND		0001_obj_1		GetCurrentDrive	0001_GetCurrentDrive_1
		COMMAND		0001_obj_1		AddDrive	0001_AddDrive_high
		COMMAND		0001_obj_1		GetCurrentDrive	0001_GetCurrentDrive_2
		COMMAND		0001_obj_1		GetDrivelist	0001_GetDrivelist_1
		COMMAND		0001_obj_1		MessageStoreSupported	0001_MessageStoreSupported_1
		COMMAND		0001_obj_1		GetAvailableDriveList	0001_GetAvailableDriveList_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-MEDIA-COMPATIBLE-OPS-0001


START_TESTCASE	MSG-MEDIA-COMPATIBLE-OPS-0002
//! 	@SYMTestCaseID		MSG-MEDIA-COMPATIBLE-OPS-0002
//! 	@SYMTestCaseDesc	Messages on a lesser priority drive are corrupt
//!				
//!	@SYMREQ			REQ9050 
//!	@SYMPREQ 		PREQ557
//!	@SYMAPI			void CMsvSession::CurrentDriveInfo (TDriveNumber& aDrive, Tint& aPriority)
//!				void CMsvSession::AddDriveL (TDriveNumber aDrive, Tint& aPriority)
//!				void CMsvSession::DriveListL(RArray<TDriveNumber>& aDriveList)
//!				TBool MessageServer::IsMessageStoreSupported(TDriveNumber aDrive)
//!				void CMsvSession::AvailableDriveListL(RArray<TDriveNumber>& aDriveList)
//!				
//!	@SYMTestCaseDependencies Copy some corrupted email and sms messages from a sample testdata_mail2 folder to a lesser priority G: drive
//!				
//! 	@SYMTestPriority	High
//! 	@SYMTestActions		1. Get the current drive(I: drive)
//!				2. Add a drive with less priority(G: drive)
//!				3. Get the current drive(I: drive)
//!				4. Check the drive(G: drive) is present in preferred drive list
//!				5. Check message store in the drive(G: drive) is supported
//!				6. Check the drive(G: drive) is available
//!				7. Check the drive(G: drive) have proper version of DB file
//!				8. Download the corrupted sms message from G: drive
//!				
//! 	@SYMTestExpectedResults 1. E: drive should be the current drive
//!				2. Should capture EMsvCurrentDriveChanged notification
//!				3. G: drive should be the current drive
//!				4. G: drive should be present in preferred drive list
//!				5. G: drive should contains valid message store
//!				6. G: drive should be available
//!				7. G: drive should have proper version of DB file
//!				8. Should retun a corruption error
//!				
//!	@SYMAuthor		Rajat Bal
//!				
//! 	@SYMTestType		CIT
//! 	@SYMTestStatus 		Defined


START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-media-compatible-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-compatible-0002.ini	c:\private\1000484b\msgprioritydrivelist.ini

	START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-media-compatible-ops.ini
		CREATE_OBJECT	MediaTestWrapper	0002_obj_1
		COMMAND		0002_obj_1		New		0002_obj_1
		COMMAND		0002_obj_1		GetCurrentDrive	0002_GetCurrentDrive_1
		COMMAND		0002_obj_1		AddDrive	0002_AddDrive_less
		COMMAND		0002_obj_1		GetCurrentDrive	0002_GetCurrentDrive_2
		COMMAND		0002_obj_1		GetDrivelist	0002_GetDrivelist_1
		COMMAND		0002_obj_1		MessageStoreSupported	0002_MessageStoreSupported_1
		COMMAND		0002_obj_1		GetAvailableDriveList	0002_GetAvailableDriveList_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-MEDIA-COMPATIBLE-OPS-0002

START_TESTCASE	MSG-MEDIA-COMPATIBLE-OPS-0003
//! 	@SYMTestCaseID		MSG-MEDIA-COMPATIBLE-OPS-0003
//! 	@SYMTestCaseDesc	Corrupted message store db in a high priority drive 
//!				
//!	@SYMREQ			REQ9050 
//!	@SYMPREQ 		PREQ557
//!	@SYMAPI			void CMsvSession::CurrentDriveInfo (TDriveNumber& aDrive, Tint& aPriority)
//!				void CMsvSession::AddDriveL (TDriveNumber aDrive, Tint& aPriority)
//!				void CMsvSession::DriveListL(RArray<TDriveNumber>& aDriveList)
//!				void CMsvSession::AvailableDriveListL(RArray<TDriveNumber>& aDriveList)
//!				
//!	@SYMTestCaseDependencies Copy a currupted message db from a sample testdata_db folder to a higher priority G: drive 
//!				
//! 	@SYMTestPriority	High
//! 	@SYMTestActions		1. Get the current drive(I: drive)
//!				2. Add high priority drive(G: drive)
//!				3. Get the current drive(G: drive)
//!				4. Check the drive(G: drive) is present in preferred drive list
//!				5. Check the drive(G: drive) is available
//!				
//! 	@SYMTestExpectedResults 1. I: drive should be the current drive
//!				2. Should returned a corrupt notification(EMsvMessageStoreCorrupt) and change drive notification(EMsvCurrentDriveChanged)
//!				3. G: drive is the current drive
//!				4. G: drive is present in preferred drive list
//!				5. G: drive is available
//!				
//!	@SYMAuthor		Rajat Bal
//!				
//! 	@SYMTestType		CIT
//! 	@SYMTestStatus 		Defined


RUN_UTILS  CopyFile   		g:\messaging.db g:\messaging.db.bak
RUN_UTILS  MakeReadWrite  	g:\messaging.db
RUN_UTILS  CopyFile   		c:\msgtest\media\corrupt.db g:\messaging.db

START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-media-compatible-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-compatible-0003.ini	c:\private\1000484b\msgprioritydrivelist.ini

	START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-media-compatible-ops.ini
		CREATE_OBJECT	MediaTestWrapper	0003_obj_1
		COMMAND		0003_obj_1		New		0003_obj_1
		COMMAND		0003_obj_1		GetCurrentDrive	0003_GetCurrentDrive_1
		COMMAND		0003_obj_1		AddDrive	0003_AddDrive_high
		COMMAND		0003_obj_1		GetCurrentDrive	0003_GetCurrentDrive_2
		COMMAND		0003_obj_1		GetDrivelist	0003_GetDrivelist_1
		COMMAND		0003_obj_1		GetAvailableDriveList	0003_GetAvailableDriveList_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

RUN_UTILS  MakeReadWrite  	g:\messaging.db
RUN_UTILS  CopyFile   		g:\messaging.db.bak g:\messaging.db
RUN_UTILS  DeleteFile		g:\messaging.db.bak

END_TESTCASE	MSG-MEDIA-COMPATIBLE-OPS-0003

START_TESTCASE	MSG-MEDIA-COMPATIBLE-OPS-0004
//! 	@SYMTestCaseID		MSG-MEDIA-COMPATIBLE-OPS-0004
//! 	@SYMTestCaseDesc	Corrupted message db in a lesser priority drive 
//!				
//!	@SYMREQ			REQ9050 
//!	@SYMPREQ 		PREQ557
//!	@SYMAPI			void CMsvSession::CurrentDriveInfo (TDriveNumber& aDrive, Tint& aPriority)
//!				void CMsvSession::AddDriveL (TDriveNumber aDrive, Tint& aPriority)
//!				void CMsvSession::DriveListL(RArray<TDriveNumber>& aDriveList)
//!				void CMsvSession::AvailableDriveListL(RArray<TDriveNumber>& aDriveList)
//!				
//!	@SYMTestCaseDependencies Copy a currupted message db from a sample testdata_db folder to a lesser priority E: drive 
//!				
//! 	@SYMTestPriority	High
//! 	@SYMTestActions		1. Get the current drive(G: drive)
//!				2. Add a lesser priority drive(E: drive)
//!				3. Get the current drive(G: drive)
//!				4. Check the drive(E: drive) is present in preferred drive list
//!				5. Check the drive(E: drive) is not available
//!				
//! 	@SYMTestExpectedResults 1. G: drive should be the current drive
//!				2. Should returned a corrupt notification(EMsvMessageStoreCorrupt) 
//!				3. G: drive is the current drive
//!				4. E: drive is present in preferred drive list
//!				5. E: drive is not available
//!				
//!	@SYMAuthor		Rajat Bal
//!				
//! 	@SYMTestType		CIT
//! 	@SYMTestStatus 		Defined

RUN_UTILS  CopyFile   		e:\messaging.db	e:\messaging.db.bak
RUN_UTILS  MakeReadWrite  	e:\messaging.db
RUN_UTILS  CopyFile   		c:\msgtest\media\corrupt.db e:\messaging.db


START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-media-compatible-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-compatible-0004.ini	c:\private\1000484b\msgprioritydrivelist.ini

	START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-media-compatible-ops.ini
		CREATE_OBJECT	MediaTestWrapper	0004_obj_1
		COMMAND		0004_obj_1		New		0004_obj_1
		COMMAND		0004_obj_1		GetCurrentDrive	0004_GetCurrentDrive_1
		COMMAND		0004_obj_1		AddDrive	0004_AddDrive_lesser
		COMMAND		0004_obj_1		GetCurrentDrive	0004_GetCurrentDrive_2
		COMMAND		0004_obj_1		GetDrivelist	0004_GetDrivelist_1
		COMMAND		0004_obj_1		GetAvailableDriveList	0004_GetAvailableDriveList_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

RUN_UTILS  MakeReadWrite  	e:\messaging.db
RUN_UTILS  CopyFile   		e:\messaging.db.bak e:\messaging.db
RUN_UTILS  DeleteFile		e:\messaging.db.bak

END_TESTCASE	MSG-MEDIA-COMPATIBLE-OPS-0004


START_TESTCASE	MSG-MEDIA-COMPATIBLE-OPS-0005
//! 	@SYMTestCaseID		MSG-MEDIA-COMPATIBLE-OPS-0005
//! 	@SYMTestCaseDesc	Add a high priority drive which contains compatible message store and remove it again
//!				
//!	@SYMREQ			REQ9050 
//!	@SYMPREQ 		PREQ557
//!	@SYMAPI			void CMsvSession::CurrentDriveInfo (TDriveNumber& aDrive, Tint& aPriority)
//!				void CMsvSession::AddDriveL (TDriveNumber aDrive, Tint& aPriority)
//!				void CMsvSession::DriveListL(RArray<TDriveNumber>& aDriveList)
//!				TBool MessageServer::IsMessageStoreSupported(TDriveNumber aDrive)
//!				void CMsvSession::AvailableDriveListL(RArray<TDriveNumber>& aDriveList)
//!				void CMsvSession::RemoveDriveL (TDriveNumber aDrive, Tint& aPriority)
//!				
//!	@SYMTestCaseDependencies Copy some messages(OS 95 or above) from a sample testdata_95_mail2 folder to I: drive
//!				
//! 	@SYMTestPriority	High
//! 	@SYMTestActions		1. Get the current drive(G: drive)
//!				2. Add a high priority drive(I:drive)
//!				3. Get the current drive(I: drive)
//!				4. Check the drive(I: drive) is present in preferred drive list
//!				5. Check message store in the drive(I: drive) is supported
//!				6. Check the drive(I: drive) is available
//!				8. Dowload the sms message from I: drive 
//!				9. Download the email message from I: drive 
//!				10. Remove the same drive(I: drive)
//!				
//! 	@SYMTestExpectedResults 1. G: drive is the current drive
//!				2. Should capture EMsvCurrentDriveChanged notification
//!				3. I: drive should be the current drive
//!				4. I: drive should be present in preferred drive list
//!				5. I: drive should contains valid message store
//!				6. I: drive should be available
//!				8. Download should be completed
//!				9. Download should be completed
//!				10. Should capture EMsvCurrentDriveChanged
//!				
//!	@SYMAuthor		Rajat Bal
//!				
//! 	@SYMTestType		CIT
//! 	@SYMTestStatus 		Defined

RUN_UTILS  CopyFile   		i:\messaging.db	i:\messaging.db.bak
RUN_UTILS  MakeReadWrite  	i:\messaging.db
RUN_UTILS  CopyFile   		c:\msgtest\media\compatible.db i:\messaging.db


START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-media-compatible-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-compatible-0005.ini	c:\private\1000484b\msgprioritydrivelist.ini

	START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-media-compatible-ops.ini
		CREATE_OBJECT	MediaTestWrapper	0005_obj_1
		COMMAND		0005_obj_1		New		0005_obj_1
		COMMAND		0005_obj_1		GetCurrentDrive	0005_GetCurrentDrive_1
		COMMAND		0005_obj_1		AddDrive	0005_AddDrive_high
		COMMAND		0005_obj_1		GetCurrentDrive	0005_GetCurrentDrive_2
		COMMAND		0005_obj_1		GetDrivelist	0005_GetDrivelist_1
		COMMAND		0005_obj_1		MessageStoreSupported	0005_MessageStoreSupported_1
		STORE		0005_obj_1		
		COMMAND		0005_obj_1		GetAvailableDriveList	0005_GetAvailableDriveList_1
	END_TEST_BLOCK
	
	START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-media-compatible-ops.ini
		RESTORE_OBJECT	MediaTestWrapper	0005_obj_1
		COMMAND		0005_obj_1		RemoveDrive	0005_RemoveDrive_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

RUN_UTILS  MakeReadWrite  	i:\messaging.db
RUN_UTILS  CopyFile   		i:\messaging.db.bak i:\messaging.db
RUN_UTILS  DeleteFile		i:\messaging.db.bak

END_TESTCASE	MSG-MEDIA-COMPATIBLE-OPS-0005

START_TESTCASE	MSG-MEDIA-COMPATIBLE-OPS-0006
//! 	@SYMTestCaseID		MSG-MEDIA-COMPATIBLE-OPS-0006
//! 	@SYMTestCaseDesc	Add a lower priority drive which contains compatible message store and remove it again
//!				
//!	@SYMREQ			REQ9050 
//!	@SYMPREQ 		PREQ557
//!	@SYMAPI			void CMsvSession::CurrentDriveInfo (TDriveNumber& aDrive, Tint& aPriority)
//!				void CMsvSession::AddDriveL (TDriveNumber aDrive, Tint& aPriority)
//!				void CMsvSession::DriveListL(RArray<TDriveNumber>& aDriveList)
//!				TBool MessageServer::IsMessageStoreSupported(TDriveNumber aDrive)
//!				void CMsvSession::AvailableDriveListL(RArray<TDriveNumber>& aDriveList)
//!				void CMsvSession::RemoveDriveL (TDriveNumber aDrive, Tint& aPriority)
//!				
//!	@SYMTestCaseDependencies Copy some messages(OS 95 or above) from a sample testdata_95_mail2 folder to I: drive
//!				
//! 	@SYMTestPriority	High
//! 	@SYMTestActions		1. Get the current drive(G: drive)
//!				2. Add a lower priority drive(I:drive)
//!				3. Get the current drive(G: drive)
//!				4. Check the drive(I: drive) is present in preferred drive list
//!				5. Check message store in the drive(I: drive) is supported
//!				6. Check the drive(I: drive) is available
//!				8. Dowload the sms message from I: drive 
//!				9. Remove the same drive(I:drive)
//!				
//! 	@SYMTestExpectedResults 1. G: drive is the current drive
//!				2. Should capture EMsvRefreshMessageView notification
//!				3. G: drive should be the current drive
//!				4. I: drive should be present in preferred drive list
//!				5. I: drive should contains valid message store
//!				6. I: drive should be available
//!				8. Download should be completed
//!				9. Should capture EMsvRefreshMessageView notification
//!				
//!	@SYMAuthor		Rajat Bal
//!				
//! 	@SYMTestType		CIT
//! 	@SYMTestStatus 		Defined

RUN_UTILS  CopyFile   		i:\messaging.db	i:\messaging.db.bak
RUN_UTILS  MakeReadWrite  	i:\messaging.db
RUN_UTILS  CopyFile   		c:\msgtest\media\compatible.db i:\messaging.db


START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-media-compatible-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-compatible-0006.ini	c:\private\1000484b\msgprioritydrivelist.ini

	START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-media-compatible-ops.ini
		CREATE_OBJECT	MediaTestWrapper	0006_obj_1
		COMMAND		0006_obj_1		New		0006_obj_1
		COMMAND		0006_obj_1		GetCurrentDrive	0006_GetCurrentDrive_1
		COMMAND		0006_obj_1		AddDrive	0006_AddDrive_lower
		COMMAND		0006_obj_1		GetCurrentDrive	0006_GetCurrentDrive_2
		COMMAND		0006_obj_1		GetDrivelist	0006_GetDrivelist_1
		COMMAND		0006_obj_1		MessageStoreSupported	0006_MessageStoreSupported_1
		STORE		0006_obj_1		
		COMMAND		0006_obj_1		GetAvailableDriveList	0006_GetAvailableDriveList_1
	END_TEST_BLOCK
	
	START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-media-compatible-ops.ini
		RESTORE_OBJECT	MediaTestWrapper	0006_obj_1
		COMMAND		0006_obj_1		RemoveDrive	0006_RemoveDrive_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

RUN_UTILS  MakeReadWrite  	i:\messaging.db
RUN_UTILS  CopyFile   		i:\messaging.db.bak i:\messaging.db
RUN_UTILS  DeleteFile		i:\messaging.db.bak

END_TESTCASE	MSG-MEDIA-COMPATIBLE-OPS-0006


START_TESTCASE	MSG-MEDIA-COMPATIBLE-OPS-0007
//! 	@SYMTestCaseID		MSG-MEDIA-COMPATIBLE-OPS-0007
//! 	@SYMTestCaseDesc	Add a high priority drive which contains some incompatible message store and remove it again
//!				
//!	@SYMREQ			REQ9050 
//!	@SYMPREQ 		PREQ557
//!	@SYMAPI			void CMsvSession::CurrentDriveInfo (TDriveNumber& aDrive, Tint& aPriority)
//!				void CMsvSession::AddDriveL (TDriveNumber aDrive, Tint& aPriority)
//!				void CMsvSession::DriveListL(RArray<TDriveNumber>& aDriveList)
//!				TBool MessageServer::IsMessageStoreSupported(TDriveNumber aDrive)
//!				void CMsvSession::AvailableDriveListL(RArray<TDriveNumber>& aDriveList)
//!				void CMsvSession::RemoveDriveL (TDriveNumber aDrive, Tint& aPriority)
//!				
//!	@SYMTestCaseDependencies Copy pre SQLite message store(OS 94 or below) from a sample testdata_95_mail3 folder to G: drive
//!				
//! 	@SYMTestPriority	High
//! 	@SYMTestActions		1. Get the current drive(I: drive)
//!				2. Add a high priority drive(G:drive)
//!				3. Get the current drive(I: drive)
//!				4. Check the drive(G: drive) is present in preferred drive list
//!				5. Check message store supported is not supported
//!				6. Check the drive(G: drive) is not available
//!				7. Remove the same drive(G: drive)
//!				8. Get the current drive(I: drive)
//!				
//! 	@SYMTestExpectedResults 1. I: drive should be the current drive
//!				2. Should capure EMsvMessageStoreNotSupported notification 
//!				3. I: drive should be the current drive
//!				4. G: drive should be present in preferred drive list
//!				5. G: drive should not have sql message store
//!				6. G: drive should not be available
//!				7. No Notification
//!				8. I: drive should be the current drive
//!				
//!	@SYMAuthor		Rajat Bal
//!				
//! 	@SYMTestType		CIT
//! 	@SYMTestStatus 		Defined


START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-media-compatible-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-compatible-0007.ini	c:\private\1000484b\msgprioritydrivelist.ini

	START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-media-compatible-ops.ini
		CREATE_OBJECT	MediaTestWrapper	0007_obj_1
		COMMAND		0007_obj_1		New		0007_obj_1
		COMMAND		0007_obj_1		GetCurrentDrive	0007_GetCurrentDrive_1
		COMMAND		0007_obj_1		AddDrive	0007_AddDrive_high
		COMMAND		0007_obj_1		GetCurrentDrive	0007_GetCurrentDrive_2
		COMMAND		0007_obj_1		GetDrivelist	0007_GetDrivelist_1
		COMMAND		0007_obj_1		MessageStoreSupported	0007_MessageStoreSupported_1
		STORE		0007_obj_1		
		COMMAND		0007_obj_1		GetAvailableDriveList	0007_GetAvailableDriveList_1
	END_TEST_BLOCK
	
	START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-media-compatible-ops.ini
		RESTORE_OBJECT	MediaTestWrapper	0007_obj_1
		COMMAND		0007_obj_1		RemoveDrive	0007_RemoveDrive_1
		COMMAND		0007_obj_1		GetCurrentDrive	0007_GetCurrentDrive_3
	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-MEDIA-COMPATIBLE-OPS-0007

START_TESTCASE	MSG-MEDIA-COMPATIBLE-OPS-0008
//! 	@SYMTestCaseID		MSG-MEDIA-COMPATIBLE-OPS-0008
//! 	@SYMTestCaseDesc	Add a lower priority drive which contains some incompatible message store and remove it again
//!				
//!	@SYMREQ			REQ9050 
//!	@SYMPREQ 		PREQ557
//!	@SYMAPI			void CMsvSession::CurrentDriveInfo (TDriveNumber& aDrive, Tint& aPriority)
//!				void CMsvSession::AddDriveL (TDriveNumber aDrive, Tint& aPriority)
//!				void CMsvSession::DriveListL(RArray<TDriveNumber>& aDriveList)
//!				TBool MessageServer::IsMessageStoreSupported(TDriveNumber aDrive)
//!				void CMsvSession::AvailableDriveListL(RArray<TDriveNumber>& aDriveList)
//!				void CMsvSession::RemoveDriveL (TDriveNumber aDrive, Tint& aPriority)
//!				
//!	@SYMTestCaseDependencies Copy pre SQLite message store(OS 94 or below) from a sample testdata_95_mail3 folder to D: drive
//!				
//! 	@SYMTestPriority	High
//! 	@SYMTestActions		1. Get the current drive(I: drive)
//!				2. Add a lower priority drive(D:drive)
//!				3. Get the current drive(I: drive)
//!				4. Check the drive(D: drive) is present in preferred drive list
//!				5. Check message store supported is not supported
//!				6. Check the drive(D: drive) is not available
//!				7. Remove the same drive(D: drive)
//!				8. Get the current drive(I: drive)
//!				
//! 	@SYMTestExpectedResults 1. I: drive should be the current drive
//!				2. Should capure EMsvMessageStoreNotSupported notification 
//!				3. I: drive should be the current drive
//!				4. D: drive should be present in preferred drive list
//!				5. D: drive should not have sql message store
//!				6. D: drive should not be available
//!				7. No Notification
//!				8. I: drive should be the current drive
//!				
//!	@SYMAuthor		Rajat Bal
//!				
//! 	@SYMTestType		CIT
//! 	@SYMTestStatus 		Defined


START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-media-compatible-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-compatible-0008.ini	c:\private\1000484b\msgprioritydrivelist.ini

	START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-media-compatible-ops.ini
		CREATE_OBJECT	MediaTestWrapper	0008_obj_1
		COMMAND		0008_obj_1		New		0008_obj_1
		COMMAND		0008_obj_1		GetCurrentDrive	0008_GetCurrentDrive_1
		COMMAND		0008_obj_1		AddDrive	0008_AddDrive_lower
		COMMAND		0008_obj_1		GetCurrentDrive	0008_GetCurrentDrive_2
		COMMAND		0008_obj_1		GetDrivelist	0008_GetDrivelist_1
		COMMAND		0008_obj_1		MessageStoreSupported	0008_MessageStoreSupported_1
		STORE		0008_obj_1		
		COMMAND		0008_obj_1		GetAvailableDriveList	0008_GetAvailableDriveList_1
	END_TEST_BLOCK
	
	START_TEST_BLOCK	100	t_media		c:\msgtest\media\msg-media-compatible-ops.ini
		RESTORE_OBJECT	MediaTestWrapper	0008_obj_1
		COMMAND		0008_obj_1		RemoveDrive	0008_RemoveDrive_1
		COMMAND		0008_obj_1		GetCurrentDrive	0008_GetCurrentDrive_3
	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-MEDIA-COMPATIBLE-OPS-0008
