//
// 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:
//	Removing all attachments using index value
// ------------------------------------------
// Component Under Test:
//	Attachment API
// ------------------------------------------
// API function under test:
//	MMsvAttachmentManager::RemoveAttachmentL 
// ------------------------------------------
// Requirement/Use Case/Functional Spec:
//	SGL.GT0216.051 (2.1, 2.3.1, 2.3.4)
// ------------------------------------------
// 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. New BT message in drafts folder with atleast 4 attachments
//	2. Read/Write access to message store
// ------------------------------------------
// Action Description:
// 	1. Get attachment count
//	2. Loop through (0 to AttachmentCount-1) and remove attachments using index value 0
// ------------------------------------------
// Post-condition description (i.e., expected outcome):
//	The attachment count is 0
// ------------------------------------------
// Reference to a review document:
//	AttachmentAPI_TestSpecificationDocument_Ver1.0.doc
// ------------------------------------------
// 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):
//	N/A
// ------------------------------------------
// Hardware Requirements
//	H2 Board
// ------------------------------------------


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

RUN_TEST_STEP 100 MessagingTestServer BEGIN_TEST_CASE

RUN_TEST_STEP 100 MessagingTestServer SETUP_TEST_CASE
RUN_TEST_STEP 100 MessagingTestServer GetBaseConstants				c:\msgtest\TestFramework\ScriptedTestCases\AttachmentAPIScripts\11-BT_RemoveAllAttachmentsUsingIndex.INI GetConstants
RUN_TEST_STEP 100 MessagingTestServer GetBTMTMUId				c:\msgtest\TestFramework\ScriptedTestCases\AttachmentAPIScripts\11-BT_RemoveAllAttachmentsUsingIndex.INI GetBtMTMUId
RUN_TEST_STEP 100 MessagingTestServer CreateSession				c:\msgtest\TestFramework\ScriptedTestCases\AttachmentAPIScripts\11-BT_RemoveAllAttachmentsUsingIndex.INI SessionId
RUN_TEST_STEP 100 MessagingTestServer CreateRegistry				c:\msgtest\TestFramework\ScriptedTestCases\AttachmentAPIScripts\11-BT_RemoveAllAttachmentsUsingIndex.INI CreateRegistry
RUN_TEST_STEP 100 MessagingTestServer CreateService				c:\msgtest\TestFramework\ScriptedTestCases\AttachmentAPIScripts\11-BT_RemoveAllAttachmentsUsingIndex.INI CreateBtService

RUN_TEST_STEP 100 MessagingTestServer CreateMessage				c:\msgtest\TestFramework\ScriptedTestCases\AttachmentAPIScripts\11-BT_RemoveAllAttachmentsUsingIndex.INI CreateMessage
RUN_TEST_STEP 100 MessagingTestServer CreateAttachment				c:\msgtest\TestFramework\ScriptedTestCases\AttachmentAPIScripts\11-BT_RemoveAllAttachmentsUsingIndex.INI CreateAttachment
RUN_TEST_STEP 100 MessagingTestServer AddFileAttachmentByHandleSync		c:\msgtest\TestFramework\ScriptedTestCases\AttachmentAPIScripts\11-BT_RemoveAllAttachmentsUsingIndex.INI AddFileAttachmentByHandleSync
RUN_TEST_STEP 100 MessagingTestServer AddFileAttachmentByPath			c:\msgtest\TestFramework\ScriptedTestCases\AttachmentAPIScripts\11-BT_RemoveAllAttachmentsUsingIndex.INI AddFileAttachmentByPath0
RUN_TEST_STEP 100 MessagingTestServer AddFileAttachmentByPath			c:\msgtest\TestFramework\ScriptedTestCases\AttachmentAPIScripts\11-BT_RemoveAllAttachmentsUsingIndex.INI AddFileAttachmentByPath1
RUN_TEST_STEP 100 MessagingTestServer CountAttachments				c:\msgtest\TestFramework\ScriptedTestCases\AttachmentAPIScripts\11-BT_RemoveAllAttachmentsUsingIndex.INI CountAttachments0

RUN_TEST_STEP 100 MessagingTestServer EXECUTE_TEST_CASE
RUN_TEST_STEP 100 MessagingTestServer RemoveFileAttachmentByIndex		c:\msgtest\TestFramework\ScriptedTestCases\AttachmentAPIScripts\11-BT_RemoveAllAttachmentsUsingIndex.INI RemoveFileAttachmentByIndex0
RUN_TEST_STEP 100 MessagingTestServer RemoveFileAttachmentByIndex		c:\msgtest\TestFramework\ScriptedTestCases\AttachmentAPIScripts\11-BT_RemoveAllAttachmentsUsingIndex.INI RemoveFileAttachmentByIndex1
RUN_TEST_STEP 100 MessagingTestServer RemoveFileAttachmentByIndex		c:\msgtest\TestFramework\ScriptedTestCases\AttachmentAPIScripts\11-BT_RemoveAllAttachmentsUsingIndex.INI RemoveFileAttachmentByIndex2
RUN_TEST_STEP 100 MessagingTestServer RemoveFileAttachmentByIndex		c:\msgtest\TestFramework\ScriptedTestCases\AttachmentAPIScripts\11-BT_RemoveAllAttachmentsUsingIndex.INI RemoveFileAttachmentByIndex3

RUN_TEST_STEP 100 MessagingTestServer CHECK_POSTCONDITIONS
RUN_TEST_STEP 100 MessagingTestServer CountAttachments				c:\msgtest\TestFramework\ScriptedTestCases\AttachmentAPIScripts\11-BT_RemoveAllAttachmentsUsingIndex.INI CountAttachments1

RUN_TEST_STEP 100 MessagingTestServer END_TEST_CASE
