//
// 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_SUITE CntPerfTestServer

START_TESTCASE PIM-APPENG-CNTMODEL-CIT-P81137
//! @file
//! @SYMTestCaseID PIM-APPENG-CNTMODEL-CIT-P81137
//! @SYMTestType CIT
//! @SYMTestPriority High
//! @SYMPREQ 811
//! @SYMTestCaseDesc Empty contacts and empty view Test
//! @SYMTestActions Create database 
//! Add ten empty contacts
//! create local view with empty sortorder.
//! Activate active object when view is populated
//! Check value of local view
//! Repeat test for local view accessing PL directly
//! Repeat test for remote view
//! @SYMTestExpectedResults check that the view contains 10 contacts, each containing 1 empty field
RUN_TEST_STEP 100 CntPerfTestServer ContactViewTest c:\CntPerfTest\configs\cntperftest.ini EmptyAll
RUN_TEST_STEP 100 CntPerfTestServer ContactViewTest c:\CntPerfTest\configs\cntperftest.ini PLViewEmptyAll
END_TESTCASE PIM-APPENG-CNTMODEL-CIT-P81137

START_TESTCASE PIM-APPENG-CNTMODEL-CIT-P81138
//! @file
//! @SYMTestCaseID PIM-APPENG-CNTMODEL-CIT-P81138
//! @SYMTestType CIT
//! @SYMTestPriority High
//! @SYMPREQ 811
//! @SYMTestCaseDesc Full contacts and empty view Test
//! @SYMTestActions Create database 
//! Add ten contacts with all fields set to preset values
//! Create local view with empty sort order.
//! Activate active object when view is populated
//! Check value of local view
//! Repeat test for local view accessing PL directly
//! Repeat test for remote view
//! @SYMTestExpectedResults check that the view contains 10 contacts, each containing 1 field that equals to the first field in the missing field list
RUN_TEST_STEP 100 CntPerfTestServer ContactViewTest c:\CntPerfTest\configs\cntperftest.ini FullContacts
RUN_TEST_STEP 100 CntPerfTestServer ContactViewTest c:\CntPerfTest\configs\cntperftest.ini PLViewFullContacts
END_TESTCASE PIM-APPENG-CNTMODEL-CIT-P81138

START_TESTCASE PIM-APPENG-CNTMODEL-CIT-P81139
//! @file
//! @SYMTestCaseID PIM-APPENG-CNTMODEL-CIT-P81139
//! @SYMTestType CIT
//! @SYMTestPriority High
//! @SYMPREQ 811
//! @SYMTestCaseDesc Empty contacts and Full view Test
//! @SYMTestActions Create database 
//! Add ten empty contacts
//! Create local view with sort order all (existing) uids.
//! Activate active object when view is populated
//! Check value of local view
//! Repeat test for local view accessing PL directly
//! Repeat test for remote view
//! @SYMTestExpectedResults check that the view contains 10 contacts, each containing as many fields as there are uids in the sort order. All fields should be empty.
RUN_TEST_STEP 100 CntPerfTestServer ContactViewTest c:\CntPerfTest\configs\cntperftest.ini FullView
RUN_TEST_STEP 100 CntPerfTestServer ContactViewTest c:\CntPerfTest\configs\cntperftest.ini PLViewFullView
END_TESTCASE PIM-APPENG-CNTMODEL-CIT-P81139

START_TESTCASE PIM-APPENG-CNTMODEL-CIT-P81140
//! @file
//! @SYMTestCaseID PIM-APPENG-CNTMODEL-CIT-P81140
//! @SYMTestType CIT
//! @SYMTestPriority High
//! @SYMPREQ 811
//! @SYMTestCaseDesc Full contacts and Full view Test
//! @SYMTestActions Create database 
//! Add ten contacts with all fields set to preset values
//! Create local view with sort order all (existing) uids.
//! Activate active object when view is populated
//! Check value of local view
//! Repeat test for local view accessing PL directly
//! Repeat test for remote view
//! @SYMTestExpectedResults view contains 10 contacts, each containing as many fields as there are uids (114)
//! all field that have a corresponding uid should be non-empty and equal the appropriate preset value.
RUN_TEST_STEP 100 CntPerfTestServer ContactViewTest c:\CntPerfTest\configs\cntperftest.ini FullAll
RUN_TEST_STEP 100 CntPerfTestServer ContactViewTest c:\CntPerfTest\configs\cntperftest.ini PLViewFullAll
END_TESTCASE PIM-APPENG-CNTMODEL-CIT-P81140

START_TESTCASE PIM-APPENG-CNTMODEL-CIT-P81141
//! @file
//! @SYMTestCaseID PIM-APPENG-CNTMODEL-CIT-P81141
//! @SYMTestType CIT
//! @SYMTestPriority High
//! @SYMPREQ 811
//! @SYMTestCaseDesc Contacts with empty fieldsets and Full view Test
//! @SYMTestActions Create database 
//! Add ten contacts with a fieldset containing no fields
//! Create local view with sort order all (existing) uids.
//! Activate active object when view is populated
//! Check value of local view
//! Repeat test for local view accessing PL directly
//! Repeat test for remote view
//! @SYMTestExpectedResults view contains 10 contacts
//! each containing as many fields as there are uids (114)
//! all field should be empty. 
RUN_TEST_STEP 100 CntPerfTestServer ContactViewTest c:\CntPerfTest\configs\cntperftest.ini EmptyFieldset
RUN_TEST_STEP 100 CntPerfTestServer ContactViewTest c:\CntPerfTest\configs\cntperftest.ini PLViewEmptyFieldset
END_TESTCASE PIM-APPENG-CNTMODEL-CIT-P81141

START_TESTCASE PIM-APPENG-CNTMODEL-CIT-P81142
//! @file
//! @SYMTestCaseID PIM-APPENG-CNTMODEL-CIT-P81142
//! @SYMTestType CIT
//! @SYMTestPriority High
//! @SYMPREQ 811
//! @SYMTestCaseDesc Contacts with empty fieldsets and empty view Test
//! @SYMTestActions Create database 
//! Add ten contacts with a fieldset containing no fields
//! Create local view with empty sort order.
//! Activate active object when view is populated
//! Check value of local view
//! Repeat test for local view accessing PL directly
//! Repeat test for remote view
//! @SYMTestExpectedResults view contains 10 contacts
//! each containing as 1 field
//! that field should be empty.
RUN_TEST_STEP 100 CntPerfTestServer ContactViewTest c:\CntPerfTest\configs\cntperftest.ini EmptyFieldsetView
RUN_TEST_STEP 100 CntPerfTestServer ContactViewTest c:\CntPerfTest\configs\cntperftest.ini PLViewEmptyFieldsetView
END_TESTCASE PIM-APPENG-CNTMODEL-CIT-P81142

START_TESTCASE PIM-APPENG-CNTMODEL-CIT-P81143
//! @file
//! @SYMTestCaseID PIM-APPENG-CNTMODEL-CIT-P81143
//! @SYMTestType CIT
//! @SYMTestPriority High
//! @SYMPREQ 811
//! @SYMTestCaseDesc Contacts with 1 or more empty fields and empty view Test
//! @SYMTestActions Create database 
//! Add ten contacts with all fields set to preset values
//! Create local view with empty sort order.
//! Activate active object when view is populated
//! Check value of local view
//! Set the value of field, retrieved in local view, to empty within the contact
//! Repeat test
//! Repeat test for local view accessing PL directly
//! Repeat test for remote view
//! @SYMTestExpectedResults check that the view contains 10 contacts, each containing 1 field that equals to the next field in the missing field list until the last field is reached. After which all fields should be empty
RUN_TEST_STEP 500 CntPerfTestServer ContactViewTest c:\CntPerfTest\configs\cntperftest.ini MissingFields
RUN_TEST_STEP 400 CntPerfTestServer ContactViewTest c:\CntPerfTest\configs\cntperftest.ini PLViewMissingFields
END_TESTCASE PIM-APPENG-CNTMODEL-CIT-P81143

START_TESTCASE PIM-APPENG-CNTMODEL-CIT-P81161
//! @file
//! @SYMTestCaseID PIM-APPENG-CNTMODEL-CIT-P81161
//! @SYMTestType CIT
//! @SYMTestPriority High
//! @SYMPREQ 811
//! @SYMTestCaseDesc Views Recovery and Compression test
//! @SYMTestActions Add 10 contacts
//! Set all contact fields
//! Create local view 
//! 
//! Start compression/recovery
//! Wait for  view to get populated
//! End compression/recovery
//! Store Error in X
//! 	
//! Recreate Local View
//! Wait for  view to get populated
//! Check view contains correct Fields
//! Repeat test for remote views and for local views calling the PL directly.
//! @SYMTestExpectedResults X should equal sort error, Errors are correctly propagated to the view
//! All checks should pass, View can still be created once database has transitioned into writable state
RUN_TEST_STEP 100 CntPerfTestServer ContactViewTest c:\CntPerfTest\configs\cntperftest.ini CompressRecover
RUN_TEST_STEP 100 CntPerfTestServer ContactViewTest c:\CntPerfTest\configs\cntperftest.ini Recover_CompressRecover
END_TESTCASE PIM-APPENG-CNTMODEL-CIT-P81161

START_TESTCASE PIM-APPENG-CNTMODEL-CIT-P81162
//! @file
//! @SYMTestCaseID PIM-APPENG-CNTMODEL-CIT-P81162
//! @SYMTestType CIT
//! @SYMTestPriority High
//! @SYMPREQ 811
//! @SYMTestCaseDesc Views Concurrent Recovery and Compression test
//! @SYMTestActions Add 10 contacts
//! Set all contact fields
//! 
//! Start compression/recovery in separate thread
//! Create local view 	
//! End compression/recovery in separate thread
//! Check create view error
//! 	
//! Recreate Local View
//! Wait for  view to get populated
//! Check view contains correct Fields
//! 
//! Repeat test for remote views and for local views calling the PL directly.
//! @SYMTestExpectedResults View creation will fail with error KErrNotReady for remote view when compression/recovery is started in the other thread
//! All checks should pass, View can still be created once database has transitioned into writable state
RUN_TEST_STEP 100 CntPerfTestServer ContactViewTest c:\CntPerfTest\configs\cntperftest.ini ConcurrentCNR
RUN_TEST_STEP 100 CntPerfTestServer ContactViewTest c:\CntPerfTest\configs\cntperftest.ini Recover_ConcurrentCNR
END_TESTCASE PIM-APPENG-CNTMODEL-CIT-P81162